このサンプルは、「補助イメージ」を使用したModel in Imageドメイン・ホーム・ソース・タイプのデプロイを示しています。 Model in Imageを使用すると、ドメインYAMLファイルをデプロイする前に、WebLogicドメイン・ホームを事前作成する必要がなくなります。 かわりに、Model in ImageはWebLogic Deploy Tooling (WDT)モデルを使用してWebLogic構成を指定します。
WDTモデルは、WebLogic Scripting Tool (WLST)構成スクリプトにかわる便利で簡単な方法です。 モデル・ファイル、変数プロパティ・ファイルおよびアプリケーション・アーカイブ・ファイルを使用して、WebLogicドメインをコンパクトに定義します。 WDTモデルの形式は、オープン・ソースのWebLogic Deploy Tooling GitHubプロジェクトで記述され、WDTアーカイブに必要なディレクトリ構造については、「こちら」で具体的に説明されています。
さらに、Model in Image補助イメージ・オプションを使用すると、WDTモデル・ファイル、WDT変数ファイルおよびWDTアーカイブ・ファイルを、WebLogicイメージとは別の小さなイメージで提供できます。
詳細は、Model in Imageユーザー・ガイドを参照してください。 Model in Imageと他のドメイン・ホーム・ソース・タイプの比較は、「ドメイン・ホーム・ソース・タイプの選択」を参照してください。
このサンプルは、5つのModel in Imageユースケースを示しています:
初期状態: 次の特性を持つ初期WebLogicドメイン:
wdt-domain-image:WLS-v1:
v1を含むWDTアーカイブsample-domain1に設定されたmetadata.nameおよびweblogic.domainUIDのラベルspec.domainHomeSourceType: FromModelspec.imageは、WebLogicおよびJavaインストールを含むWebLogicイメージに設定されます。更新1: モデルConfigMapを使用してデータ・ソースを動的に追加し、ドメインを再起動(ローリング)して変更を伝播することで、初期ドメインの更新を示します。 更新:
spec.model.configMap更新2: 2つ目のドメインのデプロイを示します(更新1ユースケース・ドメインと同様)。 更新:
metadata.nameおよびweblogic.domainUidラベルは、sample-domain1ではなくsample-domain2になりますsample-domain1ではなくsample-domain2で修飾されますenv変数が変更されました更新3: 更新されたアプリケーションを含む更新された補助イメージをUpdate 1ユース・ケース・ドメインにデプロイし、そのドメインを再起動(ローリング)して変更を伝播します。 更新:
wdt-domain-image:WLS-v2。次のものを使用したwdt-domain-image:WLS-v1イメージと同様です:
myapp-v1ではなくmyapp-v2ディレクトリ・パスにある更新されたwebアプリケーションv2spec.imageはwdt-domain-image:WLS-v2です更新4: ドメインの再起動(ロール)を必要とせずに、実行中の更新1または更新3 WebLogicドメイン構成を動的に更新することを示します。 更新:
spec.configuration.model.onlineUpdateをenabled: trueに設定このサンプルには、次のファイルおよびディレクトリが含まれています:
| 場所 | 説明 |
|---|---|
kubernetes/samples/scripts/create-weblogic-domain/model-in-image/domain-resources |
ドメインYAMLファイル。 |
kubernetes/samples/scripts/create-weblogic-domain/wdt-artifacts/archives |
WebLogic Deploy ToolingアプリケーションのZIPアーカイブのソース・コードのロケーション。 |
kubernetes/samples/scripts/create-weblogic-domain/wdt-artifacts/wdt-model-files |
各モデル・イメージのWDT YAMLファイル、WDTプロパティおよびWDTアーカイブZIPファイルのステージング。 model imagesのディレクトリには、それぞれのイメージの名前が付けられます。 |
kubernetes/samples/scripts/create-weblogic-domain/model-in-image/model-configmaps/datasource |
データ・ソースを構成するモデルConfigMapのステージング・ファイル。 |
kubernetes/samples/scripts/create-weblogic-domain/model-in-image/model-configmaps/workmanager |
ワーク・マネージャ・スレッド制約を構成するモデルConfigMapのステージング・ファイル。 |
kubernetes/samples/scripts/create-weblogic-domain/ingresses |
イングレス・リソース。 |
kubernetes/samples/scripts/create-weblogic-domain/model-in-image/utils/patch-introspect-version.sh |
実行中のドメインspec.introspectVersionフィールドを更新するためのユーティリティ・スクリプト(動的でない属性が更新された場合のみ、-instrospectおよびrollになります)。 |
kubernetes/samples/scripts/create-weblogic-domain/model-in-image/utils/patch-restart-version.sh |
実行中のドメインspec.restartVersionフィールドを更新するためのユーティリティ・スクリプト(これにより、領域がインスペクトされ、ロールされます)。 |
kubernetes/samples/scripts/create-weblogic-domain/model-in-image/utils/patch-enable-online-update.sh |
実行中のドメインspec.configuration.model.onlineUpdateフィールドをenabled: true (オンライン更新機能を有効にする)に更新するためのユーティリティ・スクリプト。 |
また、この例では、オペレータ・ソースkubernetes/samples/scripts/domain-lifecycleディレクトリにあるwaitForDomain.shサンプル・ライフサイクル・スクリプトを使用しています。 これは、オプションで、ドメイン内のポッドが予想されるrestartVersion, introspectVersion, Completed, imageおよびready状態に達するまで待機するユーティリティ・スクリプトです。
Kubernetesクラスタ・ワーカー・ノードのいずれかに対してリモートのマシンからサンプルを実行する場合は、作成するイメージにクラスタ内の任意のノードからアクセスできることを確認する必要があります。
たとえば、クラスタがアクセスできるコンテナ・レジストリにイメージを配置する権限がある場合は、次のようにします:
docker tagします。docker pushします。image:値を、リポジトリ内のYAMLファイルのimageタグに合致するように修正します。docker secretをDomainが使用するのと同じネームスペースにデプロイし、DomainのYAMLファイルのimagePullSecrets:を変更してこのsecretを参照します。または、クラスタ内の各ワーカー・ノードのローカル・イメージ・キャッシュにアクセスできる場合は、Dockerコマンドを使用してイメージをファイルに保存し、イメージ・ファイルを各ワーカー・ノードにコピーし、dockerコマンドを使用してイメージ・ファイルをノードのイメージ・キャッシュにロードできます。
詳細は、「イメージをプルできません」 FAQを参照してください。
関連するユーザー・ドキュメントの参照先は、次を参照してください: