機械翻訳について

ドメインおよびクラスタ・リソース

このドキュメントでは、独自のドメインおよびクラスタ・リソースを作成する方法について説明します。

目次

概要

ドメイン・リソースは、WebLogicドメイン構成、WebLogicインストール、「イメージ」、およびドメインの実行に必要なその他のすべてのものを参照します。 WebLogicドメイン構成内のWebLogicクラスタは、オペレータ4.0から、ドメイン・リソースに加えてクラスタ・リソースにオプションで関連付けることができます。 このクラスタ・リソースにより、kubectl scale、Kubernetes組込みのHorizontal Pod Autoscalingまたは同様のツールを使用して、実行中のメンバー・サーバーの数を簡単にスケーリングできます。 これらのクラスタ・リソースは、ドメイン・リソースによって参照されている場合にのみアクティブになります。 ノート: このクラスタ・リソースは、ドメイン・リソースとは異なる新しいカスタム・リソースです。 以前のオペレータ・バージョンでは、ドメイン・リソース・クラスタ・セクションで、WebLogicクラスタのライフサイクル属性を指定しました。 オペレータ4.0から、ドメイン・リソース・クラスタ・セクションはクラスタ・リソースの名前のみを参照します。すべてのライフサイクル属性は、新しいクラスタ・リソース・オブジェクトで指定されます。

オペレータ・プロジェクトに付随するサンプルの多くには、一連の簡易入力からドメインおよびクラスタの初期リソースを生成するスクリプトが含まれていますが、これらのリソースは、オペレータが各WebLogic Serverドメインをどのように管理するかの実際の情報源です。 様々なサンプルによって生成されたYAMLファイルから開始するか、ドメインおよびクラスタ・リソースを手動で作成するか、他のツールを使用して、ここまたはこのドキュメントで参照されているスキーマに基づいて作成することをお薦めします。

前提条件

ドメインおよびクラスタ・リソースの作成を続行する前に、次の前提条件を満たす必要があります:

  • デフォルトのネームスペースを使用することを意図していないかぎり、Kubernetesネームスペースを作成します。
  • WebLogic Kubernetes Operatorが実行中であり、ネームスペースを監視するように構成されていることを確認します。 構成によっては、新しいネームスペースをモニターできるように、helm upgradeを実行してオペレータを更新する必要がある場合があります。 詳細は、「ネームスペース管理」を参照してください。
  • 「ドメイン・ホーム・ソース・タイプの選択」
  • 参照されるリソースが同じネームスペースにデプロイされていることを確認します。 たとえば、すべてのドメイン・リソースには、WebLogic Server管理アカウントのusernameおよびpasswordを含むKubernetesシークレットを参照するspec.webLogicCredentialsSecretフィールドがあります。
  • ドメインおよびクラスタ・リソースおよび対応するWebLogic構成が「Kubernetesリソース名の制限を満たす」ことを確認します。

ドメインおよびクラスタ・リソースYAMLファイルのデプロイ中

ドメインおよびクラスタは、YAMLファイルを使用して定義されます。 実行するWebLogic Serverドメインごとに、ドメイン・リソースを定義する1つのYAMLファイルを作成し、オプションでWebLogicクラスタごとに1つのクラスタ・リソースを作成して適用する必要があります。 次の参照例では、サンプル・スクリプトによってYAMLファイルが生成され、ベースとして使用できます。 ファイルをコピーし、ドメインを定義するすべてのWebLogic Serverドメイン・パラメータと一致するようにデフォルト設定をオーバーライドします。

WebLogic Serverのサンプル、Domain home on a PVDomain 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: logHomeEnabledtrueに設定されている場合の、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が指定されている場合を除きます。
    • 各クラスタについて、最初にオペレータは、管理対象サーバー名の数値を正規化してからアルファベット順にソートすることで、クラスタ・メンバーの管理対象サーバー名をWebLogicドメイン構成からソートします。 これは、「managed-server10」などのサーバー名が「managed-server9」の後にくるようにするためです。
    • 次に、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の下にあり、domainHomeSourceTypeFromModelの場合にのみ適用され、Model in Imageで説明されています。

    • configMap: (オプション)WebLogic Deploy ToolingモデルYAMLファイルまたは.propertiesファイルを含むConfigMapの名前。
    • domainType: WebLogic Deploy Toolingドメイン・タイプ。 有効な値: WLS, RestrictedJRF, JRF. デフォルトはWLSです。
    • runtimeEncryptionSecret: ランタイム暗号化パスワードを含むシークレットの名前。passwordというフィールドにする必要があります。 domainHomeSourceTypeFromModelに設定されている場合は必須です。
    • 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の下にあり、domainHomeSourceTypeFromModelで、domainTypeJRFの場合にのみ適用されます。

    • 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ドメイン構成にすでに存在する管理対象サーバー、またはサーバー・テンプレートに基づいて動的クラスタ・メンバーと一致する必要があります。

要素serverStartPolicyserverPodおよびserverServiceは、adminServerおよびmanagedServersの下および各クラスタ・リソースの一部として繰り返されます。 specの直下の値により、ドメイン全体のデフォルトが設定されます。 クラスタ・リソースの一部である値は、そのクラスタのクラスタ・メンバーのデフォルトを設定します。 adminServerの下の値またはmanagedServersの下のエントリで、その特定のサーバーの値を設定します。 ドメイン・スコープの値および(クラスタ・メンバーの)クラスタの値は、要素に応じて特定のサーバーの設定によってマージまたはオーバーライドされます。 serverStartPolicyの組合せの詳細は、「起動と停止」を参照してください。

リブネスとレディネス・プローブのカスタマイズに関連する要素:

クラスタ仕様要素

クラスタ仕様要素の完全なリストは、「クラスタ仕様」を参照してください。

clusterService.sessionAffinity要素の追加情報:

追加のドメインおよびクラスタ・リソース属性の参照資料については、「ドメインおよびクラスタ・リソース属性参照」を参照してください。

JVMメモリーおよびJavaオプション環境変数

次の環境変数を使用して、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値がノード・マネージャ・インスタンスに適用されます。
    • 他に何も指定しない場合は、デフォルトのJavaプロパティ値(-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_ARGSUSER_MEM_ARGSおよびWLST_EXTRA_PROPERTIES環境変数はすべて、デフォルトで-Djava.security.egd=file:/dev/./urandomを含むことに注意してください。 これにより、エントロピが低いシステムではノード・マネージャおよびWebLogic Serverの起動を高速化するとともに、WLST encryptコマンドのイントロスペクション・ジョブの使用を高速化するのに役立ちます。
  • Javaおよびポッド・メモリーのチューニングの詳細は、「メモリーおよびCPUリソースに関するFAQ」を参照してください。
  • 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>はドメイン・リソースからのドメインUID
  • weblogic.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」になります。