機械翻訳について

ドメイン・イントロスペクション

このドキュメントでは、ドメイン・イントロスペクションが自動的に発生する場合、およびKubernetes環境のOracle WebLogic Serverでドメイン構成の追加イントロスペクションを開始する方法とタイミングについて説明します。

目次

概要

KubernetesでWebLogicドメインの操作を管理するために、Oracle WebLogic Kubernetes Operatorは"introspection"ジョブを使用してWebLogicドメイン構成を分析します。 このジョブはDOMAIN_UID-introspectorという名前で、ドメインと同じネームスペースで実行され、オペレータがWebLogic Serverインスタンスの起動を開始する前に正常に完了する必要があります。 「ドメイン・ホーム・ソース・タイプ」はそれぞれ異なるため(たとえば、Domain on PVはPersistentVolume上のドメイン・ホームを使用し、Model in ImageはWDTモデルからドメイン・ホームを動的に生成します)、このジョブによって作成されるポッドは、後で管理サーバー用に生成されるポッドと同様になります。 これにより、オペレータがWebLogic Serverインスタンスが使用するのと同じWebLogicドメイン構成を分析することが保証されます。

イントロスペクションにより、次のことが保証されます:

  1. オペレータは、サーバー、クラスタ、ネットワーク・アクセス・ポイント、リスニング・アドレス、その他の構成など、WebLogicドメイン構成からのドメイン・トポロジを認識します。
  2. オペレータは、構成オーバーライドを生成して、リスニング・アドレスの変更など、Kubernetes環境に合せてWebLogicドメイン構成を調整できます。
  3. Model in Imageの場合、オペレータは、最終的なドメイン構成を含むWebLogicドメイン・ホームを生成できます。
  4. Domain on PVおよびDomain in Imageの場合、オペレータは、顧客が提供する「構成オーバーライド」を、オペレータが生成した上書きとともに使用して、最終構成上書きを生成できます。

イントロスペクションが自動的に行われる場合

イントロスペクションは次の場合に自動的に行われます:

  1. オペレータは、他のサーバーが現在実行されていないときにWebLogic Serverインスタンスを起動しています。 これは、オペレータが最初にドメインのサーバーを起動したとき、または完全なドメイン停止後にサーバーを起動したときに発生します。
  2. Model in Imageの場合、オペレータは、現在実行中のWebLogic Serverインスタンスを停止して再起動する必要があると判断します。 これには、1つ以上のクラスタのローリング、1つ以上のWebLogic Serverインスタンスの停止と再起動、またはこれらの組合せがあります。

イントロスペクションの開始

「ユースケース」などでは、イントロスペクションを明示的に開始することが望ましい場合があります。 イントロスペクションを開始するには、ドメインintrospectVersionフィールドの値を変更します。

introspectVersionを新しい値に設定します。

  kind: Domain
  metadata:
    name: domain1
  spec:
    introspectVersion: "2"
    ...

restartVersionと同様に、introspectVersionフィールドにも必要な書式はありませんが、継続的に増加する数値やタイムスタンプなど、一意である可能性が高い値を使用することをお薦めします。

オペレータ3.1.0以降では、ドメイン・リソースのspec.introspectVersionが設定されている場合、ドメインの各WebLogic Serverポッドには、ポッドが実行されているintrospectVersionを示すキーweblogic.introspectVersionを持つラベルが付けられます。

Name:           domain1-admin-server
Namespace:      domain1-ns
Labels:         weblogic.createdByOperator=true
                weblogic.domainName=domain1
                weblogic.domainRestartVersion=abcdef
                weblogic.domainUID=domain1
                weblogic.introspectVersion=12345
                weblogic.serverName=admin-server

ドメインのspec.introspectVersionが変更されると、オペレータがポッドを再起動するとき、またはオペレータがポッドを再起動する必要がないと判断したときに、各WebLogic Serverポッドのweblogic.introspectVersionラベルが新しいintrospectVersion値に更新されます。

イントロスペクション失敗

イントロスペクション用に作成されたDOMAIN_UID-introspectorという名前のKubernetesジョブが失敗することがあります。

イントロスペクションが失敗した場合、オペレータはWebLogic Serverインスタンスを起動しません。 これが初期イントロスペクションではなく、すでにWebLogic Serverインスタンスが実行されている場合、イントロスペクションに失敗すると、ドメインの動作状態を変更せずに既存のWebLogic Serverインスタンスが実行されたままになります。

