機械翻訳について

ビルド・ドメイン作成イメージ

目次

始める前に: 前提条件のステップを実行します。

概要

イメージビルドプロセスでは、WebLogic Image Toolを使用してDomain on PV domain creation imageを作成します。 このイメージには次のものが含まれます:

  • WebLogic Deploy Toolingソフトウェアがインストールされるディレクトリ(WDTホームとも呼ばれる)。デフォルトでは、イメージの/auxiliary/weblogic-deployディレクトリで想定されます。
  • WDTモデルYAML (モデル)、WDT変数(プロパティ)、およびWDTアーカイブZIP (アーカイブ)ファイル。デフォルトではディレクトリ/auxiliary/modelsにあります。

ドメイン作成イメージのビルド

次のセクションのステップを使用して、ドメイン作成イメージをビルドします。

最初のアーカイブの理解

このサンプルには、イメージのアーカイブZIPファイルの作成に使用する事前定義済アーカイブ・ディレクトリが/tmp/sample/wdt-artifacts/archives/archive-v1に含まれています。

wlsdeployという名前のアーカイブ・トップ・ディレクトリには、applicationsという名前のディレクトリが含まれています。このディレクトリには、myapp-v1というディレクトリに展開されたサンプルJSP webアプリケーションが含まれています。 WDTアーカイブについて覚えておく必要がある3つの重要な点は次のとおりです:

  • ドメイン作成イメージには、複数のWDTアーカイブを含めることができます。
  • WDTアーカイブには、複数のアプリケーション、ライブラリおよびその他のコンポーネントを含めることができます。
  • WDTアーカイブには「適切に定義されたディレクトリ構造」があり、最上位ディレクトリは常にwlsdeployです。
「webアプリケーション・ソースに関心がある場合は、ここをクリックしてJSPコードを参照してください。」

実行中のWebLogic Serverインスタンスに関する重要な詳細が表示されます: つまり、そのドメイン名、クラスタ名、サーバー名、およびサーバーにターゲット指定されているデータ・ソースの名前です。 また、アプリケーション出力がバージョンv1であることがレポートされます。

アーカイブZIPファイルのステージング

イメージを作成するときは、ステージング・ディレクトリ/tmp/sample/wdt-artifacts/wdt-model-files/WLS-v1内のファイルを使用します。 準備として、WDTアプリケーション・アーカイブZIPファイルを含める必要があります。

次のコマンドを実行して、アプリケーション・アーカイブZIPファイルを作成し、必要なディレクトリに配置します:

# Delete existing archive.zip in case we have an old leftover version
$ rm -f /tmp/sample/wdt-artifacts/wdt-model-files/WLS-v1/archive.zip
# Move to the directory which contains the source files for our archive
$ cd /tmp/sample/wdt-artifacts/archives/archive-v1

「WDTアーカイブ・ヘルパー・ツール」を使用して、後でWebLogic Image Toolを実行するときに使用するロケーションにアーカイブを作成します。

$ /tmp/sample/wdt-artifacts/weblogic-deploy/bin/archiveHelper.sh add application -archive_file=/tmp/sample/wdt-artifacts/wdt-model-files/WLS-v1/archive.zip -source=wlsdeploy/applications/myapp-v1

モデル・ファイルのステージング

このステップでは、ステージング済WDTモデルYAMLファイルおよび/tmp/sample/wdt-artifacts/wdt-model-files/WLS-v1ディレクトリのプロパティを確認します。 このディレクトリのモデルは、アーカイブ内のwebアプリケーションを参照し、WebLogic管理サーバーを構成し、WebLogicクラスタを構成します。 これは、単一のプロパティを持つファイルmodel.10.propertiesと、model.10.yamlという2つのファイルのみで構成され、WebLogic構成model.10.yamlを持つモデルYAMLファイルです。

CLUSTER_SIZE=5

WLS model.10.yamlを次に示します:

domainInfo:
    AdminUserName: '@@SECRET:__weblogic-credentials__:username@@'
    AdminPassword: '@@SECRET:__weblogic-credentials__:password@@'
    ServerStartMode: 'prod'

topology:
    Name: '@@ENV:CUSTOM_DOMAIN_NAME@@'
    AdminServerName: 'admin-server'
    Cluster:
        'cluster-1':
            DynamicServers:
                ServerTemplate:  'cluster-1-template'
                ServerNamePrefix: 'managed-server'
                DynamicClusterSize: '@@PROP:CLUSTER_SIZE@@'
                MaxDynamicClusterSize: '@@PROP:CLUSTER_SIZE@@'
                MinDynamicClusterSize: '0'
                CalculatedListenPorts: false
    Server:
        'admin-server':
            ListenPort: 7001
    ServerTemplate:
        'cluster-1-template':
            Cluster: 'cluster-1'
            ListenPort: 8001

appDeployments:
    Application:
        myapp:
            SourcePath: 'wlsdeploy/applications/myapp-v1'
            ModuleType: ear
            Target: 'cluster-1'

resources:
  SelfTuning:
    MinThreadsConstraint:
      SampleMinThreads:
        Target: 'cluster-1'
        Count: 1
    MaxThreadsConstraint:
      SampleMaxThreads:
        Target: 'cluster-1'
        Count: 10
    WorkManager:
      SampleWM:
        Target: 'cluster-1'
        MinThreadsConstraint: 'SampleMinThreads'
        MaxThreadsConstraint: 'SampleMaxThreads'
