安装
containerd
apt show containerd
apt install containerd apt install containernetworking-plugins
whereis runc
sudo apt install -y cri-tools
kubeadm
ubuntu
sudo apt-get update sudo apt-get install -y apt-transport-https ca-certificates curl gpg
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.32/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg apt-get install -y kubelet kubeadm kubectl
# 1. 列出 kubeadm 需要的所有镜像
kubeadm config images list --kubernetes-version=v1.36.4
# 2. 逐个拉取(v1.36.4 需要的镜像大致如下,具体以第一步的输出为准)
images=(
"registry.k8s.io/kube-apiserver:v1.36.4"
"registry.k8s.io/kube-controller-manager:v1.36.4"
"registry.k8s.io/kube-scheduler:v1.36.4"
"registry.k8s.io/kube-proxy:v1.36.4"
"registry.k8s.io/pause:3.9"
"registry.k8s.io/etcd:3.5.16-0"
"registry.k8s.io/coredns/coredns:v1.12.0"
)
for img in "${images[@]}"; do
docker pull "$img"
docker save "$img" -o "${img//\//_}.tar"
done
创建 crictl 配置文件(消除 WARN
sudo tee /etc/crictl.yaml <<'EOF'
runtime-endpoint: unix:///run/containerd/containerd.sock
image-endpoint: unix:///run/containerd/containerd.sock
timeout: 10
debug: false
EOF
Q&A
- kubeadm ini 出现 [ERROR CRI]: could not connect to the container runtime rpc error: code = Unimplemented desc = unknown service runtime.v1.RuntimeService
把 disabled_plugins = ["cri"] 注释掉或删除即可
sudo nano /etc/containerd/config.toml
-
需要关闭swap 查看kubectl 是否正常启动 sudo journalctl -u kubelet -n 100 --no-pager
-
单节点需要 kubectl taint nodes shingi node-role.kubernetes.io/control-plane:NoSchedule-