Table of Contents
CentOSの後継として開発されているAlmaLinuxの安定板がリリースされたので、Kubernetesの最新版をインストールしてみた話し。
CentOSの終焉
2020年12月8日にCentOSの公式ブログでCentOSがCentOS Streamにシフトするというアナウンスがあった。
CentOS StreamはRHELの開発版みたいなもので、メジャーバージョンしかなく(i.e. マイナーバージョンが無い)、リポジトリのYUMパッケージが随時最新版に置き換わっていくので、追随していけば最新の機能や修正を取り入れていけるという感じのもの。 逆に言えば固定的なバージョンが無いので、特定のバージョンをがっつり評価して導入みたいなことはできない。
ある時点のCentOS StreamからRHELの新バージョンがリリースされる。 つまり、リリースされたRHELをもとに開発されていた従来のCentOSとは逆。
これまでRHELの代わりにCentOSを使っていたユーザは、基本的にはお金払ってRHELに移行してねというのがRed Hatの意向。 実際、随時リポジトリのパッケージが入れ替わっていくCentOS Streamは、開発機くらいにしか使えない気がする。
AlmaLinux
CentOS終焉のアナウンスを受けて、従来のCentOSの後継として名乗りをあげたのがAlmaLinux。 従来のCentOS同様、リリースされたRHELをもとに開発されるOSSのRHELクローン。
プロダクションレディで、RHELとバイナリ互換があって、固定的なバージョンがある。 2029年までのサポートがコミットされている。 完璧。
これの初バージョンであるAlmaLinux 8.3が2021年3月30日にリリースされたので、触りがてらKubernetesをインストールしてみる。
因みに、同様にCentOSの後継としてRocky Linuxというのも立ち上がったけど、まだビジョンを語っている程度でちょっと出遅れた感じ。
AlmaLinuxのインストール
AlmaLinuxのインストールメディアイメージは公式サイト上部のDownload ISOsから取得できる。
VMware Playerで作ったメモリ4GB、CPU2コアのVMにダウンロードしたAlmaLinux-8.3-x86_64-dvd.isoを付けて起動したら、CentOSと全く同じ感じのインストール画面が出た。 Minimalでインストールした。
なんの問題もなくさっくり完了。
Kubernetesクラスタ構築
インストールしたAlmaLinux 8.3にシングルノード(マスタコンポとノードコンポ同居)のKubernetseクラスタを構築する。
構築に使うのは、いろいろカスタマイズするために自作したAnsibleプレイブックのansible-k8s。 以前CentOS 8にKubernetes 1.16をいれたことがあるので、その手順をなぞる。 今回入れるのはKubernetes 1.20.5。
すっと行くかと思ったら途中でModule nf_conntrack_ipv4 not found in directory /lib/modules/4.18.0-240.el8.x86_64
というエラーがでた。
どうもRHEL 8.3でnf_conntrack_ipv4はnf_conntrackにマージされた消え去ったらしいので、ansible-k8sのextra_vars.ymlに以下を追記してnf_conntrackをロードするようにする。
k8s_node__kernel_modules_to_load_for_ipvs:
- ip_vs
- ip_vs_rr
- ip_vs_wrr
- ip_vs_sh
- nf_conntrack
再度トライしたらインストール成功した。
[root@k8s-master ~]# cat /etc/almalinux-release
AlmaLinux release 8.3 (Purple Manul)
[root@k8s-master ~]# kubectl get node
NAME STATUS ROLES AGE VERSION
k8s-master.local Ready <none> 2d4h v1.20.5