「JRF `model.10.yaml`を表示し、`RCUDbInfo`スタンザとその`DOMAIN_UID-rcu-access`シークレットへの参照を確認するには、ここをクリックします。」

モデル・ファイルの特徴は次のとおりです:

  • 次を使用してWebLogicドメインを定義します:

    • クラスタcluster-1
    • 管理サーバーadmin-server
    • wlsdeploy/applications/myapp-v1のWDTアーカイブZIPファイルにある、cluster-1のターゲットとして指定されたearアプリケーション
    • 最小スレッド制約SampleMinThreadsおよび最大スレッド制約SampleMaxThreadsで構成されたワーク・マネージャSampleWM
  • マクロを使用して外部値をインジェクトします:

    • プロパティ・ファイルのCLUSTER_SIZEプロパティは、PROPマクロを使用してモデルYAMLファイルのDynamicClusterSizeおよびMaxDynamicClusterSizeフィールドで参照されます。
    • モデル・ファイル・ドメイン名は、ENVマクロを使用してCUSTOM_DOMAIN_NAMEという名前のカスタム環境変数を使用してインジェクトされます。
      • この環境変数は、このサンプルの後半で、そのドメインのenvフィールドを使用して設定します。
      • これにより、同じドメイン作成イメージを使用して、複数の異なる名前のドメインを簡単にデプロイできます。
    • モデル・ファイル管理者のユーザー名とパスワードは、WebLogic資格証明シークレットへのweblogic-credentialsシークレット・マクロ参照を使用して設定されます。
      • このシークレットは、ドメインのwebLogicCredentialsSecretフィールドを使用して参照されます。
      • weblogic-credentialsは、所有ドメインの実際のWebLogic資格証明のシークレット名を常に間接参照する予約名です。

イメージには、複数のプロパティ・ファイル、アーカイブZIPファイルおよびモデルYAMLファイルを含めることができますが、この例ではそれぞれ1つのみを使用します。 WDTモデル・ファイルの命名規則、ファイル・ロード順序およびマクロ構文の詳細は、ユーザー・ドキュメントの「モデル・ファイル」を参照してください。

WITを使用してイメージを作成

ノート: このサンプルでJRFを使用している場合は、次のimagetoolコマンドラインでWLSが発生するたびにJRFを置換します。

この時点で、イメージwdt-domain-image:WLS-v1に必要なすべてのファイルがステージングされ、次のファイルが含まれます:

  • /tmp/sample/wdt-artifacts/wdt-model-files/WLS-v1/model.10.yaml
  • /tmp/sample/wdt-artifacts/wdt-model-files/WLS-v1/model.10.properties
  • /tmp/sample/wdt-artifacts/wdt-model-files/WLS-v1/archive.zip

ここで、イメージ・ツールを使用して、wdt-domain-image:WLS-v1という名前のイメージを作成します。 このツールは、前提条件ステップですでに設定されています。

次のコマンドを実行してイメージを作成し、動作していることを確認します:

$ cd /tmp/sample/wdt-artifacts/wdt-model-files/WLS-v1
$ /tmp/sample/wdt-artifacts/imagetool/bin/imagetool.sh createAuxImage \
  --tag wdt-domain-image:WLS-v1 \
  --wdtModel ./model.10.yaml \
  --wdtVariables ./model.10.properties \
  --wdtArchive ./archive.zip

imagetoolディレクトリが表示されない場合は、「前提条件」でステップが欠落しています。

このコマンドは、WebLogic Image Toolを実行してドメイン作成イメージを作成し、次のことを実行します:

  • 最後のコンテナ・イメージを小さいbusyboxベース・イメージのレイヤーとしてビルドします。
  • WITキャッシュで参照されるWDT ZIPファイルをイメージにコピーします。
    • サンプルの前提条件ステップでキャッシュを設定するときに、キーワードlatestを使用してWITにWDTをキャッシュしたことに注意してください。
    • これにより、WITはそれが目的のWDTバージョンであると暗黙的に想定し、-wdtVersionフラグを渡す必要がなくなります。
  • 指定されたWDTモデル、プロパティおよびアプリケーション・アーカイブをイメージのロケーション/auxiliary/modelsにコピーします。

コマンドが成功すると、次のような出力で終了します:

[INFO   ] Build successful. Build time=36s. Image tag=wdt-domain-image:WLS-v1

また、docker imagesコマンドを実行すると、wdt-domain-image:WLS-v1という名前のイメージが表示されます。

イメージの作成後、WDT実行可能ファイルは/auxiliary/weblogic-deployにあり、WDTモデル、プロパティおよびアーカイブ・ファイルは/auxiliary/modelsにあります。 Dockerイメージでlsを実行して、次のことを確認できます:

$ docker run -it --rm wdt-domain-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 wdt-domain-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 wdt-domain-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

ノート: ローカル・マシンにリモートのKubernetesクラスタ・ワーカー・ノードがある場合は、これらのノードがアクセスできるロケーションにイメージを配置する必要があります。 「Kubernetesクラスタがイメージにアクセスできることの確認」を参照してください。