機械翻訳について

Model in image

目次

導入

このサンプルは、「補助イメージ」を使用した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:
      • WebLogic Deploy Toolingソフトウェアがインストールされているディレクトリ(WDTホームとも呼ばれます)。
      • 展開されたJava EE webアプリケーションのバージョンv1を含むWDTアーカイブ
      • WDTモデルの特徴は次のとおりです:
        • WebLogic Administration Server
        • WebLogicクラスタ
        • webアプリケーションへの参照
    • WebLogicおよびJavaインストールを含むWebLogicイメージ。
    • Kubernetesのシークレット:
      • WebLogic資格証明
      • WDTランタイム・パスワードが必要です
    • 次のものを含むドメイン:
      • sample-domain1に設定されたmetadata.nameおよびweblogic.domainUIDのラベル
      • spec.domainHomeSourceType: FromModel
      • spec.imageは、WebLogicおよびJavaインストールを含むWebLogicイメージに設定されます。
      • シークレットへの参照
  • 更新1: モデルConfigMapを使用してデータ・ソースを動的に追加し、ドメインを再起動(ローリング)して変更を伝播することで、初期ドメインの更新を示します。 更新:

    • Kubernetesのシークレット:
      • 初期状態のユース・ケースに加えて、データ・ソース資格証明およびURLのシークレットと同じです
    • Kubernetes ConfigMapとの組合せ:
      • クラスタにターゲット指定されたデータ・ソースのWDTモデル
    • ドメイン。初期ユースケースと同じで、次のものがあります:
      • ConfigMapを参照するspec.model.configMap
      • データ・ソース・シークレットへの参照
  • 更新2: 2つ目のドメインのデプロイを示します(更新1ユースケース・ドメインと同様)。 更新:

    • KubernetesシークレットおよびConfigMap:
      • 更新1のユースケースと似ていますが、名前とラベルが新しいドメインUIDで修飾される点が異なります
    • ドメイン(更新1ユースケースと似ていますが、次の点が異なります):
      • そのmetadata.nameおよびweblogic.domainUidラベルは、sample-domain1ではなくsample-domain2になります
      • そのシークレット/ConfigMap参照は、sample-domain1ではなくsample-domain2で修飾されます
      • 新しいドメイン名を設定するenv変数が変更されました
  • 更新3: 更新されたアプリケーションを含む更新された補助イメージをUpdate 1ユース・ケース・ドメインにデプロイし、そのドメインを再起動(ローリング)して変更を伝播します。 更新:

    • 補助イメージwdt-domain-image:WLS-v2。次のものを使用したwdt-domain-image:WLS-v1イメージと同様です:
      • myapp-v1ではなくmyapp-v2ディレクトリ・パスにある更新されたwebアプリケーションv2
      • 新しいwebアプリケーション・パスを指す更新されたモデル
    • ドメイン:
      • 更新1のユースケースと同じですが、spec.imagewdt-domain-image:WLS-v2です
  • 更新4: ドメインの再起動(ロール)を必要とせずに、実行中の更新1または更新3 WebLogicドメイン構成を動的に更新することを示します。 更新:

    • Kubernetes ConfigMapとの組合せ:
      • ワーク・マネージャの最小スレッド数および最大スレッド数制約のWDTモデルと更新1ユースケースと同じデータ・ソース
    • Kubernetesのシークレット:
      • 次の場合を除き、更新1および更新3のユースケースと同じです:
      • 新しいパスワードと最大プール容量の増加により、更新されたデータ・ソース・シークレット
    • 更新1または更新3のユースケースと同じドメインと、次のものが含まれます:
      • spec.configuration.model.onlineUpdateenabled: 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クラスタがイメージにアクセスできることの確認

Kubernetesクラスタ・ワーカー・ノードのいずれかに対してリモートのマシンからサンプルを実行する場合は、作成するイメージにクラスタ内の任意のノードからアクセスできることを確認する必要があります。

たとえば、クラスタがアクセスできるコンテナ・レジストリにイメージを配置する権限がある場合は、次のようにします:

  • イメージを作成した後、次の手順を実行します:
    • ターゲット・イメージ名(必要に応じて、レジストリ・ホスト名、ポート、リポジトリ名およびタグを含む)を使用してイメージをdocker tagします。
    • タグ付けされたイメージをターゲット・リポジトリにdocker pushします。
  • ドメインをデプロイする前に:
    • ドメインYAMLファイルのimage:値を、リポジトリ内のYAMLファイルのimageタグに合致するように修正します。
    • リポジトリにログインが必要な場合は、対応するKubernetesのdocker secretをDomainが使用するのと同じネームスペースにデプロイし、DomainのYAMLファイルのimagePullSecrets:を変更してこのsecretを参照します。

または、クラスタ内の各ワーカー・ノードのローカル・イメージ・キャッシュにアクセスできる場合は、Dockerコマンドを使用してイメージをファイルに保存し、イメージ・ファイルを各ワーカー・ノードにコピーし、dockerコマンドを使用してイメージ・ファイルをノードのイメージ・キャッシュにロードできます。

詳細は、「イメージをプルできません」 FAQを参照してください。

リファレンス

関連するユーザー・ドキュメントの参照先は、次を参照してください: