CKA 試験に必須: 複数のコンテナの Pod カプセル化の高度なテクニックを習得しましょう。

CKA 試験に必須: 複数のコンテナの Pod カプセル化の高度なテクニックを習得しましょう。

Kubernetes の世界では、Pod はデプロイ可能な最小単位であり、複数のコンテナが緊密に連携できるように、同じ Pod 内で複数のコンテナを実行する必要がある場合があります。この記事では、複数のコンテナを Pod にカプセル化し、Kubernetes の強力な可能性を最大限に引き出す方法について詳しく説明します。

1. ポッドの基本概念

Pod は Kubernetes における最小のリソース管理コンポーネントです。 Pod は、コンテナ化されたアプリケーションの実行を最小限に抑えるリソース オブジェクトでもあります。 Pod はクラスター内で実行されているプロセスを表します。 Kubernetes の他のほとんどのコンポーネントは、Pod 機能をサポートおよび拡張するために Pod を中心に展開されます。

ポッド

Kubrenetes クラスターで Pod を使用するには 2 つの方法があります。

(1)ポッド内でコンテナを実行する:

ポッドごとに 1 つのコンテナ モデルが最も一般的な使用法です。この使用法では、ポッドは単一のコンテナのカプセル化と考えることができ、Kubernetes はコンテナを直接管理するのではなく、ポッドを管理します。

(2)ポッド内で複数のコンテナを同時に実行する:

Pod は、互いに緊密に結合されて連携し、それらの間でリソースを共有する必要がある複数のコンテナをカプセル化することもできます。同じ Pod 内のこれらのコンテナは、相互に連携して、ファイルを共有するコンテナとこれらのファイルを更新する別の「サイドカー」コンテナなどのサービス ユニットになることができます。 Pod はこれらのコンテナのストレージ リソースを単一のエンティティとして管理します。

たとえば、共有ボリュームからファイルを提供する Web サーバーを提供するコンテナーと、それらのファイルをリモートで更新する別のサイドカー コンテナーを次のように用意できます。

一部のポッドにはInitコンテナ[1]とアプリケーションコンテナ[2]があります。デフォルトでは、アプリケーション コンテナを起動する前に、init コンテナが実行され、完了します。

2. ケースデモンストレーション

1. ポッド内でコンテナを実行する

以下は、イメージ nginx:1.14.2 を実行するコンテナで構成される Pod の例です。これはポッド内でコンテナを実行しています。

 apiVersion:v1 kind:Pod metadata: name:simple-pod spec: containers: -name:nginx image:nginx:1.14.2 ports: -containerPort:80

上記の Pod を作成するには、次のコマンドを実行します。

 kubectl apply -f simple-pod.yaml

通常、ポッドは直接作成されるのではなく、ワークロード リソースを使用して作成されます。

2. ポッド内で複数のコンテナを同時に実行する

以下は、イメージ nginx:1.14.2 と MYSQL を実行するコンテナで構成される、複数のコンテナをカプセル化する Pod の例です。

 apiVersion:v1 kind:Pod metadata: name:complex-pod spec: containers: -name:nginx image:nginx:1.14.2 ports: -containerPort:80 -name:mysql image:mysql env: -name:MYSQL_ROOT_PASSWORD value:"@123456@" ports: -containerPort:3306

MySQL コンテナの最新バージョンは環境変数で設定する必要があるため、そうしないと起動に失敗します。

上記の Pod を作成するには、次のコマンドを実行します。

 kubectl apply -f complex-pod.yaml

Pod は複数のコンテナをカプセル化します。 kubectl を使用してポッド内のコンテナを操作することは、ポッド内で単一のコンテナを実行することとは異なります。たとえば、nginx コンテナに入る場合。複数のコンテナを Pod にカプセル化するには、次のコマンドを実行する必要があります。

 kubectl exec -it complex-pod -c nginx /bin/sh
  • complex-pod: ポッドの名前です
  • -c はポッド内のコンテナの名前を指定します。例: nginx

3. CKA本試験解説

1. 実際の質問のスクリーンショット

2. 中国の分析