イントロスペクションは定期的に再試行され、最終的に処理が失敗したことを示すドメインstatusでタイムアウトになります。 失敗状態から回復するには、根本的な問題を修正し、introspectVersionを更新します。

「構成オーバーライド」または「Model in Imageドメイン・ホームの生成」に関連するイントロスペクションの失敗の診断の詳細を確認してください。

イントロスペクタ・ログは、spec.logHomeが構成され、spec.logHomeEnabledがtrueの場合、ドメイン・リソースのspec.logHomeディレクトリにミラー化されます。

イントロスペクションのユースケース

次の項では、イントロスペクタを再実行するための一般的なユースケースについて説明します。

Domain on PV構成へのクラスタまたは管理対象サーバーの追加

永続ボリューム(Domain on PV)上に既存のWebLogicドメイン・ホームがあり、現在WebLogic Serverインスタンスが実行中の場合、ドメイン構成に新しいWebLogicクラスタまたは管理対象サーバーを定義して、すでに実行中のWebLogic Serverインスタンスのライフサイクルに影響を与えずに、これらの新しいインスタンスを起動できるようになりました。

オペレータ3.0.0より前は、フル・ドメインの停止および再起動以外のイントロスペクションを開始するメカニズムがなく、オペレータが新しいクラスタまたは管理対象サーバーを認識していなかったため、これは不可能でした。 これで、ドメイン構成の更新後に、introspectVersionを変更してイントロスペクションを開始できます。

たとえば、「cluster-1」という名前の単一のクラスタを含むドメイン構成がある場合、ドメインYAMLファイルには次のような内容が含まれます:

spec:
  ...
  clusters:
    - clusterName: cluster-1
      replicas: 3
  ...

WebLogicドメイン構成を(コンソールまたはWLSTを使用して)"cluster-2"という名前の新しい動的クラスタを追加するように変更した場合は、次のようにドメインYAMLファイルを更新して、この新しいクラスタのクラスタ・メンバーをすぐに起動できます:

spec:
  ...
  clusters:
    - clusterName: cluster-1
      replicas: 3
    - clusterName: cluster-2
      replicas: 2
  introspectVersion: "2"
  ...

この更新されたドメインYAMLファイルが適用されると、オペレータはドメイン構成の新しいイントロスペクションを開始し、その間に追加のWebLogicクラスタについて学習し、オペレータはこの新しいクラスタのメンバーであるWebLogic Serverインスタンスを引き続き起動します。 この場合、オペレータは「cluster-2」という名前のクラスタのメンバーである複数の管理対象サーバーを起動します。

構成オーバーライドへの変更の配布

このオペレータは、顧客が提供する「構成オーバーライド」をサポートしています。 Domain on PVまたはDomain in Imageでサポートされているこれらの構成オーバーライドにより、データ・ソースURLや資格証明などのドメイン構成の要素をオーバーライドできます。

オペレータ3.0.0を使用して、構成オーバーライドを変更し、これらの新しい構成オーバーライドをすでに実行中のWebLogic Serverインスタンスに配布できるようになりました。 これを行うには、構成オーバーライドを含むConfigMapを更新するか、これらの構成オーバーライドによって参照されるシークレットを更新してから、introspectVersionフィールドを変更してイントロスペクションを開始します。

overrideDistributionStrategyと呼ばれる新しいフィールドが導入され、configurationの下に配置されています。このフィールドは、更新された構成オーバーライドをすでに実行中のWebLogic Serverインスタンスに動的に分散するかどうか、または新しい構成オーバーライドがサーバーの起動時または再起動時にのみ適用されるかどうかを制御します。

overrideDistributionStrategyのデフォルト値はDynamicです。これは、新しい構成オーバーライドが、すでに実行されているWebLogic Serverインスタンスに動的に分散されることを意味します。

または、overrideDistributionStrategyOnRestartに設定できます。つまり、新しい構成オーバーライドは、すでに実行されているWebLogic Serverインスタンスに分散されませんが、かわりに、起動または再起動時にサーバーにのみ適用されます。 この値を使用しても、WebLogic Serverインスタンスは、restartVersionなどの他のフィールドに対する不在の変更を再起動「しません」

実行中のWebLogic Serverインスタンスに配布された構成オーバーライドへの変更は、対応するWebLogic構成のMBean属性が「動的」である場合にのみ有効になります。 たとえば、データソースの「passwordEncrypted」属性は動的ですが、「URL」属性は動的ではありません。

実行中のModel in Imageドメインへの変更の配布

オペレータは、「モデル更新」を実行中のModel in Imageドメインに伝播するためにイントロスペクタの再実行をサポートします。