このサンプルは、「補助イメージ」を使用した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: FromModel
spec.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アプリケーションv2
spec.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を参照してください。
関連するユーザー・ドキュメントの参照先は、次を参照してください: