Kubernetesの起源と運用プロセス

Kubernetesの起源と運用プロセス

  [[399278]]

[51CTO.com クイック翻訳] Kubernetes は、現代のマイクロサービスで最も有名なテクノロジーの 1 つです。コンテナ化されたアプリケーションのマイクロサービス クラスターの管理をよりシンプルかつ自動化することを目的としています。この記事では、このコア テクノロジーがどのように機能するかについての概念的な詳細を紹介します。

Kubernetesについて考える便利な方法は、コンテナ用の分散オペレーティング システムとして考えることです。 Kubernetes は、コンテナ (最も一般的には Docker コンテナ) と、その上で実行されるインフラストラクチャ コンテナの相互作用とスケーリングを調整するために必要なツールとコマンドを提供します。 Kubernetesは、さまざまなシナリオ向けに設計された汎用ツールです。非常に柔軟ですが複雑なシステムです。

Kubernetes ワーカーノードとコントロールプレーン

Kubernetesには、ワーカー ノードとコントロール プレーンの 2 つの側面があります。ワーカー ノードは、実際のコンテナ化されたアプリケーションと、必要なKubernetesツールが存在する場所です。コントロール プレーンは、クラスターを管理するためのツールが存在する場所です。図 1 は、このアーキテクチャの概要を示しています。


図 1. Kubernetes ワーカーノードとコントロールプレーン

図 1 に示すように、アーキテクチャは、ワークロードの実行と管理ツールの実行を担当するワーカー ノードとヘッド ノードに分かれています。

どちらの場合も、ノードは仮想マシンまたは実際のマシンで実行されます。

Kubernetes ワーカーノードとワークロードのスケーリング

Kubernetes の基盤となるインフラストラクチャは、ワーカー ノードのワークロードを実行するときに使用できるリソース (コンピューティング、メモリ、ディスク、ネットワーク) ですが、それらを直接制御するわけではないことに注意することが重要です。 Kubernetesはワークロードのスケーリングを担当しますが、パブリック クラウドの自動スケーリングや手動介入などの高レベルのメカニズムがノードの可用性の調整を担当します。したがって、コントローラーを使用して外部システムと対話することができます。

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

図 2 は、Kubernetes ワーカー ノードの基本要素を示しています。

図 2. Kubernetes ワーカーノードの詳細

クベレット

Kubelet は、ワーカー ノード上で実行され、コントロール プレーンとノード間のバランスをとる役割を果たす「小さな」プログラムです。 kubelet の主な目的は、ポッド上のヘッドノード クラスターからの命令を実行し、ワークロードの現在のステータスを報告することです。

Kube プロキシ

Kube Proxy は、ノード上でネットワーク ルールを適用し、ノードに出入りするトラフィックを許可する役割を担います。

Kube Proxy は、クラスター レベルで動作し、クラスターへのネットワーク ルーティング ルールを定義する Ingress とは異なります。

ポッド

ポッドは、ノード上で複製される個別の作業単位です。これらは、1 つ以上のコンテナ化されたアプリケーションをカプセル化する抽象化です。ポッドは、一緒に実行されるコンテナをグループ化して分離することができ、同じマシン上のポッドは相互に通信することもできます。コンテナとポッドの関係は、Kubernetes デプロイメント記述子によって制御されます。

デプロイメントとレプリカセット

ポッドは通常、ReplicaSet の一部として構成およびデプロイされます。 ReplicaSet は、Pod の望ましい実行時特性を定義し、Kubernetes がその状態を維持するように動作するように動作します。 ReplicaSet は通常、Deployment によって定義され、ReplicaSet パラメータと、クラスターを管理するときに使用する方法 (つまり、ポッドが更新されるか再作成されるか) を定義します。

サイドカー

Pod レベルでは、サイドカー プラグインを介して追加機能が実装されます。 Sidecar は、Pod レベルのログ記録や情報収集などのタスクを処理できます。

図 3 はワーカーノード内のポッドをより詳細に示しています。

図3. Kubernetes Podの詳細

Kubernetes コントロールプレーン

次に、コントローラー側に移り、Kubernetes がどのように動作してクラスターの動作を制御するかを理解します。

図 4 はヘッド ノードのコンポーネントの詳細を示しています。

図4. Kubernetesヘッドノードの詳細

その他

最も理解しやすいコンポーネントは etcd (「エトシーディー」と発音) です。 Etcd は、クラスター全体の構成とステータス レコードのデータベースとして機能する分散オブジェクト ストアです。

API サーバー

API サーバーは、クラスターの中心的な通信メカニズムです。 API サーバーは、kubectl などのKubernetesコマンドライン ツールやその他の UI を通じて構成変更を適用するときに、コントロール プレーン、ワーカー ノード、および管理者間のやり取りを仲介します。

スケジューラ

スケジューラは、ポッドが実行されるノードを識別する役割を担います。使用されるアプローチは、ポッドの特性と利用可能なノードの既存の状態によって異なりますが、目標はカスタム ライティングのレベルを達成することです。スケジューラは、作業を実行するときに API サーバーと対話します。

コントローラ

コントローラー コンポーネントは、クラスターを構成時に望ましい状態に維持し、クラスターが制御不能になった場合にその状態に移行する役割を担います。コントローラーは一種のサーモスタットのように機能し、望ましい状態を指定してそれを維持するように動作します。
Kubernetesでは、etcd に永続的なエンティティを記録するオブジェクトを作成できます。次に、コントローラーは、オブジェクトに必要なプロパティがあることを確認するためのアクションを実行します。

たとえば、ReplicaSet (上記で説明) は標準定義に基づいてポッドを実行します。そのレプリカセットに対するクラスターの実際の状態が状態です。 ReplicaSet はオブジェクトであり、指定されたポッド数は spec です。この ReplicaSet に関連するクラスターの実際の状態は status です。コントローラーは、クラスターからこの状態に関する一貫したレポートを受信し、ポッドを作成または破棄することで、状態を仕様に合わせるためのアクションを実行します。

コンテナイメージリポジトリ

最後のコンポーネントは、イメージ リポジトリ (イメージ レジストリとも呼ばれます) です。このコンポーネントはクラスターの外部に存在し、管理者とコントロール プレーンがアクセスして必要なコンテナ定義をダウンロードできます。レジストリは、Docker Hub を含むさまざまな組織によってホストされており、パブリックまたはプライベートにすることができます。主要なクラウド プロバイダーはすべて、企業向けにホストされたリポジトリを提供しています。

Kubernetes ルールコンテナ

これで、 Kubernetes のアーキテクチャとKubernetes の実装方法について理解できました。 Kubernetes は、コンテナベースのアプリケーションをデプロイ、管理、拡張するシステムであり、単純なシステムではありません。 Kubernetes は、予期しない状況にも対処できるよう、高度な構成と柔軟性を備えています。

Kubernetes は、現在のソフトウェア アーキテクチャ アプローチで最も顕著なテクノロジーの 1 つです。したがって、DevOps、コンテナ、クラウドネイティブ アプリケーション、マイクロサービス アーキテクチャに関心のある人にとって、 Kubernetesの知識は不可欠です。

[51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください。

<<:  より小さなコンテナを構築する方法

>>:  エッジコンピューティングと5Gが将来のチャネルビジネスに与える影響

推薦する

ネットイースクラウドミュージック、中国国際ソフトウェア博覧会で教育や医療などの革新的なソリューションを発表

6月29日から7月2日まで、2018年ソフトウェア博覧会が北京で開催されました。 200社を超える著...

Googleの過剰最適化ペナルティアルゴリズムが正式に開始。対外貿易業界に冬が来るのか?

ここ数日は、インターネット上の人々にとって「嵐」のようだった。Baidu はアルゴリズム システムを...

hncloudはどうですか?ワーナークラウドシンガポール専用サーバーの簡単なレビュー

hncloudはシンガポールのデータセンターにあります。現在、シンガポールのクラウドサーバーとシンガ...

タオバオモールは「Tmall」に名前を変更し、tianmao.comドメイン名を購入しました

タオバオモールの名称変更広告新浪科技報、1月11日朝のニュースによると、淘宝ショッピングモール(微博...

NodeBlade - 5 ドル / 4GB RAM / 4 コア / 100GB HDD / クアドラネット / ダラス

Quadranet のダラス データ センターにある NodeBlade の大容量メモリ構成の VP...

茶包装ステーションの最適化プロセス中に発生した問題の原因の簡単な分析

私が最適化を始めたお茶のパッケージを販売するサイトは、4月8日にオンラインになってから安定したインク...

ブランドマーケティングの根底にある3つの考え方

あなたも私も知っている決まり文句があります。「なぜ私たちは多くの真実を知っているのに、良い人生を送れ...

QQスペースログのプロモーションの特徴について簡単に説明します

QQは現在最も広く使われているコミュニケーション手段です。QQグループ、QQ Weibo、QQメール...

音声は沈黙よりも優れています。オーディオ小説のプロモーションとマーケティング方法についての簡単な説明

2012年現在、オーディオ小説は再び活発な発展の時代を迎えています。現在、百度インデックスは1日あた...

Baiduを使用してウェブサイトのランキングを向上させる際に注意すべきいくつかの問題

Baidu Knows は、多くのウェブマスターにとってウェブサイトのランキングを向上させる強力な武...

製品プロモーションの2つの中核要素:コンテンツとチャネル

商品のプロモーションは難しい問題です。見た目はシンプルで簡単に実行できますが、結果は大きく異なります...

Ramnode-Q3が1位、32%オフのプロモーション

ローエンドVPSランキングでは、ramnodeが再びトップに返り咲きました。これは皆さんも認めるとこ...

IoTデバイスは爆発的に増加し、クラウドコンピューティングは「フォグコンピューティング」へと移行している

モノのインターネットは、インターネット経由で電源のオン/オフを切り替えられるトースターという最初の ...

spearwarenetworks: 月額 2.45 ドル、帯域幅 200M、トラフィック無制限、フロリダ州、米国、メモリ 512M/コア 1 基/SSD 20g

SpearwareNetworksは2009年に米国で設立された新興企業で、主に米国南東部のフロリダ...

クラウドコンピューティングの支出を削減する5つの簡単な方法

あなたのビジネスがパブリック クラウドを使い始めたばかりであっても、クラウド コンピューティングの支...