kubeadmで”cri-o configured with systemd cgroup manager, but did not receive slice as parent”エラーが出たときの対処法

kubeadmを使ってkubernetesをインストールする時に、”cri-o configured with systemd cgroup manager, but did not receive slice as parent”エラーが出たときの対応方法を記します。

  • 環境情報
  • 解決方法

環境情報


本エラーが出て解決した環境情報は以下の通りです。

OS: Ubuntu 18.04 LTS
コンテナエンジン: CRI-O v1.17
kubernets関連: kubeadm v1.17, kubelet v1.17, kubectl v1.17

解決方法


本エラーは、CRI-Oはcgroupがsystemdなのに対し、kubeletのcgroupが指定されていないことで起こったエラーです。従って、kubeletのcgroupを指定する必要があります。

以下のコマンドでkubeletの設定ファイルを編集し、起動コマンドにcgroup-driverオプションを使って、systemdを指定します。

$ sudo vi /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
→ 以下の行に、--cgroup-driver="ststemd"を追加します。
ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS --cgroup-driver="systemd"

設定後は、以下のコマンドでサービスを再起動します。

ubuntu@ip-172-31-10-183:~$ sudo systemctl daemon-reload
ubuntu@ip-172-31-10-183:~$ sudo systemctl restart kubelet

再度kubeadm initを実施すると、エラーが解消されます。

以上です。