このドキュメントでは、独自のドメインおよびクラスタ・リソースを作成する方法について説明します。
ドメイン・リソースは、WebLogicドメイン構成、WebLogicインストール、「イメージ」、およびドメインの実行に必要なその他のすべてのものを参照します。 WebLogicドメイン構成内のWebLogicクラスタは、オペレータ4.0から、ドメイン・リソースに加えてクラスタ・リソースにオプションで関連付けることができます。 このクラスタ・リソースにより、kubectl scale
、Kubernetes組込みのHorizontal Pod Autoscalingまたは同様のツールを使用して、実行中のメンバー・サーバーの数を簡単にスケーリングできます。 これらのクラスタ・リソースは、ドメイン・リソースによって参照されている場合にのみアクティブになります。 ノート: このクラスタ・リソースは、ドメイン・リソースとは異なる新しいカスタム・リソースです。 以前のオペレータ・バージョンでは、ドメイン・リソース・クラスタ・セクションで、WebLogicクラスタのライフサイクル属性を指定しました。 オペレータ4.0から、ドメイン・リソース・クラスタ・セクションはクラスタ・リソースの名前のみを参照します。すべてのライフサイクル属性は、新しいクラスタ・リソース・オブジェクトで指定されます。
オペレータ・プロジェクトに付随するサンプルの多くには、一連の簡易入力からドメインおよびクラスタの初期リソースを生成するスクリプトが含まれていますが、これらのリソースは、オペレータが各WebLogic Serverドメインをどのように管理するかの実際の情報源です。 様々なサンプルによって生成されたYAMLファイルから開始するか、ドメインおよびクラスタ・リソースを手動で作成するか、他のツールを使用して、ここまたはこのドキュメントで参照されているスキーマに基づいて作成することをお薦めします。
ドメインおよびクラスタ・リソースの作成を続行する前に、次の前提条件を満たす必要があります:
helm upgrade
を実行してオペレータを更新する必要がある場合があります。 詳細は、「ネームスペース管理」を参照してください。 username
およびpassword
を含むKubernetesシークレットを参照するspec.webLogicCredentialsSecret
フィールドがあります。 ドメインおよびクラスタは、YAMLファイルを使用して定義されます。 実行するWebLogic Serverドメインごとに、ドメイン・リソースを定義する1つのYAMLファイルを作成し、オプションでWebLogicクラスタごとに1つのクラスタ・リソースを作成して適用する必要があります。 次の参照例では、サンプル・スクリプトによってYAMLファイルが生成され、ベースとして使用できます。 ファイルをコピーし、ドメインを定義するすべてのWebLogic Serverドメイン・パラメータと一致するようにデフォルト設定をオーバーライドします。
WebLogic Serverのサンプル、Domain home on a PV、Domain home in ImageおよびModel in Imageを参照してください。
YAMLファイルを書き込んだ後、kubectl apply -f
コマンドを使用してドメイン・アーティファクトを作成します。
$ kubectl apply -f domain-resource.yaml
$ kubectl apply -f cluster-resource.yaml
ドメインおよびクラスタが作成されたことを確認するには、次のコマンドを使用します:
$ kubectl get weblogic -n <namespace>
ドメインのステータスなど、実行中のドメインのすべての属性を表示するには、次のコマンドを使用します:
$ kubectl describe domain <domain-resource-name> -n <namespace>
または、次のコマンドを実行します:
$ kubectl get domain <domain-resource-name> -n <namespace> -o yaml
クラスタのすべての属性を表示するには、次のコマンドを使用します:
$ kubectl describe cluster <cluster-resource-name> -n <namespace>
ドメイン・リソースのmetadata
セクションでは、ドメインとそのネームスペースを指定します。 ドメインの名前は、オペレータが同じドメイン名を持つ可能性のあるKubernetesクラスタで実行されているドメインを区別するために使用するdomainUID
のデフォルト値です。 ドメイン名はネームスペース内で一意であり、domainUID
はクラスタ全体で一意である必要があります。 domainUID
、ドメイン・リソース名およびドメイン名(WebLogicドメイン構成のもの)はすべて異なる場合があります。 同様に、クラスタ・リソースのmetadata
セクションには、クラスタとそのネームスペースの名前を指定します。 クラスタ・リソースのmetadata.name
は、ドメイン・リソースのspec.clusters
フィールドから参照される必要があります。 この名前は、WebLogicクラスタの名前と同じである必要はありません。 クラスタ・リソースのspec.clusterName
フィールドには、ドメイン構成からWebLogicクラスタの名前を指定する必要があります。
ドメイン・リソースのspec
セクションには、WebLogic Serverインスタンスの意図したランタイム状態や、リソースの制約、スケジュール要件、ボリューム・マウントなど、Kubernetesポッドまたはサービスの生成に関する詳細など、ドメインの意図した実行状態が説明されています。 クラスタ・リソースのspec
セクションでは、そのクラスタの実行対象のメンバー・サーバーの数について説明し、ドメイン・リソースから継承されるその他の設定を設定またはオーバーライドできます。
オペレータは、デプロイされたドメインまたはクラスタ・リソースのstatus
セクションを自動的に更新して、WebLogic Serverインスタンスの実行時状態や現在のヘルスなど、実際の実行状態を記述します。
これらのセクションのフィールドに使用できる参照を次に示します:
kubectl explain
の使用kubectl explain
を使用して、任意のフィールドの説明にアクセスできます。 たとえば、次のコマンドではdomainUID
フィールドの説明が表示されます:
$ kubectl explain domain.spec.domainUID
KIND: Domain
VERSION: weblogic.oracle/v9
FIELD: domainUID <string>
DESCRIPTION:
Domain unique identifier. It is recommended that this value be unique to
assist in future work to identify related domains in active-passive
scenarios across data centers; however, it is only required that this value
be unique within the namespace, similarly to the names of Kubernetes
resources. This value is distinct and need not match the domain name from
the WebLogic domain configuration. Defaults to the value of
`metadata.name`.
ノート: VERSION
フィールドの値は、使用しているオペレータのバージョンによって異なる場合があります。
ドメインspec
セクションには、管理サーバー、特定のクラスタまたは特定の管理対象サーバーに固有のドメイン操作およびサブセクションを構成するための要素が含まれます。 クラスタのspec
セクションには、Javaオプション、環境変数、追加のPodコンテンツ、およびクラスタ・メンバーを明示的に起動、停止または再起動する機能など、WebLogicクラスタのすべての管理対象サーバー・メンバーのライフサイクル・オプションを構成する要素が含まれています。
ドメイン識別、コンテナ・イメージおよびドメイン・ホームに関連する要素:
domainUID
: ドメインの一意の識別子。 この識別子は45文字以下にする必要があります(詳細は、「Kubernetesリソース名の制限を満たす」を参照してください)。 将来の作業でデータ・センター全体のアクティブ/パッシブ・シナリオの関連ドメインを識別できるように、この値は一意にすることをお薦めします。ただし、Kubernetesリソースの名前と同様に、この値はネームスペース内でのみ一意にする必要があります。 この値は別個であり、WebLogicドメイン構成のドメイン名と一致する必要はありません。 デフォルトはmetadata.name
の値です。 image
: WebLogicコンテナ・イメージ。domainHomeSourceType
がイメージまたはFromModel (補助イメージを指定しない場合)の場合は必須です。それ以外の場合は、デフォルトでcontainer-registry.oracle.com/middleware/weblogic:12.2.1.4
に設定されます。 WARNING : デフォルトのイメージにはパッチが適用されないため、最新のパッチがインストールされたイメージ(container-registry.oracle.com/middleware/weblogic_cpu:12.2.1.4-slim-jdk8-ol8
など)を使用するには、必ず指定する必要があります。 詳細は、「Oracle Container Registryイメージの理解」を参照してください。 imagePullPolicy
: WebLogicコンテナ・イメージのイメージ・プル・ポリシー。 有効な値は、Always、NeverおよびIfNotPresentです。 イメージが:latest
; IfNotPresentで終わる場合は常ににデフォルト設定されます。そうでない場合は、。 すべてのノードのイメージが同じになるようにするには、タグを変更せずに更新されるすべてのイメージを常にに設定する必要があります。 imagePullSecrets
: WebLogicコンテナ・イメージのイメージ・プル・シークレットのリスト。domainHome
: コンテナ内のWebLogicドメイン構成を含むディレクトリ。 デフォルトは/shared/domains/domains/です。 domainHomeSourceType
がPersistentVolumeの場合、 domainHomeSourceType
がImageの場合、デフォルトは/u01/oracle/user_projects/domains/です。 デフォルトは/u01/domains/です。 domainHomeSourceType
がFromModelの場合、domainHomeSourceType
: ドメイン・ホーム・ファイル・システムのソース・タイプ: 有効な値: Image, PersistentVolume, FromModel. イメージは、image
フィールドで指定されたコンテナ・イメージにドメイン・ホーム・ファイル・システムが存在することを示します。 PersistentVolumeは、ドメイン・ホーム・ファイル・システムが永続ボリュームにあることを示します。 FromModelは、WDTドメイン・モデルに基づいてオペレータによってドメイン・ホーム・ファイル・システムが作成および管理されることを示します。 dataHome
: デフォルト・ファイル・ストアおよびカスタム・ファイル・ストアのデータ・ストレージ用のサーバー・コンテナ内のオプション・ディレクトリ。 dataHome
が指定されていないか、その値が設定されていないか空の場合、データ・ストレージ・ディレクトリはWebLogicドメイン構成から決定されます。 ロギングに関連する要素:
includeServerOutInPodLog
: サーバーの.outファイルをポッド・ログに含めるかどうかを指定します。 デフォルトはtrueです。 logHome
: ドメイン、ノード・マネージャ、サーバー・ログ、サーバー*.out、イントロスペクタ.out、およびオプションでHTTPアクセス・ログ・ファイル(httpAccessLogInLogHome
がtrueの場合)を格納するサーバー・コンテナ内のディレクトリ。 logHomeEnabled
がfalseの場合は無視されます。 logHomeLayout
も参照してください。 logHomeEnabled
: ログ・ホーム・フォルダを有効にするかどうかを指定します。 domainHomeSourceType
がPersistentVolumeの場合はtrue、それ以外の場合はfalseにデフォルト設定されます。 logHomeLayout
: logHomeEnabled
がtrue
に設定されている場合の、logHome
ディレクトリでのログ・ファイルの編成方法を指定します。 デフォルトはByServers
で、ドメイン・ログおよびintrospector.out
はルート・レベルに配置され、他のすべてのログ・ファイルはlogHome/servers/<server-name>/logs
に編成されます。 Flat
を指定すると、すべてのファイルがルート・レベルに配置されます。 httpAccessLogInLogHome
: サーバーのHTTPアクセス・ログ・ファイルを、logHome
で指定されたのと同じディレクトリに書き込むかどうかを指定します。 それ以外の場合、サーバーのHTTPアクセス・ログ・ファイルは、WebLogicドメイン構成で構成されたディレクトリに書き込まれます。 デフォルトはtrueです。 fluentdSpecification
: 自動fluentdサイドカー・インジェクション。 指定した場合、オペレータは、fluentdを実行する各WebLogic Serverインスタンスとともにサイドカー・コンテナをデプロイ 失敗の再試行に関連する要素:
failureRetryIntervalSeconds
: 重大失敗後の次の再試行の開始までの待機時間(秒)。 デフォルトは120です。 failureRetryLimitMinutes
: オペレータが重大失敗の再試行を停止するまでの時間(分)。 デフォルトは1440です。 セキュリティに関連する要素:
webLogicCredentialsSecret
: username
およびpassword
フィールドの下でWebLogic Serverを起動するために必要なユーザー名とパスワードを含むKubernetesのシークレットへの参照。configuration
の下にある次の要素も参照してください。ドメイン起動と停止に関連する要素:
serverStartPolicy
: WebLogic Serverインスタンスを起動するかどうかの決定の戦略。 有効な値は、AdminOnly、NeverまたはIfNeededです。 デフォルトはIfNeededです。 restartVersion
: このフィールドを変更すると、オペレータがWebLogic Serverインスタンスを起動します。replicas
: ドメイン構成のWebLogicクラスタごとに開始するクラスタ・メンバーの管理対象サーバー・インスタンスのデフォルト数。ただし、クラスタ・リソースのクラスタにreplicas
が指定されている場合を除きます。
managedServers
フィールドの下のエントリで特定の管理対象サーバーを開始するように指定されていないかぎり、ソートされたリストからreplicas
まで、オペレータが管理対象サーバーを起動します。 その場合、指定した管理対象サーバーが起動され、まだ起動されていないクラスタ・メンバーをソート済リストでさらに検索することで、replicas
数まで追加のクラスタ・メンバーが起動されます。 クラスタ・メンバーがmanagedServers
のエントリのために起動された場合、クラスタでは、そのreplicas
数よりも多くのクラスタ・メンバーが実行されている可能性があります。 デフォルトは1です。 maxClusterConcurrentStartup
: clusters
フィールドで特定のクラスタにmaxConcurrentStartup
が指定されていない場合に、オペレータが特定のクラスタに対してパラレルで起動するクラスタ・メンバー管理対象サーバー・インスタンスの最大数。 値0は、制限が構成されていないことを意味します。 デフォルトは0です。 maxClusterConcurrentShutdown
: レプリカ数を減らして部分的に停止しているときに、クラスタがパラレルで停止するWebLogic Serverインスタンスのデフォルトの最大数。introspectVersion
: このフィールドを変更すると、オペレータはWebLogicドメイン構成のイントロスペクションを繰り返します(イントロスペクションの開始を参照)。 新しいWebLogicクラスタまたは管理対象サーバー・インスタンスの追加、構成オーバーライドの再生成、domainHomeSourceType
がFromModelの場合のWebLogicドメイン・ホームの再生成など、ドメイン構成の変更をオペレータが認識するには、イントロスペクションを繰り返す必要があります。 イントロスペクションは、フル・ドメインの停止後にサーバーが最初に起動または再起動されたときに、このフィールドを変更せずに自動的に行われます。 FromModel domainHomeSourceType
では、「ここにリストされた」フィールドが変更されたために実行中のサーバーを再起動する必要がある場合にもイントロスペクションが発生します。 overrideDistributionStrategy
も参照してください。 WebLogicドメイン構成の指定およびオーバーライドに関連する要素:
これらの要素はconfiguration
の下にあります。
overridesConfigMap
: WebLogic構成オーバーライドのConfigMapの名前。overrideDistributionStrategy
: domainHomeSourceType
がPersistentVolumeまたはImageの場合に、イントロスペクション後に、更新された構成オーバーライドをすでに実行中のWebLogic Serverインスタンスに分散する方法を決定します。 構成オーバーライドは、シークレット、overridesConfigMap
フィールドおよびWebLogicドメイン・トポロジからのイントロスペクション中に生成されます。 有効な値は動的です。つまり、オペレータは、更新された構成オーバーライドを実行中のサーバーに動的に分散します。また、OnRestartは、サーバーの次回再起動後にのみ、更新された構成オーバーライドを使用します。 OnRestart
を選択すると、更新された構成オーバーライドが使用可能なときにサーバーが再起動されることはありません。 introspectVersion
も参照してください。 デフォルトはDynamic
です。 secrets
: WebLogic 構成オーバーライドまたはモデルのシークレットの名前のリスト。introspectorJobActiveDeadlineSeconds
: イントロスペクタ・ジョブのタイムアウト値(秒)。 このフィールドを指定すると、オペレータのConfigMap data.introspectorJobActiveDeadlineSeconds
値は無視されます。 デフォルトは120秒です。 これらの要素はconfiguration.model
の下にあり、domainHomeSourceType
がFromModel
の場合にのみ適用され、Model in Imageで説明されています。
configMap
: (オプション)WebLogic Deploy ToolingモデルYAMLファイルまたは.properties
ファイルを含むConfigMapの名前。domainType
: WebLogic Deploy Toolingドメイン・タイプ。 有効な値: WLS, RestrictedJRF, JRF. デフォルトはWLSです。 runtimeEncryptionSecret
: ランタイム暗号化パスワードを含むシークレットの名前。password
というフィールドにする必要があります。 domainHomeSourceType
がFromModel
に設定されている場合は必須です。 modelHome
: モデルYAMLファイル、.properties
変数ファイルおよびアプリケーション.zip
アーカイブを含むWebLogic Deploy Toolingモデルのホーム・ディレクトリのロケーション。 デフォルトは/u01/wdt/models
です。 onlineUpdate.*
: モデル・イン・イメージ動的更新のオンライン更新オプションに関連する設定。
onlineUpdate.enabled
: 実行中のドメインへのモデル変更のオンライン更新を有効にします。 デフォルトはfalse
です。 onlineUpdate.onNonDynamicChanges
: オンライン更新中に動的でないWebLogic構成の変更が検出された場合の動作を制御します。 非動的変更とは、ドメインの再起動を有効にする必要がある変更です。 有効な値は、CommitUpdateOnly
(デフォルト)およびCommitUpdateAndRoll
です。 詳細は、Model in Imageユーザー・ガイドの「ランタイム更新」セクションの「非動的WebLogic構成変更のオンライン更新処理」を参照してください。 onlineUpdate.wdtTimeouts.*
: イントロスペクタ・ジョブ内のWebLogic Deploy ToolingからWebLogicドメインへのオンライン更新コールのタイムアウト設定はほとんど必要ありません。 すべてのタイムアウトはミリ秒で指定され、デフォルトは2分または3分です。 タイムアウトの完全なリストについては、kubectl explain domain.spec.configuration.model.onlineUpdate.wdtTimeouts
を呼び出します。 これらの要素はconfiguration.opss
の下にあり、domainHomeSourceType
がFromModel
で、domainType
がJRF
の場合にのみ適用されます。
walletPasswordSecret
: OPSSキー・パスフレーズを含むシークレットの名前。walletPassword
という名前のフィールドに存在する必要があります。 RCUデータベース内のドメインのエントリへのアクセスに使用されるウォレットを暗号化および復号化するために使用されます。 walletFileSecret
: OPSSキー・ウォレット・ファイルを含むシークレットの名前。walletFile
という名前のフィールドに存在する必要があります。 JRFドメインがRCUデータベースでそのエントリを再利用できるようにする場合に使用します。 これにより、ドメインの初回起動後にドメイン・ホームから取得したウォレット・ファイルを指定できます。 Kubernetesポッドおよびサービス生成に関連する要素:
serverPod
: WebLogic Serverインスタンスのポッドの生成に影響するカスタマイズ。serverService
: WebLogic ServerインスタンスのClusterIPサービスの生成に影響するカスタマイズ。管理サーバー、特定のクラスタまたは特定の管理対象サーバーに関連するサブセクション:
adminServer
: Javaオプション、環境変数、追加ポッド・コンテンツ、およびNodePort Serviceを使用して公開する必要があるチャネルまたはネットワーク・アクセス・ポイントを含む、管理サーバーのライフサイクル・オプション。clusters
: このフィールドには、オペレータ4.0およびドメイン・リソースのweblogic.oracle/v9
APIバージョンから、参照されるクラスタ・リソースがリストされます。 クラスタ・リソースには、Javaオプション、環境変数、追加のPodコンテンツ、およびクラスタ・メンバーを明示的に起動、停止または再起動する機能など、WebLogicクラスタのすべての管理対象サーバー・メンバーのライフサイクル・オプションがあります。 各クラスタ・リソースのspec.clusterName
フィールドは、WebLogicドメイン構成にすでに存在するクラスタと一致する必要があります。 managedServers
: Javaオプション、環境変数、追加ポッド・コンテンツ、および名前付きサーバー・インスタンスを明示的に起動、停止または再起動する機能を含む、個々の管理対象サーバーのライフサイクル・オプション。 各エントリのserverName
フィールドは、WebLogicドメイン構成にすでに存在する管理対象サーバー、またはサーバー・テンプレートに基づいて動的クラスタ・メンバーと一致する必要があります。 要素serverStartPolicy
、serverPod
およびserverService
は、adminServer
およびmanagedServers
の下および各クラスタ・リソースの一部として繰り返されます。 spec
の直下の値により、ドメイン全体のデフォルトが設定されます。 クラスタ・リソースの一部である値は、そのクラスタのクラスタ・メンバーのデフォルトを設定します。 adminServer
の下の値またはmanagedServers
の下のエントリで、その特定のサーバーの値を設定します。 ドメイン・スコープの値および(クラスタ・メンバーの)クラスタの値は、要素に応じて特定のサーバーの設定によってマージまたはオーバーライドされます。 serverStartPolicy
の組合せの詳細は、「起動と停止」を参照してください。
リブネスとレディネス・プローブのカスタマイズに関連する要素:
クラスタ仕様要素の完全なリストは、「クラスタ仕様」を参照してください。
clusterService.sessionAffinity
要素の追加情報:
sessionAffinity
: これは、kube-proxy
がデフォルト以外のプロキシ・モード(ユーザー領域(レガシー)プロキシ・モードやIPVSプロキシ・モードなど)で実行されている場合にのみ適用される拡張設定です。 クライアントのIPアドレスに基づいてセッション・アフィニティを有効にするために使用されます。 詳細は、「仮想IPおよびサービス・プロキシ」を参照してください。 ClientIP
またはNone
である必要があります。 デフォルトはNone
です。
ノート: この設定は、kube-proxy
がデフォルトのiptables
プロキシ・モードで実行されている場合には適用されません。
追加のドメインおよびクラスタ・リソース属性の参照資料については、「ドメインおよびクラスタ・リソース属性参照」を参照してください。
次の環境変数を使用して、WebLogic Server管理対象サーバーおよびノード・マネージャ・インスタンスにJVMメモリーおよびJVMオプション引数を指定できます:
JAVA_OPTIONS
: WebLogic Serverを起動するためのJavaオプション。USER_MEM_ARGS
: WebLogicサーバーを起動するためのJVMメモリー引数。NODEMGR_JAVA_OPTIONS
: ノード・マネージャ・インスタンスを起動するためのJavaオプション。NODEMGR_MEM_ARGS
: ノード・マネージャ・インスタンスを起動するためのJVMメモリー引数。これは、JAVA_OPTIONS
およびUSER_MEM_ARGS
よりも優先されます。WLST_PROPERTIES
: イントロスペクタ・ジョブまたはWebLogic Serverインスタンス・コンテナ内のWLSTコマンドのシステム・プロパティ。WLST_EXTRA_PROPERTIES
: システム・プロパティは、イントロスペクタ・ジョブまたはWebLogic Serverインスタンス・コンテナのWLSTコマンド用にWLST_PROPERTIESに追加されます。WLSDEPLOY_PROPERTIES
: Model in Imageイントロスペクタ・ジョブまたはWebLogic Serverインスタンス・コンテナ中のWebLogic Deploy Toolingコマンドのシステム・プロパティ。PRE_CLASSPATH
: WebLogic Serverシステム・クラスパスへの「先頭に付加」されたパス。複数のパスはコロン:
で区切ります。CLASSPATH
: WebLogic Serverシステム・クラスパスへの「追加済」であるパス。複数のパスはコロン:
で区切ります。NOTES:
NODEMGR_JAVA_OPTIONS
およびNODEMGR_MEM_ARGS
が定義されているかどうかに応じて、次の動作が発生します:
NODEMGR_JAVA_OPTIONS
が定義されておらず、JAVA_OPTIONS
が定義されている場合、JAVA_OPTIONS
値がノード・マネージャ・インスタンスに適用されます。NODEMGR_MEM_ARGS
が定義されておらず、USER_MEM_ARGS
が定義されている場合、USER_MEM_ARGS
値がノード・マネージャ・インスタンスに適用されます。-Xms64m -Xmx100m -Djava.security.egd=file:/dev/./urandom
)がノード・マネージャ・インスタンスに適用されます。USER_MEM_ARGS
およびWLST_EXTRA_PROPERTIES
環境変数は、すべてWebLogic ServerポッドおよびWebLogicイントロスペクション・ジョブの-Djava.security.egd=file:/dev/./urandom
にデフォルト設定されます。 serverPod
構成の下にあるenv
属性を使用して、ドメインまたはクラスタYAMLファイルの別の値に明示的に設定できます。 NODEMGR_MEM_ARGS
、USER_MEM_ARGS
およびWLST_EXTRA_PROPERTIES
環境変数はすべて、デフォルトで-Djava.security.egd=file:/dev/./urandom
を含むことに注意してください。 これにより、エントロピが低いシステムではノード・マネージャおよびWebLogic Serverの起動を高速化するとともに、WLST encrypt
コマンドのイントロスペクション・ジョブの使用を高速化するのに役立ちます。 JAVA_OPTIONS
およびWLSDEPLOY_PROPERTIES
を使用して、高速アプリケーション通知(FAN)を無効にできます。詳細は、「高速アプリケーション通知の無効化に関するFAQ」を参照してください。このスニペットの例は、ドメインまたはクラスタのYAMLファイルのserverPod
構成の下にあるenv
属性を使用して、前述のいくつかの環境変数を追加する方法を示しています。
# Copyright (c) 2017, 2021, Oracle and/or its affiliates.
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
#
apiVersion: "weblogic.oracle/v9"
kind: Domain
metadata:
name: domain1
namespace: domains23
labels:
weblogic.domainUID: domain1
spec:
serverPod:
# an (optional) list of environment variable to be set on the servers
env:
- name: JAVA_OPTIONS
value: "-Dweblogic.StdoutDebugEnabled=false "
- name: USER_MEM_ARGS
value: "-Djava.security.egd=file:/dev/./urandom "
- name: NODEMGR_JAVA_OPTIONS
value: "-Dweblogic.StdoutDebugEnabled=false "
- name: NODEMGR_MEM_ARGS
value: "-Xms64m -Xmx100m -Djava.security.egd=file:/dev/./urandom "
- name: PRE_CLASSPATH
value: "/sample/path/prepended/to/weblogic/system/classpath:/another/prepended/path"
- name: CLASSPATH
value: "/sample/path/appended/to/weblogic/system/classpath:/another/appended/path"
オペレータは、実行中のWebLogic Serverインスタンスごとにポッドを作成します。 このポッドには、image
フィールドで指定されたコンテナ・イメージに基づいて、weblogic-server
という名前のコンテナが含まれます。 serverPod
の下の要素を使用して、追加のポッドまたはコンテナ・コンテンツを指定できます。 これには、Kubernetesサイドカーおよび初期化コンテナ、ラベル、注釈、ボリューム、ボリューム・マウント、スケジューリング制約(アンチ・アフィニティ、「リソース要件」、「セキュリティ・コンテキスト」など)が含まれます。
顧客が指定したラベルおよび注釈が"weblogic"で始まっていない可能性があり、オペレータは次のラベルを生成します:
weblogic.createdByOperator: "true"
weblogic.domainName: <domain-name>
。<domain-name>
はWebLogicドメインの名前ですweblogic.domainUID: <uid>
、<uid>
はドメイン・リソースからのドメインUIDweblogic.serverName: <server-name>
。<server-name>
はWebLogic Serverインスタンスの名前ですweblogic.clusterName: <cluster-name>
。<cluster-name>
は、このインスタンスがメンバーになっているクラスタの名前です(存在する場合)weblogic.domainRestartVersion: <restart-version>
は、ポッドがこのバージョンで最新の状態になった後、domain.spec.restartVersion
に一致weblogic.introspectVersion: <introspect-version>
は、ポッドがこのバージョンで最新の状態になった後、domain.spec.introspectVersion
に一致ポッドを作成する前に、オペレータはポッドのコンテンツをテンプレートにできるように変数参照を置き換えます。 これらの変数参照の形式は$(VARIABLE_NAME)
で、VARIABLE_NAME
はWebLogic Serverインスタンスのコンテナで使用可能な変数名のいずれかです。 環境変数のデフォルト・セットは次のとおりです:
DOMAIN_NAME
: WebLogic Serverドメイン名。DOMAIN_UID
: ドメインの一意の識別子。DOMAIN_HOME
: コンテナ内のファイル・システム・パスとしてのドメイン・ホームのロケーション。SERVER_NAME
: WebLogic Serverインスタンス名。CLUSTER_NAME
: WebLogicクラスタ名(クラスタ・メンバーの場合)。LOG_HOME
: 'domain.spec.logHomeEnabled'属性がtrueに設定されている場合、WebLogicログのロケーションがコンテナ内のファイル・システム・パスとして格納されますこの例のドメインおよびクラスタのYAMLファイルでは、cluster-1
クラスタ内のWebLogic Serverインスタンスのポッドが、管理対象サーバーごとのボリュームおよびボリューム・マウント(Kubernetes StatefulSetと同様)、そのボリューム内の一部のファイルを初期化するinitコンテナ、および様々なノード上でサーバー・インスタンスが可能なかぎりスケジュールされるようにアンチ・アフィニティ・スケジューリングを持つことを指定します:
# Copyright (c) 2019, 2021, Oracle and/or its affiliates.
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
#
apiVersion: "weblogic.oracle/v9"
kind: Domain
metadata:
name: domain1
namespace: domains23
labels:
weblogic.domainUID: domain1
spec:
domainHome: /u01/oracle/user_projects/domains/domain1
domainHomeSourceType: Image
image: "phx.ocir.io/weblogick8s/my-domain-home-in-image:12.2.1.4"
imagePullPolicy: "IfNotPresent"
imagePullSecrets:
- name: ocirsecret
webLogicCredentialsSecret:
name: domain1-weblogic-credentials
includeServerOutInPodLog: true
serverStartPolicy: IfNeeded
serverPod:
env:
- name: JAVA_OPTIONS
value: "-Dweblogic.StdoutDebugEnabled=false"
- name: USER_MEM_ARGS
value: "-Djava.security.egd=file:/dev/./urandom "
clusters:
- domain1-cluster-1
---
apiVersion: "weblogic.oracle/v1"
kind: Cluster
metadata:
name: domain1-cluster-1
namespace: domains23
labels:
weblogic.domainUID: domain1
spec:
- clusterName: cluster-1
serverPod:
volumes:
- name: $(SERVER_NAME)-volume
emptyDir: {}
volumeMounts:
- mountPath: /server-volume
name: $(SERVER_NAME)-volume
initContainers:
- name: volumeinit
image: "oraclelinux:7-slim"
imagePullPolicy: IfNotPresent
command: ["/usr/bin/sh"]
args: ["echo", "Replace with command to initialize files in /init-volume"]
volumeMounts:
- mountPath: /init-volume
name: $(SERVER_NAME)-volume
replicas: 2
オペレータはイントロスペクション・ジョブを使用して、クラスタやネットワーク・アクセス・ポイントのリストなど、WebLogicドメイン構成に関する詳細を検出します。 イントロスペクタのジョブ・ポッドは、管理サーバーのserverPod
エントリを使用して生成されます。 イントロスペクション・ステップが完了するまで管理サーバー名は不明なため、イントロスペクション・ジョブの$(SERVER_NAME)
変数の値は「introspector」になります。