機械翻訳について

補助イメージ

目次

導入

補助イメージは、ポッドにModel in Imageモデル・ファイル、アプリケーション・アーカイブ・ファイルおよびWebLogic Deploy Toolingインストールを含めるための最適なアプローチとして推奨されます。 この機能により、domain.spec.imageで指定されたイメージにこれらのファイルを指定する必要がなくなります。

かわりに、次のようにします。

  • ドメイン・リソースのdomain.spec.imageは、WebLogicインストールおよびJavaインストールのみを含める必要があるベース・イメージを直接参照します。
  • ドメイン・リソースの補助イメージ関連フィールドは、目的のModel in Imageファイルを含む1つ以上の小さいイメージを参照します。

Model In Imageドメインにおける補助イメージの利点は次のとおりです:

  • WDTインストール、アプリケーション・アーカイブまたはモデル・アーティファクトをイメージに含める必要なく、WebLogicインストール・イメージを使用またはパッチ適用します。
  • 1つのWebLogicインストール・イメージを、特定のイメージで提供されている複数の異なるモデル構成と共有します。
  • WebLogicインストールを含まない特定のイメージを使用して、モデル・ファイル、アプリケーション・アーカイブおよびWebLogic Deploy Tooling実行ファイルを配布または更新します。

補助イメージは、内部的にKubernetes emptyDirボリュームおよびKubernetes initコンテナを使用して、追加のイメージからファイルを共有します。

リファレンス

  • kubectl explain domain.spec.configuration.model.auxiliaryImagesコマンドを実行します。

  • ドメイン・リソースschemamodel.auxiliaryImagesセクションを参照してください。

構成

オペレータ・バージョン4.0から、ドメイン・リソースconfiguration.model.auxiliaryImages配列に1つ以上の補助イメージを構成できます。 各配列エントリは、補助イメージの名前であるimageを定義する必要があります。 オプションで、imagePullPolicyを設定できます。image:latestおよびIfNotPresentで終了する場合は、デフォルトでAlwaysに設定されます。それ以外の場合は、。 補助イメージのプルにイメージ・プル・シークレットが必要な場合は、domain.spec.imagePullSecretsを使用してシークレットを参照する必要があります。

また、オプションで、WebLogic Deploy Toolingモデルの「ソースのロケーション」と、sourceModelHomeおよびsourceWDTInstallHomeフィールド(次の「セクション」を参照)を使用して、補助イメージにWebLogic Deploy Toolingソフトウェアがインストールされているディレクトリ(WDTホームと呼ばれる)を構成できます。

  • 各フィールドの詳細は、schemaを参照してください。

  • 基本的な構成の例は、「構成例1」を参照してください。

ソースのロケーション

オプションの属性configuration.model.auxiliaryImages[].sourceModelHomeおよびconfiguration.model.auxiliaryImages[].sourceWdtInstallHomeを使用して、補助イメージのWebLogic Deploy ToolingモデルおよびWDTホームのデフォルト以外のロケーションを指定します。 sourceModelHomeおよびsourceWdtInstallHomeに許可される値:

  • 設定解除 - デフォルトは、それぞれ/auxiliary/modelsおよび/auxiliary/weblogic-deployです。
  • パスに設定 - WDTモデル・ファイルとWDTホームを含む既存のロケーションをそれぞれ指定する必要があります。
  • None - イメージに、それぞれWDTモデルまたはWDTホームがないことを示します。

sourceModelHomeまたはsourceWDTInstallHomeNoneに設定した場合、またはソース属性の設定が解除され、デフォルトのロケーションにファイルがない場合、オペレータはソース・ディレクトリを無視します。 それ以外の場合は、ソース・ディレクトリ属性を特定の値に設定し、指定したディレクトリにファイルが補助イメージ内にない場合、ドメイン・デプロイメントは失敗します。

sourceModelHomeおよびsourceWDTInstallHomeディレクトリのファイルは、すべてのポッドのWebLogic Serverコンテナの/aux/modelsおよび/aux/weblogic-deployディレクトリでそれぞれ使用可能になります。

