この記事では、k8s に関係する中核的な概念に焦点を当てています。これにより、読者は全体的な観点から k8s をすばやく理解でき、初心者が実際の業務で関連する作業に従事しやすくなります。 Docker と K8sDocker は最も広く使用されているコンテナ テクノロジーです。イメージをパッケージ化し、コンテナを起動することでサービスを作成します。 k8s の正式名称は kubernetes です。包括的なクラスター管理機能を備えた完全な分散システム サポート プラットフォームです。 Kubernetes は、開発、展開、テスト、運用監視などの側面をカバーする包括的な管理ツールも提供します。 アプリケーションが複雑になるにつれて、コンテナの数も増加し続け、コンテナの管理と運用という重要な問題が生じます。クラウド コンピューティングの発展に伴い、コンテナ ドリフトもクラウドにおける最大の課題となっています。このビジネスを推進するために、k8s はコンテナ テクノロジーをベースとした一連の先進的な分散アーキテクチャ ソリューションを提案しました。これは、コンテナ テクノロジーの分野における大きな進歩と革新です。 k8s がコンテナ (docker) を管理および操作できることを理解するだけです。次の図は、k8s の全体的なアーキテクチャです。 k8sの重要な概念マスターノードマスター ノードは、クラスター内のすべてのコンテナーのスケジュール設定、さまざまなリソース オブジェクトの制御、クラスターからのすべての要求への応答を担当します。 ノードNode は、ビジネス コンテナの実行を担当する Kubernetes ワーカー ノードです。 クラスタクラスターは、Kubernetes によって集中的に管理およびスケジュールされるノードのグループです。 Kubernetes によって管理されるノードは、物理マシンまたは仮想マシンです。クラスター内の一部のノードはマスター ノードとして機能し、クラスターのステータス管理と調整を担当します。一方、他のノードはノード ノードとして機能し、特定のタスクの実行や、ユーザー サービスの開始や停止などの機能の実現を担当します。 ラベルラベルはキーと値のペアのセットです。すべてのリソース オブジェクトにこのフィールドがあります。 Kubernetes では、ラベルを使用してリソースをマークし、ラベルに基づいてリソースを分類およびフィルタリングします。 名前空間Kubernetes では、名前空間を使用してリソースの仮想化された分離を実装します。関連するリソースのグループを同じ名前空間に配置することで、異なるテナントのリソース間での名前の競合を回避し、複数のテナントのリソース分離を論理的に実装します。 ポッドPod は Kubernetes における最小のスケジューリング単位です。 1 つ以上のコンテナーで構成されます。 Pod 内のコンテナは同じネットワーク名前空間とストレージ ボリュームを共有します。 Pod は実際のビジネス プロセスの担い手です。 Pod が実行される前に、Kubernetes はまず Pause コンテナを起動してネットワーク名前空間を開き、ネットワークおよびストレージ関連のリソースの初期化を完了してから、ビジネス コンテナを実行します。つまり、各 Pod は Pause と呼ばれる特別なコンテナを実行し、その他のコンテナはビジネス コンテナです。これらのビジネス コンテナーは、一時停止コンテナーのネットワーク ボリュームとボリューム マウント ボリュームを共有します。後ほど引き続き重点的に取り上げます。 ステートレスデプロイメントデプロイメントは、ポッドのグループを抽象化したものです。デプロイメントは、ステートレス サービスをデプロイするために使用されます。デプロイメント コントローラーは、ユーザーが指定した数のコンテナー レプリカの正常な動作を保証し、ローリング アップデートなどの高度な機能を実装します。ビジネス バージョンを更新する必要がある場合、Deployment は指定された戦略に従って、古いバージョンの Pod を自動的に強制終了し、新しいバージョンの Pod を起動します。 ステートフルセットStatefulSet は基本的に Deployment のバリエーションであり、ステートフル サービスをデプロイするために使用されます。管理するポッドには、固定のポッド名と開始および停止の順序があります。 StatefulSet では、Pod 名はネットワーク識別子 (ホスト名) と呼ばれ、共有ストレージを使用する必要があります。 仕事ジョブは、ポッドを作成し、ポッドの正常な終了を保証するのに役立ちます。 Pod の実行中にエラーが発生した場合、ジョブ コントローラーは、Pod が正常に実行されるか、指定された再試行回数に達するまで、新しい Pod の作成を手助けします。単純な使用例では、Pod を信頼性の高い方法で完了まで実行するための Job オブジェクトを作成します。最初の Pod が失敗するか削除されると (たとえば、ノードのハードウェア障害や再起動により)、Job オブジェクトは新しい Pod を開始します。 サービスサービスは、一連の Pod にアクセスするための抽象化です。各ポッドには独自の IP アドレスがあります。複数のポッドが同じサービスを提供する場合は負荷分散が必要となり、ここでサービスが導入されます。 ポッドポッドを理解するPod: 1 つ以上のコンテナを含む、k8s によって管理される最小単位であり、実際のビジネス サービスを提供するコンポーネントです。 Pod は、アプリケーション コンテナ (または複数のコンテナ)、ストレージ リソース、独立したネットワーク IP、およびコンテナの実行方法を管理および制御するためのポリシー オプションをカプセル化します。 Pod はデプロイメントの単位を表します。Kubernetes 内の単一アプリケーションのインスタンスであり、単一のコンテナまたはリソースを共有する複数のコンテナで構成される場合があります。 コンテナはポッド内で実行されます。 「Pod ごとに 1 つのコンテナ」モデルは、Kubernetes の最も一般的な使用法です。この場合、Pod を単一のカプセル化されたコンテナと考えることができますが、Kubernetes はコンテナではなく Pod を直接管理します。ポッドは連携して動作する必要がある複数のコンテナを実行します。ポッドは密結合されたアプリケーションをカプセル化できます。リソースを共有できる複数のコンテナで構成する必要があります。これらのコンテナーは単一の内部サービス ユニットを形成できます。次の図に示すように、1 つのコンテナーがファイルを共有し、別の「サイドカー」コンテナーがこれらのファイルを更新します。 Pod はこれらのコンテナのストレージ リソースを単一のエンティティとして管理します。 ポッドは、ネットワークとストレージという 2 つの共有リソースを提供します。 ネットワーク各ポッドには独立した IP アドレスが割り当てられ、ポッド内の各コンテナは IP アドレスやネットワーク ポートなどのネットワーク名前空間を共有します。 Pod 内のコンテナは、localhost を使用して相互に通信できます。 Pod 内のコンテナが Pod 外のコンテナと通信する場合、ポートなどの共有ネットワーク リソースの使用方法を調整する必要があります。 ストレージPod は共有ストレージ ボリュームのセットを指定できます。 Pod 内のすべてのコンテナは共有ボリュームにアクセスできるため、それらのコンテナはデータを共有できます。ボリュームは、コンテナの 1 つを再起動する必要があり、データが失われた場合に備えて、ポッド内でのデータの永続化にも使用されます。 実際の業務で最も多く接する部分でもある Pod、特に Pod のリソースリスト(対応する yaml ファイル)については後ほど詳しく紹介します。
ポッドのライフサイクル
一般的に言えば、ポッドの最も一般的な状態は最初の 2 つです。また、実行時にはコンテナの状態にさらに注意を払う必要があります。コンテナの状態を見てみましょう ポッドリソースリストの定義
|
<<: Portainer を使用して Docker ネットワークを作成および管理するにはどうすればよいですか?
近年のインターネットと実店舗でのマーケティングモデルへの理解を通じて、私は独自のマーケティングモデル...
有名なドメイン名登録業者 Dynadot が、新しい VPS ビジネスを開始しました。現在、512M...
移行戦略の選択は、組織が何を達成したいかによって大きく異なります。いくつかのアプローチは多くの戦略的...
Digitalocean はコンソールキャットに長い間登場していませんでした。注目していないわけでは...
hostika.lt は、2017 年に設立されたリトアニアの企業です (会社登録コード: 3033...
ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスA5ベンチャーネットワー...
傷を癒す最良の薬は時間です。時間が経つにつれ、Baidu に K された多くのウェブマスターと SE...
Phoenix Technology Beijing time 1月10日午前、Weiboユーザー@...
Yaodian 100は現在廃墟となっている(写真提供:ネットユーザー)間違ったビジネスモデルを持つ...
私のブログの「言葉にできない」内容で、今年 4 月に hosthatch (フロリダに登録されている...
王府井オンラインモールがオープン(写真提供:新浪科技)本紙(胡暁紅記者)は、伝統的なブランド企業が電...
毎年恒例の電子商取引プロモーションイベントが近づいてきました。昨年の天猫ダブル11は、私たちの記憶に...
この記事の著者は、現在主流となっている分散アーキテクチャ、分散アーキテクチャにおける一般的な理論、お...
近年のクラウドネイティブ コンセプトの急速な普及と、企業のデジタル変革のための新しい IT 思考と新...
編集者注: この記事の著者は、E-House China の副社長兼 Leju Internet G...