k8s クラスター環境を切り替えます: kubectl config use-context k8sTask: kucc1 という名前の Pod を作成します。この Pod には、nginx、redis、memcached、consul の 4 つのコンテナが含まれています。

3. 公式参考文書

ポッドは複数のコンテナをカプセル化する[3]

4. 質問分析

(1)k8sクラスタ環境に切り替える

kubectl config use-context k8s

(2)Podリソースオブジェクトファイルを書き込む

apiVersion:v1 kind:Pod metadata: name:kucc1 spec: containers: -name:nginx image:nginx -name:redis image:redis -name:memcached image:memcached -name:consul image:consul

(3)リソースリストを提出する

kubectl apply -f kucc1.yaml

(4)ポッド作成のステータスを確認する

kubect get pod

参考文献

  • [1]Initコンテナ: https://kubernetes.io/zh-cn/docs/reference/glossary/?all=true#term-init-container
  • [2] アプリケーションコンテナ: https://kubernetes.io/zh-cn/docs/reference/glossary/?all=true#term-app-container
  • [3] ポッドは複数のコンテナをカプセル化します: https://kubernetes.io/zh-cn/docs/tasks/inject-data-application/define-environment-variable-container/

<<:  AWSはGoogle Cloudに続き移行の「退出料金」を廃止し、顧客は無料で退出できるようになった

>>:  2024年、SaaSユニコーン絶滅の時代?

推薦する

Azure Data Migration でデータをクラウドに移行する

[51CTO.com クイック翻訳] 企業がクラウドに移行してから10年以上経ちますが、大量のデータ...

8.25 アップデートはアルゴリズムのアップデートですか、それとも単なる目玉ですか?

8月22日には早くも、複数の大物が、百度が23日に新しいアルゴリズムを発表すると発言していた。李氏は...

anynode-2.5 USD/無料 Win03/KVM/256 メモリ/30 GB ハードドライブ/500 GB トラフィック

最近、多くの友人から Windows VPS に対する大きな要望があります。ここでは、無料の Win...

boltvm-$2.25/1g メモリ/100g ハードディスク/1T トラフィック/G ポート/ロサンゼルス

DediCube LLC (サーバーレンタルおよびホスティング) 傘下の VPS ブランドである B...

ユーザーの視点から、製品とユーザーの間に「テレパシー的なつながり」を持たせる

ちょっとしたお話から始めましょう。研究を行うべきかどうかについては、以前からオンラインで議論がありま...

プロモーションに基づいたコンテンツの配信というビデオ業界の奇妙な市場行動

Youku のビデオ コンテンツの質はかなり良いので、私はずっと Youku を支持してきました。さ...

Argo ロールアウトによるプログレッシブ リリース

Argo Rollouts は、Kubernetes Operator 実装であり、ブルーグリーン、...

クラウド移行を始める前に尋ねるべき3つの質問

多くの場合、クラウド移行は最初は停滞しているか、遅すぎるように感じられますが、実際にはビジネスが速す...

スタートアップはソフトコピーマーケティングの効果をどのように評価できるでしょうか? 次の5つのことだけを実行してください

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

ロゴ デザインにおける最も一般的な 4 つの落とし穴。LOGO Design Network がオンラインで完璧なロゴをデザインします。

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

クラウドが成長するにつれて、ロックインの問題は大きくなるでしょうか?

HBO の壮大なファンタジーシリーズ「ゲーム・オブ・スローンズ」が複数のシーズンに渡って続いているよ...

エッジコンピューティングがモノのインターネットにもたらす革命的な影響

エッジ コンピューティングがモノのインターネットに与える影響を理解するために、私たちの周囲にある多数...

dedibyte-6 USD/年/KVM/1GB RAM/60GB SSD/無制限トラフィック

dedibyte.com は最近設立された新しいブランドマーチャントです。よく見ると、実は dedi...

百度百科事典は5月24日に大規模なアップデートを実施: 拡張読書にアンカーリンクを追加可能

百度百科事典は5月24日に大規模なアップデートを実施: 拡張読書をアンカーにリンクできる猫リンクです...

K8s のコアコンポーネントと動作メカニズム

Kubernetes のコアコンポーネントと動作メカニズムKubernetes クラスターは、ノード...