動かざることバグの如し

近づきたいよ 君の理想に

マスターノード = コントロールプレーンではない

マスターノード ≠ コントロールプレーン

Kubernetesクラスタにおいてクラスタ管理のみに徹する役割をコントロールプレーンという。てっきり言葉遊びでマスターノードとコントロールプレーンは同じ意味だと思っていたが全く違った。

正確にはマスターノードの役割の中の1つにコントロールプレーンを含む。らしい。

コントロールプレーンの対義語は

実際のコンテナが動く役割を「データプレーン」という。

つまり図にするとこういう事

スクリーンショット 2022-08-22 7.16.28.png

kubeadmで構築するときの1台目のノードは?

あれは当然最初コントローラーも動いているのでマスターノードである。その後ノードを追加する際にワーカーノードとするか、コントロールプレーンも含んだノード、いわゆるマスターノードにするかは任意となる。

マスターノードとワーカーノードの違いは?

どのノードにもコントロールプレーンもデータプレーンを乗せられるので、構築1台目のノードみたいにマスターノードだけどコントロールプレーンだけではなくデータプレーンも持つことはできる。

が、一般的にKubernetesクラスタを管理するノードと実際にコンテナを動かすノードは別れていたほうが障害に強いのでマスターノードにはコントロールプレーンしか乗せなくなる。

これが最初のマスターノード = コントロールプレーンと誤解してしまったんだと思う

スクリーンショット 2022-08-22 7.16.18.png

kubeadmについては以下の本がめっちゃ詳しかった