マスターノード ≠ コントロールプレーン
Kubernetesのクラスタにおいてクラスタ管理のみに徹する役割をコントロールプレーンという。てっきり言葉遊びでマスターノードとコントロールプレーンは同じ意味だと思っていたが全く違った。
正確にはマスターノードの役割の中の1つにコントロールプレーンを含む。らしい。
コントロールプレーンの対義語は
実際のコンテナが動く役割を「データプレーン」という。
つまり図にするとこういう事
kubeadmで構築するときの1台目のノードは?
あれは当然最初コントローラーも動いているのでマスターノードである。その後ノードを追加する際にワーカーノードとするか、コントロールプレーンも含んだノード、いわゆるマスターノードにするかは任意となる。
マスターノードとワーカーノードの違いは?
どのノードにもコントロールプレーンもデータプレーンを乗せられるので、構築1台目のノードみたいにマスターノードだけどコントロールプレーンだけではなくデータプレーンも持つことはできる。
が、一般的にKubernetesのクラスタを管理するノードと実際にコンテナを動かすノードは別れていたほうが障害に強いのでマスターノードにはコントロールプレーンしか乗せなくなる。
これが最初のマスターノード = コントロールプレーンと誤解してしまったんだと思う
kubeadmについては以下の本がめっちゃ詳しかった