検索

2.2.3. OpenShift クラスターオブジェクト

download PDF

2.2.3.1. Init コンテナー

init コンテナーはアプリケーションコンテナーが起動する前に実行される特殊なコンテナーであり、アプリケーションコンテナーの実行に必要な環境を設定します。init コンテナーには、アプリケーションイメージにないファイル (設定スクリプトなど) を含めることができます。Init コンテナーは常に完了するまで実行され、Init コンテナーのいずれかに障害が発生した場合にはアプリケーションコンテナーは起動しません。

odo によって作成された Pod は 2 つの Init コンテナーを実行します。

  • copy-supervisord Init コンテナー。
  • copy-files-to-volume Init コンテナー。
2.2.3.1.1. copy-supervisord

copy-supervisord Init コンテナーは必要なファイルを emptyDir ボリュームにコピーします。メインのアプリケーションコンテナーはこれらのファイルを emptyDir ボリュームから使用します。

emptyDir ボリュームにコピーされるファイル:

  • バイナリー:

    • go-init は最小限の init システムです。アプリケーションコンテナー内の最初のプロセス (PID 1) として実行されます。go-init は、開発者コードを実行する SupervisorD デーモンを起動します。go-init は、孤立したプロセスを処理するために必要です。
    • SupervisorD はプロセス制御システムです。これは設定されたプロセスを監視し、それらが実行中であることを確認します。また、必要に応じてサービスを再起動します。odo の場合、SupervisorD は開発者コードを実行し、監視します。
  • 設定ファイル:

    • supervisor.conf は、SupervisorD デーモンの起動に必要な設定ファイルです。
  • スクリプト:

    • assemble-and-restart は、ユーザーソースコードをビルドし、デプロイするための OpenShift S2I の概念です。assemble-and-restart スクリプトは、まずアプリケーションコンテナー内でユーザーソースコードをアセンブルしてから、ユーザーの変更を有効にするために SupervisorD を再起動します。
    • Run は、アセンブルされたソースコードを実行することに関連した OpenShift S2I の概念です。run スクリプトは assemble-and-restart スクリプトで作成されたアセンブルされたコードを実行します。
    • s2i-setup は、assemble-and-restart および run スクリプトが正常に実行されるために必要なファイルおよびディレクトリーを作成するスクリプトです。このスクリプトは、アプリケーションのコンテナーが起動されるたびに実行されます。
  • ディレクトリー:

    • language-scripts: OpenShift S2I はカスタムの assemble および run スクリプトを許可します。language-scripts ディレクトリーにいくつかの言語固有のカスタムスクリプトがあります。カスタムスクリプトは、odo のデバッグを機能させる追加の設定を提供します。

emtpyDir ボリュームは、Init コンテナーとアプリケーションコンテナーの両方の /opt/odo マウントポイントにマウントされます。

2.2.3.1.2. copy-files-to-volume

copy-files-to-volume Init コンテナーは、S2I ビルダーイメージの /opt/app-root にあるファイルを永続ボリュームにコピーします。次に、ボリュームはアプリケーションコンテナーの同じ場所 (/opt/app-root) にマウントされます。

永続ボリュームが /opt/app-root にないと、このディレクトリーのデータは、永続ボリューム要求 (PVC) が同じ場所にマウントされる際に失われます。

PVC は、Init コンテナー内の /mnt マウントポイントにマウントされます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.