← すべての問題
Kubernetes アーキテクチャの主なコンポーネントは何ですか?またそれぞれの役割は何ですか?
まれ中級DevOps

Kubernetes アーキテクチャの主なコンポーネントは何ですか?またそれぞれの役割は何ですか?

要点
Kubernetes クラスターは、グローバルな意思決定を行うコントロール プレーンに分割され、 ワークロードを実行するワーカー ノード。コントロールプレーン: kube-apiserver、etcd、 kube-scheduler、kube-controller-manager、およびオプションの Cloud-controller-manager。 ノード: kubelet、kube-proxy、コンテナー ランタイム。

Kubernetes クラスターは、コントロール プレーン と、ポッドでコンテナ化されたアプリケーションを実行する ノードと呼ばれる一連のワーカー マシンで構成されます。すべてのクラスターには、ポッドを実行するために少なくとも 1 つのワーカー ノードが必要です。

概念的には、Kubernetes は 宣言的です。つまり、望ましい状態を API サーバー (etcd に保存されている) に送信すると、コントローラーが継続的な調整ループを実行して差異を監視し、実際の状態を望ましい状態に近づけるように動作します。

コントロールプレーンコンポーネント

コントロール プレーンは、クラスターに関するグローバルな決定 (スケジューリングなど) を行い、クラスター イベントに応答します。実稼働環境では通常、高可用性を実現するために複数のマシンで実行されます。

  • kube-apiserver — Kubernetes HTTP API を公開するコア コンポーネント。これはコントロール プレーンの フロント エンドであり、単一の連絡先です。すべての認証、認可、リクエストの検証、およびクラスター状態の読み取り/書き込みがここを通過します。水平方向に拡大縮小します。通常のデプロイメントでは、etcd でクラスター状態を直接読み書きする唯一の Kubernetes コンポーネントです。他のすべてのコンポーネントは API サーバーを通じて状態と対話します。
  • etcd — すべてのクラスター データ (構成、状態、メタデータ) の Kubernetes のバッキング ストアとして使用される、一貫性と可用性の高いキーと値のストア。 etcd は必須であり、信頼できる唯一の情報源です。これを失うことは、すべてのクラスター状態を失うことを意味するため、クォーラム (奇数のメンバー) で実行し、定期的にバックアップする必要があります。
  • kube-scheduler — まだノードにバインドされていない Pod を監視し、リソース、制約、ポリシーを考慮して各 Pod を適切なノードに割り当てます。
  • kube-controller-manager — Kubernetes API の動作を実装するコントローラー (ノード コントローラー、ジョブ コントローラー、EndpointSlice コントローラーなど) を実行します。各コントローラーは望ましい状態を監視し、実際の状態をそれに向けて調整します。
  • cloud-controller-manager (オプション) - 基盤となるクラウド プロバイダーと統合し、クラウド固有のロジックをコア Kubernetes コンポーネントから分離します。

ノードのコンポーネント

これらはすべてのノードで実行され、ポッドの実行を維持し、ランタイム環境を提供します。

  • kubelet — ポッドがコンテナを含めて実行されていることを確認するエージェント。 API サーバーでポッドの割り当てを監視し、ランタイム経由でコンテナを開始し、ボリュームをマウントし、liveness/readiness プローブを実行し、ノードのステータスを報告します。
  • kube-proxy — ノード上で iptables または IPVS ルールをプログラミングすることでサービス ネットワーキングを実装し、サービスへのトラフィックが正しいポッド IP に転送されるようにします。一部の CNI プラグイン (eBPF モードの Cilium など) がそのジョブを引き継ぐため、オプションとしてマークされていますが、標準クラスターでは必須です。
  • コンテナ ランタイム — コンテナ (CRI インターフェイスを介した containerd、CRI-O など) の実行を担当するソフトウェア。

アドオン

アドオンはクラスター機能を拡張します: クラスター DNS (デフォルトでは CoreDNS)、ダッシュボード Web UI、コンテナー リソースの監視、およびクラスター レベルのログ。

共通のフォローアップ: すべての通信は API サーバーを介して流れます。スケジューラー、コントローラー、kubelet は単に監視して反応するだけです。これにより、API サーバーがクラスターの重要なハブになります。

Kubernetesコンテナ建築

今すぐダウンロードして、自分の課題で無料で試そう!

Windows版をダウンロード
10 15 クレジット無料 • クレジットカード不要バージョン: 読み込み中…

インストール不要 - ダウンロードして起動。登録不要 - Googleでログイン。