K 8 Sクラスタ起動エラーkubelet cgroup driver:“cgroupfs”is different from docker cgroup driver:“systemd”


K 8 Sクラスタ起動エラー報告kubelet cgroup driver:“cgroupfs”is different from docker cgroup driver:“systemd”
マスターノードが初期化されたとき、dockerは以下のように構成され、cgroup driverを設定するのを忘れました:“systemd
vim /etc/docker/daemon.json
{
  "exec-opts": ["native.cgroupdriver=cgroupfs"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2",
  "storage-opts": [
    "overlay2.override_kernel_check=true"
  ],
  "registry-mirrors": ["https://pf5f57i3.mirror.aliyuncs.com"]
}
k 8 sマスターノードはk 8 sをインストールし、エラーメッセージがあったが起動し、他のマスターノードとnodeノードが参加するのも正常で、クラスタ全体がReadyであることを見て、マスターノードの/etc/docker/daemonを修正する.json,native.cgroupdriver=systemdは、kubeletの再起動を変更した後、3つのプライマリノードが起きられないことに気づいた.
journalctl-f-u kubeletログを表示すると、次のエラーが表示されます.
kubelet cgroup driver: “cgroupfs” is different from docker cgroup driver: “systemd”
ここでは3つのプロファイルをsystemdに変更します
1.vim/etc/docker/daemon.json
“exec-opts”: [“native.cgroupdriver=systemd”]
2.vim/usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf
KUBELETでKUBECONFIG_ARGS後に追加--cgroup-driver=systemd
Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --cgroup-driver=systemd"
3.vim/var/lib/kubelet/kubeadm-flags.env
KUBELET_KUBEADM_ARGS="--cgroup-driver=systemd --network-plugin=cni --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.2"
systemctl daemon-reload systemctl restart kubelet
そしてkubeletを再起動すると、k 8 sクラスタは回復します.