Member-only story
つまりKubernetesの役割って?Part3
今回は Kubernetesの役割についての記事です。長い記事なので、5回に分けて投稿いたします。今回は第3回目です。
The basic building blocks of Kubernetes
さて、Kubernetesが提供するビルディングブロックを見てみましょう。他のk8sチュートリアルでは、これらのオブジェクトがやや無造作に提示されていることが多いでしょう。その代わりに、基本的なことから始めて、それらがどのようにお互いに積み重なっていくのかを見ていきます。
理解すべき最も重要な2つのビルディングブロックは、ノードとポッドです。この2つを理解していれば、あとは問題ありません。
Your stuff runs on nodes
先ほど「ノード」について触れましたが、Kubernetesを使っていると、この言葉をよく耳にします。ノードとは、簡単に言えば、Kubernetesのワークロードが実行される論理的なマシンと定義できます
この定義の最初の部分である「論理マシン」とは、ノードが物理的なハードウェアでも、物理的なハードウェア上で動作する仮想マシンでも表現できることを意味します。実際、ノードは、最終的に物理的なハードウェア上で動作する別の仮想マシンの中で動作する1つの仮想マシンを表すこともできます。
これは開発者にとってどのような意味を持つのでしょうか?基本的には、ノードが何に対応しているのかは分かりませんし、気にする必要もありません。気になるのは、クラスタ内にリソース制限のある論理マシンが1つ以上作成されていて、それぞれのコンテナがそのマシンに割り当てられていることだけです。(そうとは限りませんが。Kubernetesを使いこなせるようになれば、コンテナを実行するノードを指定することも可能ですが、ほとんどの開発者が気にする必要のないことです)
クラスタ内のノードの能力(利用可能なメモリ、利用可能なCPUなど)はさまざまです。Kubernetesの仕事の一部は、コンテナのリソース要件を満たすノード上でコンテナを実行することです。
また、クラスターは単一のノードで構成されることもあることにも注目したい。実際、MiniKubeもDocker Desktopも、ローカルコンピュータ上の1つのVM内で動作するシングルノードのクラスタを提供しています。ご想像のとおり、1つのノードで複数のコンテナを起動して実行することは可能であり、一般的です。
前述の通り、Kubernetesのコントロールプレーンは、クラスタ内のノードで動作する複数のコンポーネントで構成されています。開発者であるあなたがこれらのコンポーネントについて知る必要はないことは繰り返し述べておきますが、興味…