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

推薦する

CloudOps 計画ではほとんど考慮されない 2 つのこと

今日では、運用上効果的な CloudOps プログラムを計画することは複雑ですが、ほとんど考慮されな...

主流のリレーショナル分散データベースの選択と設計

[[420327]] [[420328]]王宗瑞Alibaba Cloud データベース配信アーキテ...

物理マシンと仮想マシンでは、K8s 環境でコンテナを実行するのにどちらが適していますか?

[[319956]] K8S 環境でコンテナを物理マシン上で直接実行するか、分離された仮想マシン上で...

catalysthost-256m メモリ KVM 年間支払額 25 ドル

catalysthost プロモーション コード: WHTkvmPROMO (25% 割引相当)、S...

新型コロナウイルス治療薬の開発では一秒一秒が重要です。 Alibaba の高性能コンピューティングはどのように貢献できるのでしょうか?

[[318091]]アリ姉の紹介:新型コロナウイルスの発生後、流行との闘いを支援するために、アリババ...

簡単な分析: 問題のある Web サイトは改良すべきでしょうか?

誰もが、一夜にして成し遂げられることはなく、完璧なものなど存在しないことを知っています。時代の変化と...

#11.11# Zji、香港専用サーバー35%オフ、日本8Cステーショングループ専用サーバー30%オフ、トップアップして無料マネーをゲット

Zji 11.11 プロモーション情報は次のとおりです: 香港クラウドタイプ II サーバー、永久 ...

金群宝:核分裂成長の究極の秘密、あなたが知らない交通の背後にあるロジックを明らかにする

月収10万元の起業の夢を実現するミニプログラム起業支援プランWeChatインターネットはトラフィック...

エッジコンピューティング、ネットワークのエッジでの大胆な探索

こんにちは、みんな。今日はエッジコンピューティングについて説明します。エッジ コンピューティングとは...

ウェブサイトの「新生」は細部の最適化にもっと注意を払うべきである

SEO を行うウェブマスターは、毎日古いウェブサイトのランキングを最適化する必要がありますが、新しい...

A400: 36 元/四半期、1H/1G/30Mbps/1T トラフィック/kvm/ロサンゼルス CN2GIA|香港 CN2/16.8/月

A400 Interconnect は 2009 年に設立された企業で、高品質の回線、低遅延、高い安...

【画像を見る】クリック率とコンバージョン率の最適化戦略

直通列車の最大の課題は、クリックスルー率とコンバージョン率です。この 2 つの中核要素が適切に管理さ...

Google ドキュメントのシステム設計の詳細説明(共同ドキュメント編集)

1 共同文書編集サービスの設計方法1.1 C/Sアーキテクチャによる集中型施設すべてのユーザーにドキ...

熊張昊は本当に流行っているのか?

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

racknerd: 大容量トラフィックの安価な VPS、最低 $22/年、KVM/2.5G メモリ/2 コア/28g ハードディスク/4T トラフィック、Alipay 対応

Racknerd は 2 月末に、トラフィックの多い 3 つの VPS のプロモーションを開始しまし...