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 は分散イベント ストリーミング プラットフォームですが、これは何を意味するのでしょうか?

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

推薦する

クラウドネイティブ変革のための6つの重要なデータ戦略

今日、多くの組織がデジタル変革戦略としてクラウドネイティブ プラットフォームを採用しています。クラウ...

SEOの本質を深く理解してウェブサイトの人気を高める方法

ご存知のとおり、SEO はすべてのウェブマスターが必ず行うべきものであり、サイトの規模に関係なく、S...

spinservers: 米国(サンノゼ/ダラス)の1Gbps帯域幅無制限トラフィックサーバー、月額99ドルから、e3-1280v5/32gDDR4/1T NVMe

1Gbps の帯域幅で月額 99 ドルと低価格ながら、構成が非常に高度な spinservers の...

Kubernetes ログ収集の一般的なルーチン。これを使えば間違いはありません。

1. 準備1. コンテナログについてDocker ログは、Docker エンジン ログとコンテナ ロ...

「初心者」から「超神」まで、ウェブサイト最適化の重要な3つの段階

現在、中国国内のウェブサイトの最適化は、基本的に百度検索エンジン向けに最適化されています。Googl...

「eコマース+ニューリテールの潮流下における技術サポート」セミナーが盛況のうちに開催されました

[51CTO.comからのオリジナル記事] 近年、オンラインショッピングは中国の市場経済における新た...

CIOがクラウドコンピューティングプロバイダーに求めるもの

Industry Media は最近、2022 年のオハイオ州 CIO オブ ザ イヤー賞を受賞した...

ウェブサイトの成功または失敗は、そのプロモーションの質によって決まります。

最近、自分のウェブサイトを構築したいという人が増えています。ウェブサイト構築の初期段階では、ウェブサ...

パシフィック・ダイレクト・パーチェス・ネットワーク会長、ねずみ講の疑いで逮捕

記者が公安部門から入手した情報によると、2012年4月15日以来、公安当局と工商当局は共同で統一行動...

李佳奇はライブストリーミング電子商取引のスーパーリーダーになれるか?

前回、「アンカー対ロレアル」事件で、プラットフォームにとってトップアンカーはアンタッチャブルなリソー...

ウェブマスターの皆さん、ウェブサイトをいじって遊んでいますか、それとも真剣に構築するつもりですか?

ウェブサイトの構築は、お金を稼ぐためでも、趣味のためでも構いません。前者はいわゆる「ウェブサイトを作...

内部リンクの最適化はすべてのサイトでできるわけではない

SEO トレーニングが登場していなかったら、ウェブサイトに内部リンクがあることを知っている人は少なか...

Google が 2012 年の検索ホット リストを発表: 江南スタイルがリストに

Google が 2012 年のグローバル人気検索キーワードランキングを発表 Google Zeit...

ウェブサイト運営の失敗の原因を理解し、ネットワーク起業のリスクを回避する

あっという間に、2012年の旧正月が過ぎました。新年の喜びが完全に薄れる前に、多くの草の根ウェブマス...

クラウド価格比較: AWS、Microsoft Azure、Google Cloud、IBM Cloud

Microsoft Azure は一般的に、オンデマンドおよび割引インスタンスの価格設定が最も低く、...