このドキュメントでは、Kubernetes環境のOracle WebLogic Serverでのドメイン失敗再試行処理について説明します。
WebLogic Kubernetes Operatorは、ドメイン・リソースの処理中に様々な失敗が発生する可能性があります。 失敗は、ドメイン・リソースのstatus.conditions
フィールドでKubernetesイベントおよび「条件」を使用して報告されます。 「ドメインのデバッグ」を参照してください。 失敗は様々なカテゴリに分類され、オペレータによって処理が異なります。オペレータは、ほとんどの失敗によって自動再試行が発生します。 失敗の再試行制限および間隔のチューニングについては、「再試行動作」を参照してください。
ドメイン・リソースの失敗は、次の3つの重大度レベルに分類されます:
DeadlineExceeded
エラー)。FatalIntrospectorError
を含まないイントロスペクタ・ログのSEVERE
エラー。ドメイン失敗の理由については、「ドメイン失敗の理由」を参照してください。
Status:
...
Conditions:
Last Transition Time: 2022-10-10T23:48:09.157398Z
Message: 10 replicas specified for cluster 'cluster-1' which has a maximum cluster size of 5
10 replicas specified for cluster 'cluster-2' which has a maximum cluster size of 2
Reason: ReplicasTooHigh
Severity: Warning
Status: True
Type: Failed
...
重大度がFatal
またはWarning
の失敗が発生したドメインは再試行されません。 ドメインのステータスには、失敗状態の修正に必要なアクションを示すメッセージが含まれている必要があります。
重大度がSevere
のドメイン失敗は、次のように再試行されます:
lastFailureTime
フィールドにあります。failureRetryIntervalSeconds
フィールドに指定されます。 デフォルト値は120秒です。 ゼロ秒の値は、失敗直後に再試行することを意味します。 initialFailureTime
フィールドでドメイン・ステータスを確認できます。failureRetryLimitMinutes
フィールドに指定されます。 デフォルト値は1440分(24時間)です。 値0分は再試行を無効にします。これは、デバッグ目的でログファイルにアクセスする場合に役立ちます。 次は、保留中の再試行で失敗を示すドメイン・ステータスの例です。 このドメイン・リソースは、failureRetryLimitMinutes
が10分になるように構成されています。 次の再試行はLast Failure Time
の120秒後であり、再試行は時間がInitial Failure Time
の10分後であることに注意してください。
Status:
...
Initial Failure Time: 2022-10-11T23:16:21.851801Z
Last Failure Time: 2022-10-11T23:21:53.109997Z
Message: Failure on pod 'domain1-introspector-hlvwt' in namespace 'default': Back-off pulling image "oracle/weblogic:12214". Will retry next at 2022-10-11T23:23:53.109997240Z and approximately every 120 seconds afterward until 2022-10-11T23:26:21.851801Z if the failure is not resolved.
この例では、すべての再試行が、事前定義された再試行時間制限の前にドメインの起動に失敗し、ドメイン・ステータスにAborted
の理由を含むFatal
の失敗が示されています。
Status:
Clusters:
Conditions:
Last Transition Time: 2022-10-11T23:26:34.107662Z
Message: The operator failed after retrying for 10 minutes. This time limit may be specified in spec.failureRetryLimitMinutes. Please resolve the error and then update domain.spec.introspectVersion to force another retry.
Reason: Aborted
Severity: Fatal
Status: True
...
即時再試行を手動で開始するか、spec.failureRetryLimitMinutes
に達した再試行を再開するには、オペレータによる即時アクションを引き起こすドメイン・フィールドを更新します。 たとえば、必要に応じてspec.introspectVersion
またはspec.restartVersion
を変更します。 「起動と停止」および「イントロスペクションの開始」を参照してください
次に、ドメイン・リソースの処理中にオペレータによって発生する可能性のある失敗の理由の一覧を示します。
ドメイン失敗理由 | 説明 |
---|---|
DomainInvalid |
ドメイン・リソース内の1つ以上の構成バリデーション・エラー(domainUID など)が長すぎるか、構成オーバーライドがイメージ・ドメインのモデルで使用されています。 |
Introspection |
1つ以上のSEVERE ログ・メッセージがイントロスペクタのログ・ファイルにあります。 |
Kubernetes |
Kubernetes APIコールから受信したリカバリ不能なレスポンス・コード。 |
ServerPod |
1つ以上のWebLogic Serverポッドが失敗したか、ドメイン・リソースのspec.serverPod.maxReadyWaitTimeSeconds で構成された事前定義済の最大待機時間内に準備完了状態になりませんでした。そうしないと、イントロスペクタ・ジョブ・ポッドが完了しませんでした。 |
ReplicasTooHigh |
レプリカ・フィールドは、WebLogicクラスタ構成内のサーバーの最大数を超える値に設定または変更されます。 |
Internal |
ドメイン・リソースの処理中にオペレータで内部例外が発生しました。 |
TopologyMismatch |
ドメイン・リソースに構成された1つ以上のサーバーまたはクラスタがWebLogicドメイン構成に存在しないか、モニタリング・エクスポータ・ポートが指定され、サーバー・ポートと競合しています。 |
Aborted |
イントロスペクタで致命的なエラーが発生したか、オペレータが最大再試行時間を超えました。 |