Kubernetesのデプロイメントの送信からポッドの実行までのプロセス全体

Kubernetesのデプロイメントの送信からポッドの実行までのプロセス全体

ユーザーが Kubernetes にデプロイメントを作成するリクエストを送信すると、Kubernetes がリクエストを受信して​​から、それを実行する対応するポッドを作成するまでのプロセス全体で何が起こるのでしょうか?

Kubernetesアーキテクチャの簡単な紹介

デプロイメントの送信からポッドの実行までのプロセス全体を理解する前に、Kubernetes クラスターのアーキテクチャを見てみましょう。

上記の画像は次の画像と同じです。

図に示すように、k8s クラスターはコントロール プレーンとノード ノードに分かれています。

コントロール プレーン (マスター ノードとも呼ばれます) は、主に次のコンポーネントで構成されます。

  • kube-api-server: 名前が示すように、クライアントからのリクエストやクラスターの内部コンポーネントを含むすべての API を処理する役割を担います。
  • etcd: 分散永続ストレージ、イベントサブスクリプション通知。 kube-api-server のみが etcd を直接操作し、他のすべてのコンポーネントは kube-api-server と対話します。
  • スケジューラ: ポッドのスケジューリングを処理し、ポッドを特定のノードにバインドします。
  • コントローラー マネージャー: コントローラーは、さまざまなリソース オブジェクトを処理します。
  • クラウド コントローラー マネージャー: クラウド サービス プロバイダーに接続するコントローラー。

Node は、ユーザー アプリケーションのデプロイ専用であり (k8s のコア コンポーネントに影響を与えないようにコントロール プレーンから分離されています)、主に次のコンポーネントが含まれます。

  • kubelet: ノード上のポッドを管理し、ステータスのチェックとレポートを実行します。
  • kube-proxy: トラフィックのルーティングと転送を実行します (現在は、オペレーティング ノードの iptables または ipvs を通じて実装されています)。
  • CRI: コンテナ ランタイム インターフェース。

デプロイメントからポッドへ

デプロイメントからポッドまでのプロセス全体を次の図に示します。

1. kube-api-serverにリクエストが送信される

リクエストは kube-api-server に送信され、認証、承認、変更、検証などの一連のプロセスが実行されます。最後に、デプロイメント データは etcd に永続的に保存されます。

このプロセスでは、ミューテーション アドミッション Webhook を使用して、サイドカーの挿入など、リソース オブジェクトに任意の変更を加えることができます。

2. コントローラマネージャの処理

コントローラー マネージャー コンポーネントには、さまざまなリソース オブジェクトごとに異なる処理部分があります。

Deployment の場合、Pod を直接管理しないため、Deployment が ReplicaSet を管理し、ReplicaSet が Pod を管理します。

したがって、コントローラー マネージャーには 2 つの部分が関係します。

  • デプロイメント コントローラー
  • レプリカセット コントローラー

(1)まず、デプロイメントコントローラはデプロイメント作成イベントをリッスンし、関連する処理を実行し、最後にレプリカセットを作成します。

(2)レプリカセットコントローラはレプリカセット作成イベントをリッスンし、関連する処理を実行し、最後にポッドを作成します。

3. スケジューラ

ポッドをスケジュールする必要があるというイベントを受信すると、スケジューラは一連のスケジューリング ロジック処理を実行し、最終的に適切なノードを選択してポッドをこのノードにバインドします (ここでのいわゆるノード スケジューリングは、ポッド データを変更し、nodeName に値を割り当てるだけです)。

具体的なスケジューリング アルゴリズムは比較的複雑で、必須スケジューリング、アフィニティと反アフィニティ、汚染と許容度、ハードウェア リソースの計算、優先順位などが関係しますが、この記事では詳しく説明しません。

4. ノード kubelet 処理

スケジューリングが完了すると、ポッドがバインドされているノード上の kubelet も kube-api-server を介して対応するイベントを受信し、その後 kubelet がポッドを作成します。

