この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。

Kubernetesにおけるノードの役割

このセクションでは、Kubernetesにおけるetcdノード、コントロールプレーンノード、ワーカーノードの役割と、それらの役割がクラスター内でどのように連携するかについて説明します。

この図は、xref:cluster-deployment/launch-kubernetes-with-rancher.adocでRKEを使用してRancherで起動されたKubernetesクラスターに適用されます。

クラスターダイアグラム
Figure 1. ラインはコンポーネント間のトラフィックフローを示しています。色は視覚的な補助のためにのみ使用されます。

etcd

`etcd`の役割を持つノードはetcdを実行します。etcdは、Kubernetes’のすべてのクラスターデータのバックストアとして使用される、一貫性があり高可用性のキー・バリュー・ストアです。etcdはデータを各ノードに複製します。

`etcd`の役割を持つノードはUIで`Unschedulable`として表示され、デフォルトではこれらのノードにポッドはスケジュールされません。

コントロールプレーン

`controlplane`の役割を持つノードはKubernetesのマスターコンポーネントを実行します(`etcd`は別の役割のため除外されます)。コンポーネントの詳細なリストについては、 Kubernetes: マスターコンポーネントを参照してください。

`controlplane`の役割を持つノードはUIで`Unschedulable`として表示され、デフォルトではこれらのノードにポッドはスケジュールされません。

kube-apiserver

Kubernetes APIサーバー(kube-apiserver)は水平スケーリングします。`controlplane`の役割を持つ各ノードは、Kubernetes APIサーバーにアクセスする必要があるコンポーネントを持つノードのNGINXプロキシに追加されます。これは、ノードが到達不能になると、そのノードのローカルNGINXプロキシがリスト内の別のKubernetes APIサーバーにリクエストを転送することを意味します。

kube-controller-manager

Kubernetesコントローラーマネージャーは、Kubernetes内のエンドポイントを使用してリーダー選挙を行います。`kube-controller-manager`のインスタンスはKubernetesエンドポイントにエントリを作成し、設定された間隔でそのエントリを更新します。他のインスタンスはアクティブなリーダーを確認し、そのエントリが期限切れになるのを待ちます(例えば、ノードが応答しない場合)。

kube-scheduler

Kubernetesスケジューラーは、Kubernetes内のエンドポイントを使用してリーダー選挙を行います。`kube-scheduler`のインスタンスはKubernetesエンドポイントにエントリを作成し、設定された間隔でそのエントリを更新します。他のインスタンスはアクティブなリーダーを確認し、そのエントリが期限切れになるのを待ちます(例えば、ノードが応答しない場合)。

ワーカー

`worker`の役割を持つノードはKubernetesノードコンポーネントを実行します。コンポーネントの詳細なリストについては、 Kubernetes: ノードコンポーネントを参照してください。