指定k8s版本来构建集群

安装

如果已经安装了,就先删除一次。

sudo kubeadm reset
sudo apt purge kubelet kubeadm kubectl

获取版本列表

apt list -a kubeadm

在执行apt-get install时,要指定版本。这次我们尝试指定1.22.11版本。

文档 – 安装kubeadm

# 必要パッケージ
sudo apt-get update && sudo apt-get install -y apt-transport-https curl

# gpgキー
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -

# リポジトリ
cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF

# バージョンを指定してインストール
sudo apt-get update
sudo apt-get install -y kubelet=1.22.11-00 kubeadm=1.22.11-00 kubectl=1.22.11-00
sudo apt-mark hold kubelet kubeadm kubectl

构建集群

kubeadm init \
    --control-plane-endpoint=<CONTROL_PLANE_IP> \
    --apiserver-advertise-address=<CONTROL_PLANE_IP> \
    --pod-network-cidr=<POD_CIDR> \
    --kubernetes-version=1.22.11

如果Docker和containerd共存,并且想要使用containerd的话

kubeadm init \
    --control-plane-endpoint=<CONTROL_PLANE_IP> \
    --apiserver-advertise-address=<CONTROL_PLANE_IP> \
    --pod-network-cidr=<POD_CIDR> \
    --kubernetes-version=1.22.11 \
    --cri-socket=/run/containerd/containerd.sock

※参考

$ kubeadm init -h
...
      --cri-socket string                    Path to the CRI socket to connect. If empty kubeadm will try to auto-detect this value; use this option only if you have more than one CRI installed or if you have non-standard CRI socket.
...
      --kubernetes-version string            Choose a specific Kubernetes version for the control plane. (default "stable-1")
...
广告
将在 10 秒后关闭
bannerAds