このプロセス中、kubelet はそれぞれ CRI、CNI、CSI を呼び出します。

  • CRI (コンテナ ランタイム インターフェース): コンテナ ランタイム インターフェース。 CRI プラグインは、イメージのプル、コンテナの作成と削除などの操作を実行します。 CRI のよく使われるプラグインをいくつか紹介します。
  • コンテナ
  • クリオー
  • Docker エンジン
  • CNI (コンテナ ネットワーク インターフェイス): コンテナ ネットワーク インターフェイス。 CNI プラグインは、ポッドに IP アドレスを割り当て、ポッドがクラスター内の他のポッドと通信できるようにします。一般的な CNI プラグイン:
  • 繊毛
  • カリコ
  • CSI (コンテナ ストレージ インターフェイス): コンテナ ストレージ インターフェイス。 CSI プラグインは、外部ストレージ プロバイダーと通信して、ボリュームの接続やマウントなどの操作を実行します。

いわゆるインターフェースは、実際には通信の仕様または標準 (grpc プロトコルを使用) のみを定義し、具体的な実装はプラグインに引き渡されます。

ここまでが、デプロイメントの作成からポッドの実行までの Kubernetes のプロセス全体です。

<<:  Kubernetes の導入戦略を 1 つの記事で理解する

>>:  OneMind Technologyは中国のエッジパブリッククラウドサービス市場で3年連続3位にランクイン

推薦する

企業のウェブサイトコンテンツ構築では、スパイダーを引き付けるためにオンサイトスプロケットを実装しています

誰かがこう言ったのを覚えています。「自分の家を掃除できないのに、どうして世界を掃除できるというのか?...

エッジコンピューティングは将来のイノベーションの基盤となる

エンタープライズ テクノロジーの他の注目の新しい分野と同様に、エッジ コンピューティングは、特定のソ...

インテルが新しいチップロゴを発表し、パフォーマンスの星評価を導入(写真)

北京時間4月7日、海外メディアの報道によると、米国の半導体大手インテルは先日、4月1日から同社の半導...

ちょっと立ち止まって美しい女の子を送ってください

そのウェブサイトは午後中ずっと CC に攻撃され、ちょっと不愉快でした。「狂犬に噛まれたら、狂犬も噛...

シスコ:3年後にはほぼすべてのデータセンターのワークロードがクラウドベースになる

シスコの新しいレポートによると、クラウド サービスは非常に普及しており、今後 3 年以内にデータ セ...

年間モバイルアプリ購入に関するホワイトペーパー

「年間モバイルアプリ購入量白書」が発表され、2019年のモバイルアプリ購入量の市場動向と変化を詳細に...

必須の Kubernetes ツール (2021 年版)

導入この記事では、最新かつあまり一般的ではない Kubernetes エコシステム ツールの概要をま...

クリスマス: webhostingbuzz-50% オフ/ウェブホスティング/VPS/サーバー

クリスマスが近づいており、人気の webhostingbuzz が半額プロモーションを開始し、サイト...

マイクロサービスアーキテクチャによる分散トランザクションソリューション

[[426291]]ビジネスの急速な発展とビジネスの複雑性の増大に伴い、従来のモノリシック アプリケ...

ウェブサイトを最適化する過程で、SEO担当者は徐々に独自の最適化思考システムを確立する必要がある。

ご存知のとおり、ウェブサイトの運用とメンテナンスの最適化は体系的なプロセスです。業界やウェブサイトの...

デジタルオーシャンはどうですか? [年] Digitaloceanのシンガポールデータセンターの簡単なレビュー

デジタルオーシャンはどうですか? DigitalOcean のネットワークの現在の状況はどうですか?...

ramnode-38% オフ/VPS/3 つのデータ センター/無料 DNS サービス

ramnode のファンの皆様、ramnode の VPS が現在販売中です。38 % 割引コード:...

Justhost: モスクワ データライン データセンターの無制限トラフィック VPS の簡単なレビュー

多くの人が justhost をよく知っているはずです。使用したことがある人は、基本的にその選び方を...

アリババクラウドは今年さらに5,000人を採用し、大規模な技術人材を導入する

6月9日、2020年アリババクラウドサミットで、アリババクラウドインテリジェンス社長の張建鋒氏は、ア...

OpenStack の運用と保守は不可欠です。 Ketong Cloudの2つのサービスモードが保証されています

技術の観点から見ると、クラウドコンピューティングは主にIaaS、PaaS、SaaSに分けられます。 ...