💭
k8s構築奮闘記
こんにちは、ここあです。
k8s環境の構築に手間取って朝5時に寝たものの、始業はいつもと変わらず9時なのでとても眠いです。
月曜から夜ふかし。
環境
- ubuntu 22.04
- containerd 1.6.32
- k8s 1.29.5
- ubuntu server 22.04
- containerd 1.6.12
- k8s 1.29.5
困っていたこと
- マスターもワーカーも無限にNotReadyになる
- CNIが無限にReady再起動を繰り返す
- CNIがうまく動かないのでマスターが動かず、なのでスケジューラも動かず、そしてすべてが動かない
まずは結論
いろいろ試しましたが、最終的には
sudo apt install containerd
そう、containerdのバージョンを上げてみた。
解決しました。。。。
が、この記事を書いているときに見てみるとまた無限にCrashしている。あとで調査。
試したこと
1. k8sのリセット
運が良いことに、構築段階での問題なので、気軽にリセットすることができます。
リセット
sudo kubeadm reset
sudo rm -rf /etc/cni/net.d
sudo rm -rf /var/lib/etcd
sudo rm -rf ~/.kube
初期化
sudo kubeadm init --pod-network-cidr=10.200.0.0/16
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
無意味でした。
2. calicoの変わりにflannelを使用する
コマンドを残していなかったので作業詳細は省きます。
無意味でした。
3. RBAC色々いじった
RBACってなんやねんって感じになりながら、ChatGPTに教えてもらって試した。
無意味でした。
4. なんかDNS周りのエラーが出てる
こんな感じのログ
err="Nameserver limits were exceeded, some nameservers have been omitted
kubeletの設定を変えた。(そういえばこれ元にに戻してないな。。。)
※省略
5. なんか色々やりました
深夜テンションで朝5時までやったので作業を覚えていません。
ただ、無限に同じ設定を見直して、「あーでもないこーでもない」としていました
6. そしてcontainerdのアップデート
冒頭の結論に戻り、containerd
をダメ元でアプデしました。
再起動はしたけどアプデはしてなかったな。
これでひとまず動くようになりました。めでたし
まとめ
- 深夜テンションで作業をするな。
- 迷ったら最新バージョンを確認しよう(さておきk8s周りのバージョンって複雑だよね(?))
Discussion