Kubernetes デプロイメントのビジュアルマップ

Kubernetes デプロイメントのビジュアルマップ

Kubernetes でコンテナを使用する場合、多くの場合、アプリケーションをポッドにグループ化します。コンテナまたはポッドを本番環境にリリースすることをデプロイメントと呼びます。 Kubernetes を毎日または毎週使用している場合は、おそらくこれを何百回も実行したことがあるでしょうが、ポッドまたはデプロイメントを作成すると実際に何が起こるのか疑問に思ったことはありませんか?

一連の出来事を大まかに理解しておくと役に立つと思います。もちろん、理解する必要はありません。理由がわからなくても、それはまだ機能しています。起こった細かいことすべてを列挙するつもりはありませんが、重要なことはすべて網羅することを目指します。

これは、Kubernetes のさまざまなコンポーネントがどのように相互作用するかを示す視覚的なマップです。

ポッド チェーン 上記の図では、etcd が含まれていないことに気付いたかもしれません。 API サーバーは、etcd と直接通信できる唯一のコンポーネントであり、etcd に変更を加えることができる唯一のコンポーネントです。したがって、この図では、etcd は (隠し) API サーバーの背後に存在すると考えることができます。

また、ここでは 2 つのメイン コントローラー (デプロイメント コントローラーとレプリカ セット コントローラー) についてのみ説明しました。他のコントローラーも同様に動作します。

次の手順では、kubectl create コマンドを実行したときに何が起こるかについて説明します。

ステップ1

kubectl create コマンドを使用すると、デプロイメント マニフェストを含む API サーバーに HTTP POST リクエストが送信されます。 API サーバーはそれを etcd データ ストアに保存し、kubectl に応答を返します。

ステップ2と3

API サーバーには監視メカニズムがあり、それを監視しているすべてのクライアントに通知されます。クライアントは、通知をストリーミングする API サーバーへの HTTP 接続を開いて変更を監視します。これらのクライアントの 1 つはデプロイメント コントローラーです。デプロイメント コントローラーはデプロイメント オブジェクトを検出し、デプロイメントの現在の仕様でレプリカ セットを作成します。リソースは API サーバーに送り返され、etcd データ ストアに保存されます。

ステップ4と5

前の手順と同様に、API サーバーの変更についてはすべてのオブザーバーに通知されます。今回は、レプリカ セット コントローラーが変更を取得します。コントローラーは、必要なレプリカ数とオブジェクト仕様で定義されたポッドセレクターを理解し、ポッドリソースを作成し、この情報を API サーバーに送り返して etcd データストアに保存します。

ステップ6と7

Kubernetes にはポッドを実行するために必要なすべての情報が揃いましたが、ポッドはどのノードで実行すればよいでしょうか?スケジューラは、まだノードに割り当てられていないポッドを監視し、すべてのノードのフィルタリングとソートを開始して、ポッドを実行するのに最適なノードを選択します。ノードが選択されると、この情報がポッド仕様に追加されます。そして、API サーバーに送り返され、etcd データ ストアに保存されます。

ステップ8、9、10

これまでのすべての手順は、コントロール プレーン自体で実行されました。ワーカーノードはまだ作業を行っていません。ただし、ポッドの作成はコントロール プレーンでは処理されません。代わりに、すべてのノードで実行されている kubelet サービスは、API サーバーのポッド仕様を監視して、ポッドを作成する必要があるかどうかを判断します。スケジューラによって選択されたノード上で実行されている kubelet サービスは、ポッド仕様を取得し、ワーカーノード上のコンテナ ランタイムにコンテナを作成するように指示します。この時点で、コンテナ イメージがダウンロードされ (まだ存在しない場合)、コンテナが実際に実行を開始します。

Kubernetes のデプロイメントを理解する

この一般的なプロセスを理解すると、Kubernetes の多くのイベントを理解するのに役立ちます。 Kubernetes の DaemonSet または StatefulSet について考えてみましょう。ポッドの作成プロセスは、異なるコントローラーが使用されることを除いて同じです。

<<:  クラウドコンピューティングは建設業界のプロジェクト管理に革命を起こしている

>>:  通信会社はVMwareと提携してテクノロジーの巨人へと変貌する

推薦する

ZoroCloud: 期間限定で25%オフ、ファントムビーストパルサーバー、香港/米国デュアルISP住宅/Cera高防御/5ネットワーク必須CN2GIA/AS9929/香港日本および韓国VPS/専用サーバー

最近、「幻獣パル」というゲームが大人気で、ゾロクラウドもこの人気に加わり、誰でも楽しめる「幻獣パルサ...

テンセントと新浪はソーシャル電子商取引分野への参入を望んでいる。今年はこの業界で激しい競争の時期になるかもしれない。

利用者数、訪問数、資金調達などでリードするソーシャル電子商取引が頻繁に話題となると、インターネット大...

ベテランウェブマスターが語る: SEO 担当者の将来はどこにあるのでしょうか?

実は、SEOerの育成や将来という話題は、多くの人から言及されています。私が今日このような話題を繰り...

テンセントクラウドがインドネシアにデータセンターを開設、東南アジアでのクラウドサービス展開をさらに拡大

4月12日、テンセントクラウドはインドネシアで初のクラウドコンピューティングデータセンターを正式に開...

Kafka の設計原則を読んで忘れてしまい、もう一度読み返したことはありませんか?

メッセージキューとは何ですか?簡単に言えば、メッセージ キューはメッセージを保存するためのコンテナー...

#高トラフィックサーバー# bacloud-リトアニア/89 USD/E3-1230v6/16gDDR4/2x2T ハードディスク

リトアニアのホスティング プロバイダー bacloud についてお話ししましょう。親会社は UAB ...

10 ドル以下の安価な米国 VPS の概要 (追加歓迎)

昨今、VPS に対する人々の要求はますます高くなっています。特に中国人の VPS に対する要求は、ト...

11月のモバイルアプリTOP1000リスト

この記事では、11 月のモバイル インターネット業界のトップ 1000 ランキングを紹介します。注:...

Urpad 4 月の割引が再び登場: 512M メモリ VPS が年間 20 ドル (SSD キャッシュ追加)

urpad には、SSD キャッシュの追加とシアトル データ センターの追加という新しいアクションが...

カザフスタンの VPS: pqhosting、月額 3.77 ユーロから、1G メモリ/1 コア/15g SSD/G ポート無制限トラフィック

中央アジアのカザフスタン VPS は市場では珍しいようですね。現在、pq.hosting はカザフス...

メッセージングミドルウェアとして Kafka と RabbitMQ のどちらが優れていますか?

高い同時実行性と高いメッセージ スループットを重視する IM のインターネット シナリオでは、MQ ...

簡単な分析: Web ページの品質に影響を与える要因は何ですか?

サイト上のページの品質は、ウェブサイトの重みを決める最も重要な要素の 1 つです。ウェブサイトのコン...

v5net: 335元/月、香港独立サーバー、香港Alibaba CN2専用回線、e5-2630L/4gメモリ/240gSSD/5M帯域幅

V5 SERVERは香港と日本のT3レベルのハイエンドコンピュータルームで独立サーバーを主に運営して...

クラウド構成エラーは、主に企業のIT管理者のせいにされる

クラウド セキュリティに関しては、特に組織が最小権限アクセス モデルから逸脱した場合、従業員は組織に...

分散ストレージシステムにおける Raft と Paxos のアプリケーションの違い

この記事の目的:私は現在、Codeship の Galera から MariaDB Galera C...