Skip to content

安装

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-