Kubernetes-Initコンテナの6つの特徴

Kubernetes-Initコンテナの6つの特徴

この記事では、主に Init コンテナの役割、Init コンテナの特徴、Init コンテナとアプリケーション コンテナの違い、Init コンテナの実際の使用方法という 4 つの側面から Init コンテナを紹介します。

Kubernetes の Pod では複数のコンテナを実行できますが、主に Init コンテナとアプリケーション コンテナの 2 種類に分けられます。サイドカー コンテナも特別な Init コンテナです。

initコンテナの役割

Init コンテナは、Pod 内のアプリケーション コンテナが起動する前に実行される特別なコンテナです。いくつかの初期化タスクや設定を実行したり、アプリケーション コンテナーの実行を遅延したりするために使用されます。

関連するサービスが利用可能になった後にサービスが開始するのを待機したり、構成センターから構成を取得した後に開始したりするなど、アプリケーション コンテナーを起動する前にいくつかの初期化操作を実行する必要があるシナリオは多数あります。

Initコンテナの特徴

  • Pod 内のすべての Init コンテナは定義された順序で連続して実行され、アプリケーション コンテナはすべてが正常に完了した後にのみ起動できます。
  • Init コンテナは通常小さく、単純なロジックを実行します。軽量で高速に動作します。
  • 初期化コンテナはプログラミング言語の初期化オブジェクトに似ており、一度だけ実行されます。
  • すべての Init コンテナが正常に完了するまで、Pod は準備完了になりません。
  • Init コンテナの実行に失敗した場合、Pod 全体が再起動されます (再起動ポリシーが Never の場合を除く)。 Pod に対応する再起動ポリシーが Never であり、Pod の Init コンテナが失敗した場合、Kubernetes は Pod のステータスを Failed に設定します。
  • Pod が再起動すると、初期化コンテナが再度実行されるため、すべての Init コンテナの操作がべき等であることを確認する必要があります。これは、アプリケーション開発におけるインターフェースのべき等性を確保することに似ています。

Initコンテナとアプリケーションコンテナの関係

Init コンテナはアプリケーション コンテナと非常によく似ています。 Init コンテナは、リソース制限、データ ボリューム、セキュリティ設定など、アプリケーション コンテナのすべてのフィールドと機能をサポートします。 Init コンテナは、アプリケーション コンテナとデータ ボリュームとネットワークを共有します。関係は次のようになります。

ただし、Init コンテナとアプリケーション コンテナには 3 つの違いがあります。

  • 特別な状況がない限り、アプリケーション コンテナは停止しません。完了という概念を持たずにサービスを提供し続けています。ただし、Init コンテナはタスクを初期化するために存在するため、最初から最後までプロセスである必要があります。
  • 複数のアプリケーション コンテナーを並行して実行できます。ただし、次の Init コンテナは、現在の Init コンテナが起動された後にのみ起動できます。
  • Init コンテナは初期化タスクを完了するように設計されているため、Pod の準備が整う前に Init コンテナが完了するまで実行する必要があります。当然、Init コンテナはライフサイクル、生存プローブ、準備プローブをサポートしていません。

初期化コンテナの実用化

実用的な説明

  • Init コンテナとアプリケーション コンテナを定義する Pod を定義します。
  • Pod 内の Init コンテナは、まずネットワークからデータをダウンロードし、ダウンロードしたデータを emptyDir に格納します。
  • init コンテナが実行されると、アプリケーション コンテナが自動的に起動し、アプリケーション コンテナに emptyDir がマウントされます。このとき、アプリケーション コンテナーは、Init コンテナーによって以前にダウンロードされたデータを参照できます。

yamlオーケストレーションファイルは次のとおりです。

 apiVersion: v1 kind: Pod metadata: name: init-container-test namespace: demo labels: app: init-container-test spec: nodeName: k8s-worker-1 initContainers: - name: download image: busybox command: - wget - -O - /temp-dir/index.html - http://www.baidu.com volumeMounts: - name: temp-dir mountPath: /temp-dir containers: - name: web-app image: nginx ports: - containerPort: 80 hostPort: 8082 volumeMounts: - name: temp-dir mountPath: /usr/share/nginx/html volumes: - name: temp-dir emptyDir: {}

