WebLogic Kubernetes Operatorは、ドメインおよびクラスタ・リソースにステータス条件を移入して、高レベルのステータス・レポートを提供します。 ステータス条件はKubernetes標準メカニズムであり、オペレータによって生成される条件は、Kubernetesがポッドおよびデプロイメント・リソースに提供する条件と似ています。
条件は、ドメイン・リソースまたはクラスタ・リソースのstatus.conditionsフィールドの下にあります。
次を使用して、ドメイン・リソースの条件を確認できます: kubectl -n MY_NAMESPACE describe domain MY_DOMAIN_RESOURCE_NAME。 同様に、次を使用してクラスタ・リソースの条件を確認できます: kubectl -n MY_NAMESPACE describe cluster MY_CLUSTER_NAME。
Status:
Cluster Name: cluster-1
Conditions:
Last Transition Time: 2022-10-25T16:31:22.682605Z
Status: True
Type: Available
Last Transition Time: 2022-10-25T16:31:22.683156Z
Status: True
Type: Completed
「ドメインによって参照されるクラスタ・リソース」の条件は、domain.status.clustersのドメイン・ステータスにもリストされます。
Status:
Clusters:
Cluster Name: cluster-1
Conditions:
Last Transition Time: 2022-10-25T16:31:22.682605Z
Status: True
Type: Available
Last Transition Time: 2022-10-25T16:31:22.682605Z
Status: True
Type: Completed
Label Selector: weblogic.domainUID=sample-domain1,weblogic.clusterName=cluster-1
Maximum Replicas: 5
Minimum Replicas: 0
Observed Generation: 1
Ready Replicas: 1
Replicas: 1
Replicas Goal: 1
Conditions:
Last Transition Time: 2022-10-25T16:44:27.104854Z
Status: True
Type: Available
Last Transition Time: 2022-10-25T16:44:27.104766Z
Status: True
Type: Completed
条件には、次の属性があります:
type - 条件のタイプ(FailedやAvailableなど)。 「ドメイン・ステータス条件のタイプ」を参照してください。 status - 条件のステータス(TrueやFalseなど)。message - 条件の詳細を提供する、人間が読めるオプションのメッセージ。reason - Failed条件の「理由」。 他のタイプの条件には適用されません。 severity - Failed条件の「重大度」。 他のタイプの条件には適用されません。 lastTransitionTime - 条件が作成された日時、または条件がステータス間で最後に遷移した時間のタイムスタンプ。次に、ドメイン・リソースの条件タイプのリストを示します。
FailedFailed条件の場合、status属性は常にTrueです。 基礎となる失敗が解決されると、Failed条件がドメイン・ステータスから削除されます。 message属性には、失敗の詳細を示すエラー・メッセージが含まれています。reason属性は、「ドメイン失敗の理由」にリストされているいずれかの理由に設定されます。severity属性は、「ドメイン失敗の重大度」にリストされている重大度レベルのいずれかに設定されます。
Status:
...
Conditions:
Last Transition Time: 2022-10-24T23:54:49.486543Z
Message: One or more server pods that are supposed to be available did not start within the period of time defined in 'serverPod.maxPendingWaitTimeSeconds' under "domain.spec', 'domain.adminServer', 'managedServer', or 'domain.cluster'. Check the server status in the domain status, the server pod status and logs, and WebLogic Server logs for possible reasons. One common cause of this issue is a problem pulling the WebLogicServer image. Adjust the value of 'serverPod.maxPendingWaitTimeSeconds' setting if needed."
Reason: ServerPod
Severity: Severe
Status: True
Type: Failed
Last Transition Time: 2022-10-24T23:49:35.974905Z
Message: No application servers are ready.
Status: False
Type: Available
Last Transition Time: 2022-10-24T23:49:35.974897Z
Status: False
Type: Completed
Last Transition Time: 2022-10-24T23:49:36.173977Z
Status: True
Type: Rolling
CompletedCompleted条件のstatus属性は、ドメイン・リソースの目的の状態が完全に達成されたかどうかを示します。status属性はTrueに設定されます:
Failed条件はありません。たとえば、失敗は検出されません。ready、restartVersionおよびintrospectVersionです。AdminOnlyのspec.serverStartPolicy値を持つように構成され、管理サーバー・ポッドは実行され、準備ができています。Availablestatus属性がTrueに設定されます:
serverStartPolicy値がIfNeededまたはAlwaysのすべての非クラスタ・サーバーは、準備ができています。Available条件でTrueを持ちます。 0のreplicas値またはserverStartPolicy値Neverで構成されたクラスタは無視されます。 Available statusは、Completed条件のstatusがFalse、Failed条件がレポートされた場合、またはクラスタに準備が完了していない最大cluster.spec.maxUnavailableポッドがある場合でも、Trueにできます。ConfigChangesPendingRestartstatus属性はTrueです:
domain.spec.configuration.model.onlineUpdate.onNonDynamicChangesはCommitUpdateOnlyです。domain.spec.configuration.model.onlineUpdate.enabledはTrueです。ConfigChangesPendingRestart条件がドメイン・ステータスから削除されます。Status:
...
Conditions:
Last Transition Time: 2021-01-20T15:09:15.209Z
Message: Online update completed successfully, but the changes require restart and the Domain resource specified 'spec.configuration.model.onlineUpdate.onNonDynamicChanges=CommitUpdateOnly' or not set. The changes are committed but the domain require manually restart to make the changes effective. The changes are: Server re-start is REQUIRED for the set of changes in progress.
The following non-dynamic attribute(s) have been changed on MBeans
that require server re-start:
MBean Changed : com.bea:Name=oracle.jdbc.fanEnabled,Type=weblogic.j2ee.descriptor.wl.JDBCPropertyBean,Parent=[sample-domain1]/JDBCSystemResources[Bubba-DS],Path=JDBCResource[Bubba-DS]/JDBCDriverParams/Properties/Properties[oracle.jdbc.fanEnabled]
Attributes changed : Value
Reason: Online update applied, introspectVersion updated to 82
Status: True
Type: ConfigChangesPendingRestart
RollingRolling条件の場合、status属性は常にTrueです。Rolling条件がドメイン・ステータスから削除されます。次に、クラスタ・リソースの条件タイプのリストを示します。
CompletedCompleted条件のstatus属性は、クラスタ・リソースの目的の状態が完全に達成されているかどうかを示します。status属性はTrueに設定されます:
Failed domain.status.conditionsはありません。restartVersionおよびintrospectVersion)で準備できていることが予想されますAvailablestatus属性はTrueに設定されます。 次の両方がtrueである必要があります:
readyです。not readyサーバー・ポッドの数は、cluster.spec.maxUnavailableの値以下で、デフォルトは1です。serverStartPolicyがNever、replicasが0、またはクラスタがserverStartPolicyがAdminOnlyまたはNeverのドメイン内にある場合、クラスタのAvailable条件はFalseになります。IfNeededのserverStartPolicyがあり、cluster.spec.replicasが1の場合、単一のポッドの準備ができている場合にのみ、クラスタのAvailable条件はTrueになります。serverStartPolicyがIfNeeded、cluster.spec.replicasが4、cluster.spec.maxUnavailableが1 (デフォルト)の場合、クラスタは3つまたは4つのポッドの準備ができている場合にのみ、Available条件がTrueになります。Completed条件のstatusがFalseの場合、ドメイン・リソースでFailed条件がレポートされた場合、またはクラスタに準備が完了していない最大cluster.spec.maxUnavailableポッドがある場合でも、Available条件のstatusをTrueにできます。オペレータは、クラスタまたはドメイン・リソースを検出した後、各リソースが常にAvailableおよびCompleted条件の1回のみ発生することを確認します。 その後、オペレータはこれらの条件を削除しませんが、かわりに、必要に応じてステータスをTrueまたはFalseに変更します。 オペレータがドメインまたはクラスタ・リソースを検出したタイミングを判断する方法として、この事実を使用できます。
Failure、RollingおよびConfigChangesPendingRestart条件はエフェメラルです。これらは適用されたときにのみ追加され、適用されなくなったときに削除されます。
Failure条件は、複数回発生できる唯一の条件です。 これは、異なるタイプの同時失敗が複数ある場合に発生します。
ドメインおよびクラスタ・リソースでmetadata.generationおよびstatus.observedGenerationを使用して、それらの条件およびその他のステータスが最新であるかどうかを検出します。 具体的には、domain.status.observedGeneration生成がdomain.metadata.generationと等しくない場合、またはドメインのクラスタ・リソースのいずれかでcluster.status.observedGenerationがcluster.metadata.generationと等しくない場合、条件は最新でない場合があります。 これは、オペレータがステータスの更新処理中であるか、オペレータが実行中でないことを示します。
対応するイベントは、Available, Completed, FailureまたはRolling条件が変更されたときに生成されます。 詳細は、「オペレータ生成イベント・タイプ」を参照してください。