LoginSignup
2
1

Ubuntu 22.04にKubernetes 1.29.3をdockerを使わずに導入しようとして凄く苦労した話

Posted at

前提

以下の条件の組み合わせで使用する場合のトラブルに対するTIPS。

  • Kubernetes 1.29.0以降
  • containerd
  • Ubuntu 22.04 (cgroup driverがsystemdのディストロは同様にハマるはず)

具体的な症状としては、必要なpod(例えばkube-apiserver)が起動しないため、nc 127.0.0.1 6443 -vなどを実行するとConnection refusedと表示される。

ちなみに、containerdの代わりにDockerを使ってKubernetesクラスタを構築する場合、cgroup driverの自動識別がされるため、気にしなくていいらしい[1]

結論

containerdの事前設定が必要。
具体的には以下のコマンドを実行する必要がある。

containerd config default | sudo tee /etc/containerd/config.toml >/dev/null 2>&1
sudo sed -i 's/SystemdCgroup \= false/SystemdCgroup \= true/g' /etc/containerd/config.toml

その後kubeletを再起動すれば良い。

systemctl daemon-reload
systemctl restart kubelet

まとめ

Kubernetesクラスタを構築すために初めて自分でkubeadmでKubernetesクラスタを構築しようとした。
古いドキュメントや参考文献をもとにクラスタの構築をしようとしたが、これが間違えだった。
Kubernetesはバージョンごとに導入・更新の注意点があるのできちんと最新版のドキュメントの注意事項を読みつつ、導入をすべきだった。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1