このドキュメントでは、一般的なModel in Imageドメインの作成およびデプロイに必要なものについて説明します。
オペレータをデプロイし、Model in Imageドメインの目的のネームスペースをモニタリングしていることを確認します。 「オペレータの管理」および「クイック・スタート」を参照してください。
Model in Imageには、WebLogic Serverインストールを含むイメージが必要です。
WebLogic Server 12.2.1.4以降、container-registry.oracle.com/middleware/weblogic:12.2.1.4
などのOracle Container Registry事前作成ベース・イメージから開始できます。
container-registry.oracle.com/middleware/weblogic
内のイメージは、パッチが適用されていないイメージです。 常に、container-registry.oracle.com/middleware/weblogic_cpu
からパッチを適用したイメージを使用するか、独自のパッチを適用したイメージをビルドする必要があります(「パッチを適用したカスタム・イメージの作成」を参照)。
ベース・イメージの例はGAイメージで、パブリック・インターネットから環境を使用できないデモおよび開発目的「のみ」に適しています。これらは「本番で使用できません」。 本番では、常にOCRのCPU (パッチ適用済)イメージを使用するか、WebLogic Image Tool (WIT)と--recommendedPatches
オプションを使用してイメージを作成する必要があります。 詳細は、「Oracle WebLogic Serverの本番環境の保護」の「最新のパッチと更新の適用」を参照してください。
このアプローチの例は、Model in Imageのサンプルを参照してください。 Oracle Container Registryにログインしてイメージのライセンス契約に同意する方法の詳細は(Oracle Container Registryイメージのプルを許可するために必要)、この「ドキュメント」を参照してください。
または、「パッチを適用したカスタム・イメージの作成」の説明に従って独自のベース・イメージを手動でビルドできます。 これは、ベース・イメージに追加のパッチを含める場合に便利です。
ノート: 2023年6月現在、Oracle WebLogic Server 12.2.1.3はサポートされなくなっています。 WebLogic Server 12.2.1.3の最後のCritical Patch Updates (CPU)イメージは、2023年4月に公開されました。
Model in Imageでは、その(オプションの) WDTモデル・ファイルおよび(必須の) WDTホームのポッドに次のディレクトリ構造が必要です :
ドメイン・リソース属性 | 目次 | デフォルト・ディレクトリ |
---|---|---|
domain.spec.configuration.model.modelHome |
ゼロ以上のモデル.yaml 、.properties 、または.zip ファイルをアーカイブします。 |
オプション。 モデルYAMLファイル、.properties ファイルおよびアプリケーション.zip アーカイブを含むWDTモデル・ホームのロケーション。 「補助イメージ」が構成されていない場合は/u01/wdt/models に、それ以外の場合は/aux/models にデフォルト設定されます。 |
domain.spec.configuration.model.wdtInstallHome |
解凍したWDTインストール(必須)。 | オプション。 WDTホームのロケーション。 「補助イメージ」が構成されていない場合は/u01/wdt/weblogic-deploy に、それ以外の場合は/aux/weblogic-deploy にデフォルト設定されます。 |
modelHome
およびwdtInstallHome
をデフォルト以外の値に設定すると、オペレータは、「補助イメージ」からコピーされたWDTモデル・ファイルとWDTホームを無視します。
Model in Imageには、WebLogicインストール(「WebLogic Serverイメージ」を参照)と次のアクセスを含むイメージが最小限必要です:
domain.spec.configuration.model.wdtInstallHome
のWDTインストール。domain.spec.configuration.model.modelHome
ディレクトリまたは「オプションのWDTモデルConfigMap」にドメインを構成する1つ以上のWDTモデル.yaml
ファイル。domain.spec.configuration.model.modelHome
ディレクトリまたは「オプションのWDTモデルConfigMap」に0個以上のWDTモデル.properties
ファイルがあります。domain.spec.configuration.model.modelHome
ディレクトリに0個以上のWDTモデル・アプリケーション.zip
アーカイブがあります。 アプリケーション・アーカイブは「オプションのWDTモデルConfigMap」でサポートされていないため、モデル・ホームでアーカイブを指定する必要があります。 Model in Image WDTモデル・ファイル、WDT変数ファイルおよびWDTアーカイブ・ファイル(総称してWDTモデル・ファイル)を指定するメソッドは複数あります:
補助イメージの使用: 「補助イメージ」を使用して、目的のファイルを含む1つ以上の小さいイメージを作成します。
これが推奨される最良のアプローチです。 イントロスペクション・ジョブで見つけられるように、各小さいイメージのファイルを各ポッドのファイル・システムの/aux/models
および/aux/weblogic-deploy
ディレクトリに自動的にコピーします。
メイン・イメージに含める: WDTモデル・ファイルは、ドメイン・リソースdomain.spec.image
のdomain.spec.configuration.model.modelHome
およびdomain.spec.configuration.model.wdtInstallHome
ディレクトリにベース・イメージのレイヤーとして含めることができます(ベース・イメージにはWebLogicインストールが含まれます)。
ノート: 補助イメージのないModel in Image (WDTモデルおよびインストール・ファイルは、WebLogic Serverインストールと同じイメージに含まれています)は、WebLogic Kubernetes Operatorバージョン4.0.7では非推奨です。 Oracleでは、Model in Imageを補助イメージと「一緒に」 「補助イメージ」を参照してください。
次のいずれかのメソッドを使用します。
永続ボリューム要求(PVC)の使用: このメソッドは、高度なユースケース専用です。 WDTモデルYAML、変数またはアーカイブ・ファイルを「永続ボリューム要求」に指定し、configuration.model.modelHome
およびconfiguration.model.wdtInstallHome
をPVCのマウント・ロケーション内の対応するディレクトリに変更します。
WDTモデルConfigMapの使用: WDTモデルYAMLおよび.properties
ファイルには、「WDTモデルConfigMap(オプション)」を使用します。 これは、前述のいずれかのメソッドと組み合せることができます。ほとんどの場合、これらのメソッドのいずれかによって提供されるモデルへのランタイム更新を容易にするために使用されます。
モデル・ファイルの構文の詳細は、「WDTモデル・ファイルの操作」を参照してください。
イメージにすでに指定されているもの以外のモデル.yaml
および.properties
ファイルを定義するWDTモデルConfigMapを作成し、ドメインYAMLファイルのconfiguration.model.configMap
属性を使用してこのConfigMapを参照できます。 指定されたイメージがすでにモデルを完全に定義している場合、これはオプションです。
WDTモデルのConfigMapファイルは、ドメイン・ホームが作成される前に、実行時にイメージに定義されたWDTファイルとマージされます。 ConfigMapファイルは、イメージ内で指定したモデル構成に対して追加、削除または変更できます。
たとえば、追加の.yaml
および.properties
ファイルを/home/acmeuser/wdtoverride
というディレクトリに配置し、次のコマンドを実行します:
$ kubectl -n MY-DOMAIN-NAMESPACE \
create configmap MY-DOMAINUID-my-wdt-config-map \
--from-file /home/acmeuser/wdtoverride
$ kubectl -n MY-DOMAIN-NAMESPACE \
label configmap MY-DOMAINUID-my-wdt-config-map \
weblogic.domainUID=MY-DOMAINUID
モデル・ファイルの構文およびロード順序については、「WDTモデル・ファイルの操作」を参照してください。WDTモデルConfigMapsを使用して実行中のドメインのモデル構成を更新する方法については、「ランタイムの更新」を参照してください。
Model in Imageには、セキュアなpassword
キーを使用したランタイム暗号化シークレットが必要です。 このシークレットは、ランタイムのConfigMapまたはログに追加する前に、モデルおよびドメイン・ホーム・ファイルを暗号化するためにオペレータによって使用されます。 ドメインを完全に停止した後はいつでもpassword
を安全に変更できますが、実行中のドメインの存続期間中は同じままにする必要があります。 作成するランタイム暗号化シークレットには任意の名前を付けることができますが、クリーンアップ・スクリプトがシークレットを見つけて削除できるように、シークレットにドメインUIDの名前を付けてラベルを付けることをお薦めします。
ノート: ランタイム暗号化パスワードは共有する必要はなく、ドメインの存続期間中のみ存在する必要があるため、パスワード・ジェネレータを使用できます。
例:
$ kubectl -n MY-DOMAIN-NAMESPACE \
create secret generic MY-DOMAINUID-runtime-encrypt-secret \
--from-literal=password=MY-RUNTIME-PASSWORD
$ kubectl -n MY-DOMAIN-NAMESPACE \
label secret MY-DOMAINUID-runtime-encrypt-secret \
weblogic.domainUID=MY-DOMAINUID
対応するドメインYAMLファイル・スニペット:
configuration:
model:
runtimeEncryptionSecret: MY-DOMAINUID-runtime-encrypt-secret
モデル・ファイル内のマクロの必要に応じて、追加のシークレットを作成します。 たとえば、シークレットを参照するモデル内の@@SECRET
マクロを使用してアクセスされるデータベースURLおよび資格証明を格納できます。 モデル・マクロの説明については、「モデル・ファイル」を参照してください。
次のドメイン・フィールドは、Model in Imageドメインに固有です。
ドメイン・リソース属性 | ノート |
---|---|
domainHomeSourceType |
必須。 FromModel に設定します。 |
domainHome |
イメージ内の空または存在しないディレクトリを参照する必要があります。 永続ボリュームのマウント・パスは含めないでください。 ポッドが再起動するたびに、Model in ImageによってWebLogic Serverポッドのドメイン・ホームが再作成されることに注意してください。 |
configuration.model.configMap |
オプション。 「WDTモデルConfigMap(オプション)」に従って追加のモデルをConfigMapに格納した場合に構成します。 |
configuration.secrets |
オプション。 カスタムKubernetesシークレットを参照するマクロがイメージまたはConfigMapモデルに含まれている場合は、この配列を構成します。 たとえば、マクロがシークレットmy-secret およびmy-other-secret に依存している場合は、[my-secret, my-other-secret] に設定します。 |
configuration.model.runtimeEncryptionSecret |
必須。 すべてのModel in Imageドメインは、実行時暗号化シークレットを指定する必要があります。 「必要なランタイム暗号化シークレット」を参照してください。 |
configuration.model.domainType |
ドメインのタイプを設定します。 WLS がデフォルトです。 「WDTドメイン・タイプ」を参照してください。 |
configuration.model.runtimeEncryptionSecret |
必須。 すべてのModel in Imageドメインは、実行時暗号化シークレットを指定する必要があります。 「必要なランタイム暗号化シークレット」を参照してください。 |
configuration.model.modelHome |
オプション。 モデルYAMLファイル、.properties ファイルおよびアプリケーション.zip アーカイブを含むWDTモデル・ホームのロケーション。 「補助イメージ」が構成されていない場合は/u01/wdt/models に、それ以外の場合は/aux/models にデフォルト設定されます。 |
configuration.model.wdtInstallHome |
オプション。 WDTホームのロケーション。 「補助イメージ」が構成されている場合はデフォルトで/aux/weblogic-deploy 、それ以外の場合は/u01/wdt/weblogic-deploy に設定されます。 |
modelHome
およびwdtInstallHome
をデフォルト以外の値に設定すると、オペレータは、「補助イメージ」からコピーされたWDTモデル・ファイルとWDTホームを無視します。
NOTES:
image
やclusters
フィールドなど、すべてのドメイン・ホーム・ソース・タイプに共通する追加属性があります。 ドメイン・フィールドの完全なリストは、ドメイン・リソース「スキーマ」および「ドキュメンテーション」を参照してください。
完全に指定されたModel in ImageドメインYAMLファイルの例は、「Model in Imageサンプル」のkubernetes/samples/scripts/create-weblogic-domain/model-in-image/domain-resources
GitHubディレクトリを参照してください。
ドメイン・ホームのソース・タイプに関係なく、常にイメージの外部に状態を保持することをお薦めします。 これには、クラスタ・データベース・リース表、JMSおよびトランザクション・ストア、EJBタイマーなどが含まれます。 これにより、コンテナが破棄されたときにデータが失われることがなくなります。
組込みデータベース・サーバーの高可用性機能を利用するには、状態をデータベースに保持することをお薦めします。また、最短距離を除くすべてのサイトの障害時リカバリでは、データの統合およびレプリケートに常に単一のデータベース・サーバー(DataGuard)を使用する必要があります。
詳細は、次のドキュメントを参照してください。