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が将来のチャネルビジネスに与える影響

推薦する

買収に関しては、自社の製品チェーンに活路を残すことに他なりません。

現在、インターネット企業の買収が相次いでおり、自社のエコシステム内の隙間を埋めるものであれ、上場への...

dreamhost-70% オフ/2.59 USD/1 つの無料ドメイン名/SS サポート/サブアカウント サポート

Dreamhost のブラック フライデーが始まりました: 無制限のスペース、無制限のトラフィック、...

アジャイルテストとその実践的応用の簡単な分析

導入インターネット技術の発展に伴い、製品の急速な反復と市場の需要への適応能力が大手企業にとっての悩み...

#SingaporeServer# indovirtue: 月額 55 ドル、100Mbps/無制限トラフィック、E3-1230v2

Indovirtue(2010年運営開始)は、シンガポールサーバーを低価格で提供しており、帯域幅10...

racknerd: サンノゼディストリビューション、AMD Ryzen9 3900X+DDR4+NVMe シリーズ、VPS は年間 14 ドルから

racknerd がロサンゼルス、ダラス、シカゴ、ニューヨーク、シアトルのデータセンターで AMD ...

イノベーションワークスのタオ・ニンが起業家精神について語る:製品のイテレーションは週に1回行う必要がある

イノベーションワークスの最高執行責任者兼パートナー、タオ・ニン氏(写真提供:テンセントテクノロジー)...

RamNode: SVDS 専用の 20% 割引クーポン、独立型高構成 VPS

Ramnode、それは本当に簡単ではありません、私たちはVDSビジネスの購入にのみ限定して20%割引...

AI + エッジコンピューティング - エッジ人工知能は本当に存在するのか?

EdgeAI はもはやブループリント段階ではありません。すでに主流として採用され、驚異的な速度で成長...

5 分間の技術講演 | Xinchuang クラウド デスクトップについてどれくらいご存知ですか?

パート01 Xinchuang Cloud Desktopとは何ですか?クラウド デスクトップは、伝...

ウェブサイトのキーワードランキングを早く改善したいなら「分析」から始めましょう

ウェブサイトのキーワードランキングをすぐに向上させたい場合は、「分析」から始めましょう。分析とは何で...

2021 年のトップ 5 のエンタープライズ クラウド ストレージ ソリューション

多くの企業はすでにクラウドに移行し、そのメリットを実感しているので、トップクラスのクラウド ストレー...

サーバーNV-$5/KVM/1g メモリ/55g ハードディスク/1.25T トラフィック/G ポート/英国

serversnv は正式に登録された会社 (No.09023246) で、現在は主に KVM と ...

ユーマン実践:ホットワードをうまく活用して正確なトラフィックを誘導する

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますホットワー...

iClick の Xue Yongkang: オンライン マーケティングにとって Cookie は何を意味しますか?

薛永康(iClick CEO兼共同創設者)クッキーの概念について説明する前に、現在のオンライン マー...