kubectl describe pod init-container-test -n demo コマンドを実行すると、2 つのコンテナがあることがわかります。

Init コンテナが異常実行された場合、Pod が継続的に再起動されることがわかります。

要約する

この記事では、主に Init コンテナの役割、Init コンテナの特徴、Init コンテナとアプリケーション コンテナの違い、Init コンテナの実際の使用方法という 4 つの側面から Init コンテナを紹介します。

注意すべき重要な点:

  • Init コンテナは定義された順序で連続して実行されます。
  • すべての Init コンテナ操作がべき等であることを確認します。

<<:  従来の MQ に別れを告げる: Kafka は分散イベント ストリーミング プラットフォームですが、これは何を意味するのでしょうか?

>>:  企業がクラウドコンピューティングを導入する際に直面する課題と、クラウドコンピューティングの効率的な運用を実現するための鍵

推薦する

セルフサービス型ウェブサイト構築のメリットとデメリットのまとめ

従来のセルフサービス Web サイト構築の利点は明らかで、便利で高速です。しかし、オープンソース コ...

Zhuanzhuan Sun Xuan: マイクロサービスアーキテクチャで中古品取引プラットフォームを構築する方法

中国電子技術標準化研究所が主催し、51CTOが主催する「第7回中国クラウドコンピューティング標準およ...

あなたの記事はあまり読まれないのはなぜですか?

月収10万元の起業の夢を実現するミニプログラム起業支援プラン昨日、友人がWeChatグループで、業界...

virpus-60% 割引コード/5 月/シアトル/Xen 仮想化/1Gbps ポート

創業10年のブランドであるvirpus.comは、シアトルデータセンターのVPSを40%割引で提供し...

tfhost: アフリカのビジネス向け「ナイジェリア VPS+サーバー」、100Mbps 帯域幅

アメリカ、ヨーロッパ、アジア、オセアニアなどの VPS は市場で比較的一般的です。今日、Host C...

過去2年間の共同購入:資本によって推進された「資金燃焼」競争

Tuanbao.comのCEOである任春雷氏は、春節期間中に「包囲」された最初の共同購入大物となり、...

K8sの展開方法の完全ガイド:基本から上級まで、1つの記事ですべてのスキルを紹介します

1. kubeadm kubeadm は Kubernetes によって公式に提供されるツールであり...

Baidu検索結果URL変更の分析と影響予測

Baidu の検索結果の表示 URL が最近変更されました。これはアルゴリズムの更新だと考えられます...

クラウドコンピューティングはサーバーレスを「パット」

[[375030]] 01 クラウドコンピューティングとデジタル化現在、クラウド コンピューティング...

ゴミ箱メーカーのオンラインプロモーションの3つのステップ

最近、ゴミ箱を製造している会社でオンラインプロモーションについて学んでいるのですが、ここのオンライン...

リンギング:718 Apple製品JDスーパーブランドデーはインターネットのトレンドをどのように反映していますか?

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

クラウド プラットフォームを「より適切に管理」するにはどうすればよいでしょうか?ファーウェイのクラウド集中運用・保守が企業のイノベーションを加速

デジタル化の波は世界の経済情勢を一変させており、デジタル経済は世界の持続可能な成長の新たな原動力にな...

エッジコンピューティングとモノのインターネット: インターネット接続の効率とセキュリティの向上

モノのインターネット技術の急速な発展により、ますます多くのデバイスやセンサーがインターネットに接続さ...

alphavpsはどうですか?米国AMD Ryzen 7000シリーズVPSレビュー、Netflix/TikTokのブロック解除

alphavpsはどうですか? alphavps の AMD Ryzen VPS はいかがでしょうか...