ソースのロケーションの例については、「構成例2」を参照してください。

複数の補助イメージ

モデル・ファイルを含む複数の補助イメージをそれぞれのconfiguration.model.auxiliaryImages[].sourceModelHomeディレクトリに指定すると、モデル・ファイルがマージされます。 このオペレータは、複数の補助イメージのモデル・ファイルを、model.auxiliaryImagesの下に表示されるイメージと同じ順序でマージします。 マージ内の後のイメージのファイルは、以前のイメージの同じ名前のファイルを上書きします。

複数の補助イメージを指定する場合は、configuration.model.auxiliaryImages[].sourceWDTInstallHomeを使用して、1つのイメージのみがWDTホームを提供するようにしてください。

複数の補助イメージ間で複数のWDTホームを指定した場合、ドメイン・デプロイメントは失敗します。 sourceWDTInstallHomeNoneに設定するか、指定した補助イメージの1つを除いて、/auxiliary/weblogic-deployにファイルがないことを確認します。

複数の補助イメージの構成例については、「構成例3」を参照してください。

モデルおよびWDTインストール・ホーム

補助イメージを使用している場合は、通常、domain.spec.configuration.models.modelHomeおよびdomain.spec.configuration.models.wdtInstallHomeを設定する必要はありません。 補助イメージ(「ソースのロケーション」を参照)に指定するモデルおよびWDTインストールは、すべてのWebLogic Serverポッドで、/aux/modelsおよび/aux/weblogic-deployディレクトリに常に配置されます。 補助image(s)が構成されている場合、オペレータは、modelHomeおよびwdtInstallHomeのデフォルトを一致するように自動的に変更します。

modelHomeおよびwdtInstallHomeをデフォルト以外の値に設定すると、ドメインは、その補助イメージのWDTモデル・ファイルおよびWDTホームを無視します。

構成例

次の構成例は、前述の各セクションを示しています。

例1: 基本構成

この例では、補助image(s)の必須イメージ・パラメータを指定します。他のすべてのフィールドはデフォルト値です。

spec:
  configuration:
    model:
      auxiliaryImages:
      - image: model-in-image:v1

例2: ソースのロケーション

この例は、例1と同じですが、WebLogic Deploy ToolingモデルとWDTホームのソースのロケーションが指定されています。

spec:
  configuration:
    model:
      auxiliaryImages:
      - image: model-in-image:v1
        sourceModelHome: /foo/models
        sourceWDTInstallHome: /bar/weblogic-deploy

例3: 複数のイメージ

この例は例1と同じですが、複数の補助イメージを構成し、2番目のイメージのsourceWDTInstallHomeNoneに設定します。 この場合、2番目のイメージnew-model-in-image:v1からのWebLogic Deploy Toolingインストールのソースのロケーションは無視されます。

spec:
  configuration:
    model:
      auxiliaryImages:
      - image: model-in-image:v1
      - image: new-model-in-image:v1
        sourceWDTInstallHome: None

サンプル

「Model in Imageサンプル」は、補助イメージを使用してドメインのWDTモデル・ファイル、アプリケーション・アーカイブZIPファイルおよびWDTインストールを小さい個別のコンテナ・イメージで提供するModel in Imageドメインをデプロイする方法を示しています。

Dockerを使用した補助イメージの作成

「Model in Image初期使用例」では、補助イメージを作成するための便利な方法としてWebLogic Image Toolの使用が説明されています。これは最適な方法です。 または、イメージを手動でビルドすることもできます。 たとえば、次のステップでは、Model in Imageサンプルの初期ユースケースをDockerを使用して補助イメージをビルドするように変更します:

  1. 「Model in Imageサンプル前提条件」の対応するステップに従って、Model in Imageサンプル・ソースおよびWebLogic Deploy Toolingをダウンロードします。

  2. ステージング・ディレクトリとして/tmp/mystaging/modelsディレクトリを作成し、モデルYAMLファイル、プロパティおよびアーカイブをコピーします:

    $ mkdir -p /tmp/mystaging/models
    $ cp /tmp/sample/wdt-artifacts/wdt-model-files/WLS-v1/model.10.yaml ./models
    $ cp /tmp/sample/wdt-artifacts/wdt-model-files/WLS-v1/model.10.properties ./models
    $ cp /tmp/sample/wdt-artifacts/wdt-model-files/WLS-v1/archive.zip ./models
    

    archive.zipファイルがない場合は、/tmp/sample/wdt-artifacts/wdt-model-files/WLS-v1をターゲット・ディレクトリとして使用しながら、Model in Imageサンプル「初期ユースケース」にこのファイルを作成するステップを繰り返します。

  3. WDTをステージング・ディレクトリにインストールし、UNIX環境で使用されていないweblogic-deploy/bin/*.cmdファイルを削除します:

    $ cd /tmp/mystaging
    $ unzip /tmp/mii-sample/model-images/weblogic-deploy.zip -d .
    $ rm ./weblogic-deploy/bin/*.cmd
    

    weblogic-deploy.zipファイルがない場合は、ステップを繰り返して、Model in Imageサンプル「前提条件」にある最新のWebLogic Deploy Tooling (WDT)をダウンロードします。

  4. /tmp/mii-sample/ai-docker-file/Dockerfileを使用してdocker buildコマンドを実行します。

    $ cd /tmp/mystaging
    $ docker build -f /tmp/mii-sample/ai-docker-file/Dockerfile \
      --build-arg AUXILIARY_IMAGE_PATH=/auxiliary \
      --tag model-in-image:WLS-v1 .
    

    各ビルド引数については、./Dockerfileを参照してください。

    「Dockerfileを表示するには、ここをクリックします。」
  5. イメージが正常に作成された場合は、ローカル・マシンのDockerリポジトリに配置されます。 例えば:

    $ docker images model-in-image:WLS-v1
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    model-in-image      WLS-v1           eac9030a1f41        1 minute ago        4.04MB
    
  6. イメージの作成後、WDT実行可能ファイルは/auxiliary/weblogic-deployにあり、WDTモデル、プロパティおよびアーカイブ・ファイルは/auxiliary/modelsにあります。 Dockerイメージでlsを実行して、次のことを確認できます:

    $ docker run -it --rm model-in-image:WLS-v1 ls -l /auxiliary
      total 8
      drwxr-xr-x    1 oracle   root          4096 Jun  1 21:53 models
      drwxr-xr-x    1 oracle   root          4096 May 26 22:29 weblogic-deploy
    
    $ docker run -it --rm model-in-image:WLS-v1 ls -l /auxiliary/models
      total 16
      -rw-rw-r--    1 oracle   root          5112 Jun  1 21:52 archive.zip
      -rw-rw-r--    1 oracle   root           173 Jun  1 21:59 model.10.properties
      -rw-rw-r--    1 oracle   root          1515 Jun  1 21:59 model.10.yaml
    
    $ docker run -it --rm model-in-image:WLS-v1 ls -l /auxiliary/weblogic-deploy
      total 28
      -rw-r-----    1 oracle   root          4673 Oct 22  2019 LICENSE.txt
      -rw-r-----    1 oracle   root            30 May 25 11:40 VERSION.txt
      drwxr-x---    1 oracle   root          4096 May 26 22:29 bin
      drwxr-x---    1 oracle   root          4096 May 25 11:40 etc
      drwxr-x---    1 oracle   root          4096 May 25 11:40 lib
      drwxr-x---    1 oracle   root          4096 Jan 22  2019 samples
    

weblogic.oracle/v8スキーマ補助イメージ構成の自動アップグレード

この項で説明する自動アップグレードは、weblogic.oracle/v8スキーマ補助イメージ構成を、initコンテナやボリュームなどの低レベルのKubernetesスキーマに変換します。 生成された低レベル・スキーマに依存するかわりに、Oracleでは、「構成」の項で説明されているように、補助イメージに簡略化されたweblogic.oracle/v9スキーマ構成を使用することをお薦めします。

オペレータ・バージョン4.0では、使いやすさを向上するために補助イメージが拡張されています。また、オペレータの3.xリリースから構成が変更されました。

オペレータ4.0は、weblogic.oracle/v8スキーマ補助イメージ構成を持つドメインのシームレスなアップグレードを提供します。 4.0オペレータによって管理されるネームスペースでweblogic.oracle/v8スキーマを使用して補助イメージを含むドメインを作成すると、「WebLogicドメイン・リソース変換webフック」によって、ドメイン・リソースのweblogic.oracle/v9スキーマへの自動アップグレードが実行されます。 変換webフック・ランタイムは、weblogic.oracle/v9serverPod仕様の下にあるinitコンテナ、ボリュームおよびボリューム・マウントを使用して、weblogic.oracle/v8補助イメージ構成を同等の構成に変換します。 同様に、「オペレータのアップグレード」の場合、weblogic.oracle/v8スキーマ補助イメージを含むドメインはシームレスにアップグレードされます。

次に、オペレータ3.xのweblogic.oracle/v8スキーマ補助イメージ構成の例と、オペレータ4.0の変換webフックによって生成された同等のweblogic.oracle/v9スキーマ構成を示します。

サンプルweblogic.oracle/v8スキーマ補助イメージ構成

spec:
  auxiliaryImageVolumes:
  - name: auxiliaryImageVolume1
    mountPath: "/auxiliary"

  serverPod:
    auxiliaryImages:
    - image: "model-in-image:WLS-v1"
      imagePullPolicy: IfNotPresent
      volume: auxiliaryImageVolume1

オペレータ4.0の変換webフックによって生成された互換性weblogic.oracle/v9スキーマ補助イメージ構成

  serverPod:
    initContainers:
    - command:
      - /weblogic-operator/scripts/auxImage.sh
      env:
      - name: AUXILIARY_IMAGE_PATH
        value: /auxiliary
      - name: AUXILIARY_IMAGE_TARGET_PATH
        value: /tmpAuxiliaryImage
      - name: AUXILIARY_IMAGE_COMMAND
        value: cp -R $AUXILIARY_IMAGE_PATH/* $AUXILIARY_IMAGE_TARGET_PATH
      - name: AUXILIARY_IMAGE_CONTAINER_IMAGE
        value: model-in-image:WLS-v1
      - name: AUXILIARY_IMAGE_CONTAINER_NAME
        value: compat-operator-aux-container1
      image: model-in-image:WLS-v1
      imagePullPolicy: IfNotPresent
      name: compat-operator-aux-container1
      volumeMounts:
      - mountPath: /tmpAuxiliaryImage
        name: compat-ai-vol-auxiliaryimagevolume1
      - mountPath: /weblogic-operator/scripts
        name: weblogic-scripts-cm-volume
    volumeMounts:
    - mountPath: /auxiliary
      name: compat-ai-vol-auxiliaryimagevolume1
    volumes:
    - emptyDir: {}
      name: compat-ai-vol-auxiliaryimagevolume1

変換webフック・ランタイムは、weblogic.oracle/v8スキーマの補助イメージ構成を変換するときに、compat-というプレフィクスが付いた名前のinitコンテナを作成します。 オペレータは、イントロスペクタ・ジョブ・ポッドでcompat-またはwls-shared-で始まる名前を持つinitコンテナのみを生成します。 生成された初期化コンテナの名前を変更するには、新しい名前の先頭がcompat-またはwls-shared-である必要があります。

weblogic.oracle/v8スキーマ・ドメイン・リソースを手動でアップグレードするドメイン・アップグレード・ツール

ドメイン・リソースをweblogic.oracle/v8スキーマからweblogic.oracle/v9スキーマに手動でアップグレードするには、weblogic.oracle/v8スキーマ・ドメイン・リソースの手動アップグレード」を参照してください。