見習いインフラエンジニアがkubernetesを本気で勉強してみている話 その2ノード編Node
前回に引き続きDockerから更に発展してkubernetesを学んでいるので、学んだことをつれづれなるまゝに自分の整理の為にも綴っておこうと思います。
前回はこちら
見習いインフラエンジニアがkubernetesを本気で勉強してみている話 その1 ポッド編 — t.fujisawa — Medium
ノードとは何か??
Kubernetesの概念の一つである「ノード(Node)」は、クラスタ内でコンテナ化されたアプリケーションを実行する物理または仮想のマシンを指します。
ノードは、クラスタの計算リソースを提供し、
ポッド(Pod)を実行する場所として機能します。
ノードの役割
1.まずは何と言っても「コンテナ化されたアプリケーションを実行する場所」です。
各ノードは複数のポッドをホストし、それらのポッドがクラスタ全体で実行される計算リソースを提供します。
2.クラスタ管理
Kubernetesはノードを監視し、状態管理を行います。
ノードが正常に動作しているかどうかを定期的にチェックし、必要に応じて自動的に修復します。また、新しいノードがクラスタに追加された際に、そのノードをクラスタに統合します。
3.ノードのラベリング
Kubernetesでは、ノードに対してラベルを付けることができます。
これにより、特定のノードが特定のポッドを実行するように指定することができます。例えば、特定のノードに特定のハードウェアリソースが備わっている場合、そのノードに対して適切なラベルを付け、特定のポッドをそのノードにスケジューリングすることができます。
例)ノードにラベルを追加
kubectl label nodes <node-name> <label-key>=<label-value>
ノードに付与されたラベルを確認
kubectl get nodes --show-labels
4.ノードに役割を振れる
Kubernetesでは、ノードに役割を割り当てることができます。
例えば、マスターノードとワーカーノードという2つの主要な役割があります。
マスターノードは、クラスタ全体の管理を担当し、
ワーカーノードは実際のアプリケーションの実行を担当します。
まとめ
ノードはKubernetesクラスタ内でコンテナ化されたアプリケーションを実行するための物理または仮想のマシンであり、クラスタ全体の計算リソースを提供します。
ノードの追加や削除、ラベリングなどの管理操作は、Kubernetesの効果的な運用に不可欠です。