GNU/Linux >> Linux の 問題 >  >> Linux

基本的なKubernetesコンポーネントのシステム管理者ガイド

一般的なKubernetes(K8sとも呼ばれる)クラスターは、コントロールプレーンで構成されます ノードと少なくとも1つのワーカーノード

このチュートリアルでは、Kubernetesアーキテクチャと、コントロールプレーンおよびワーカーノードのコンポーネントについて説明します。 api-serverなどのアーキテクチャと機能について説明します。 、スケジューラー etcd 、およびコントロールマネージャー 。ワーカーノードでは、 kubectlに関する詳細を説明します。 、 kubelet 、および kube-proxy

Kubernetesアーキテクチャ

kubernetes.ioからの画像

上の図から、コントロールプレーンがスケジューリングなどのグローバルな決定を行い、クラスターの詳細をデータストア(etcd)に保持していることがわかります。また、デプロイメントで説明されているようにレプリカを維持するなど、クラスターイベントにも応答します。

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

では、Kubernetesコントロールプレーンとは何ですか?
簡単に言うと、コントロールプレーンはクラスターのグローバルな意思決定者であり、スケジューリングを制御します。また、クラスター全体の動作を維持する役割も果たします。コンテナ化されたアプリは、デプロイごとに割り当てられたメモリに基づいてワーカーノードでスケジュールされます。また、クラスターイベントにも応答します。たとえば、コントロールプレーンは、レプリカセットの値が満たされない場合に新しいポッドを開始/終了します。 Kubernetesコントロールプレーンは、論理的な意思決定を行うクラスターの頭脳であると言えます。

[読者も気に入った:KubernetesのデプロイをKnativeサービスに変える]

コントロールプレーンには、次のコンポーネントがあります。

APIサーバー(別名kube-apiserver)

APIサーバーは、KubernetesAPIを公開するKubernetesフロントエンドです。また、ポッド、サービス、デプロイメント、レプリケーションコントローラーなどのAPIオブジェクトのデータを検証および構成します。 APIサーバーはREST操作を処理し、他のすべてのコンポーネントが相互作用するクラスターの共有状態へのフロントエンドを提供します。

etcd(データストア)

etcdデータストアはKubernetesバックエンドであり、キーと値のペアでクラスター情報が含まれています。 Kubernetesには、望ましい状態の概念があります。 および実際の状態 。 Kubernetesはetcdを使用してこれら2つの状態を監視します。それらが分岐する場合、Kubernetesは実際の状態と目的の状態を調整するために変更を加えます。これは、etcd分散データストアを使用して監視されます。

kube-scheduler

kube-schedulerは、メモリ使用量に基づいて、主にスケジュールされていないポッドを関連するノードに割り当てるコントロールプレーンコンポーネントです。ネットワークポリシーなどの特定のアプリケーション要素のノードを設定する際に、メモリ使用量とハードウェア/ソフトウェアの制約が考慮されます。

kube-control-manager

kube-control-managerは、制御プロセスを実行するコントロールプレーンコンポーネントです。一般に、制御プロセスは、特定の時間の任意のアプリケーションで、目的の状態を現在の状態と等しくすることに焦点を当てたループです。

ワーカーノードコンポーネント

ワーカーノードとは何ですか?
ワーカーノードはコンテナ化されたアプリケーションを実行し、コントロールプレーンのapi-serverに継続的にレポートします その健康について。

次のコンポーネントがあります:

クベレット

kubeletは、Kubernetesクラスター内の各ノードで実行されるエージェントであり、ポッド内のコンテナーが実行され、正常であることを確認します。ポッドのヘルス情報を中継するために、KubernetesAPIと継続的に通信します。

kube-proxy

kube-proxyは、Kubernetesクラスター内の各ノードで実行されるネットワークプロキシです。すべてのノードでネットワークルールを維持し、クラスター内外のポッド要素間のスムーズな通信を可能にします。

コンテナランタイム

これは、クラスターノード内でコンテナーを実行する役割を担うソフトウェアです。例としては、CRI-O、containerd、Dockerなどがあります。

[この無料の電子書籍を入手する:ダミーのKubernetesクラスターを管理する。 ]

次は何ですか?

この2つのブログ投稿では、Kubernetesアーキテクチャとそのコンポーネントについて説明しました。仮想マシン、コンテナの概念、Kubernetesの基本的なクラスタアーキテクチャを説明するために、謙虚でシンプルな努力をしました。

[KubernetesとOpenShiftの違いは、この新しい電子書籍に記載されています。 ]

参照:Kubernetesコンポーネント


Linux
  1. UbuntuにLAMPをインストールするための基本ガイド

  2. 電子メールサーバーを構成するためのシステム管理者ガイド

  3. VultrのLinuxコントロールパネルのガイド

  1. SELinuxのシステム管理者ガイド:大きな質問に対する42の回答

  2. システム管理者とは何ですか?

  3. VultrのLinuxコントロールパネルのガイド

  1. Linuxパーミッションのビギナーズガイド

  2. ネットワーク管理に関するシステム管理者ガイド

  3. 基本的なNginxのトラブルシューティング