Failover v1.3.0 カスタム リソース定義

仕様スキーマ

FailoverSpec は、単一のフェイルオーバー オペレーションのパラメータを表します。

dbclusterRef: string
newPrimary: string

フィールド

タイプ
必須または省略可

 

説明
dbclusterRef
string
必須
dbclusterRef は、フェイルオーバーを開始する DBCluster 名です。Failover オブジェクトは、参照する DBCluster と同じ Namespace に作成する必要があります。
newPrimary
string
省略可
newPrimary は、新しいプライマリとして昇格するスタンバイ インスタンスです。空白のままにすると、フェイルオーバー先として最適なインスタンスが自動的に選択されます。

ステータス スキーマ

FailoverStatus は、フェイルオーバーの現在の状態を表します。

conditions:
- lastTransitionTime: string
  message: string
  observedGeneration: integer
  reason: string
  status: string
  type: string
createTime: string
criticalIncidents:
- code: string
  createTime: string
  message: string
  messageTemplateParams: object
  resource:
    component: string
    location:
      cluster: string
      kind: string
      name: string
      namespace: string
      version: string
  stackTrace:
  - component: string
    message: string
  transientUntil: string
endTime: string
internal:
  newPrimary: string
  oldPrimary: string
  phase: string
observedGeneration: integer
reconciled: boolean
startTime: string
state: string

フィールド

タイプ
必須または省略可

 

説明
conditions[]
object
省略可
conditions は、エンティティの現在の状態について利用可能な最新の観測値を表します。
conditions[].lastTransitionTime
string
必須
lastTransitionTime は、あるステータスから別のステータスに条件が最後に移行した時刻です。これは、基盤となる条件が変更されたときに発生します。基になる条件が変更された時刻が不明な場合は、API フィールドが変更された時刻を使用します。
conditions[].message
string
必須
message は、移行の詳細を示す人間が読めるメッセージです。空の文字列にすることもできます。
conditions[].observedGeneration
integer
省略可
observedGeneration は、条件が設定された .metadata.generation を表します。たとえば、.metadata.generation が 12 で、.status.conditions[x].observedGeneration が 9 の場合、その状態はインスタンスの現在の状態に対して古くなっています。
conditions[].reason
string
必須
reason には、条件の最後の遷移の理由を示すプログラマティック ID が含まれます。特定の条件タイプのプロデューサーは、このフィールドの想定される値と意味、および値が保証付き API とみなされるかどうかを定義できます。値は CamelCase 文字列にする必要があります。このフィールドは空にできません。
conditions[].status
string
必須
条件のステータス(True、False、Unknown のいずれか)。
conditions[].type
string
必須
条件のタイプ(CamelCase または foo.example.com/CamelCase 形式)。多くの .condition.type 値は、Available などリソース間で一貫しています。任意の条件(.node.status.conditions など)が有用な可能性があるため、競合を解決する機能が重要です。一致する正規表現は、(dns1123SubdomainFmt/)?(qualifiedNameFmt) です。
createTime
string
省略可
createTime は、内部フェイルオーバー ワークフロー メカニズムが作成された時刻です。
criticalIncidents[]
object
必須
criticalIncidents は、アクティブなすべての重大インシデントのフラットなリストです。
criticalIncidents[].code
string
必須
code は、この特定のエラーのエラーコードです。エラーコードは DBSE+numeric 文字列(DBSE1012 など)です。
criticalIncidents[].createTime
string
必須
createTime は、このインシデントが発生元で作成されたときのタイムスタンプです。
criticalIncidents[].message
string
省略可
message は、発生したインシデントまたはエラーの説明です。
criticalIncidents[].messageTemplateParams
object
省略可
messageTemplateParams には、ユーザー インターフェースでユーザー フレンドリーなデータドリブン バージョンの message を生成するために必要な Key-Value ペアが含まれます。
criticalIncidents[].resource
object
必須
resource には、インシデントを報告した Database Service コンポーネントに関する情報と、Kubernetes リソースに関する情報が含まれます。
criticalIncidents[].resource.component
string
必須
component は、インシデントを報告した Database Service サブシステムの内部識別子です。
criticalIncidents[].resource.location
object
省略可
場所。
criticalIncidents[].resource.location.cluster
string
省略可
影響を受けた Kubernetes リソースのクラスタの名前。
criticalIncidents[].resource.location.group
string
省略可
Kubernetes リソースのグループの名前。
criticalIncidents[].resource.location.kind
string
省略可
Kubernetes リソースの Kind。
criticalIncidents[].resource.location.name
string
省略可
影響を受けた Kubernetes リソースの名前。
criticalIncidents[].resource.location.namespace
string
省略可
影響を受けた Kubernetes リソースの Namespace。
criticalIncidents[].resource.location.version
string
省略可
Kubernetes リソースのバージョン。
criticalIncidents[].stackTrace[]
object
省略可
スタック トレースに含まれるメッセージの非構造化リスト。
criticalIncidents[].stackTrace[].component
string
省略可
このメッセージをログに記録した Database Service コンポーネントの名前。
criticalIncidents[].stackTrace.message
string
省略可
ログに記録されたメッセージ。
criticalIncidents[].transientUntil
string
省略可
TransientUntil が指定されている場合、問題は指定された時刻まで一時的なものと見なす必要があります。
endTime
string
省略可
endTime は、フェイルオーバーが最終状態に達した時刻です。
internal
object
省略可
internal はシステム コントローラで使用されます。このセクションの情報に依存しないでください。
internal.newPrimary
string
必須
newPrimary は、フェイルオーバーしようとしているインスタンスです。
internal.oldPrimary
string
必須
OldPrimary は、フェイルオーバーの開始時にプライマリだったインスタンスです。
internal.phase
string
省略可
phase は、フェイルオーバーの現在の状態を追跡するために使用されます。
observedGeneration
integer
省略可
内部: コントローラによって観測された世代。
reconciled
boolean
省略可
内部: リソースがコントローラによって調整されたかどうか。
startTime
string
省略可
StartTime は、フェイルオーバー オペレーションが開始された時刻です。
state
string
省略可
state は、フェイルオーバー オペレーションの現在の状態です。値は、InProgress、Success、Failed_RollbackInProgress、Failed_RollbackSuccess、Failed_RollbackFailed です。
  • InProgress は、フェイルオーバーがまだ進行中であることを意味します。
  • success は、フェイルオーバーが完了したことを意味します。新しいプライマリ インスタンスが正常に昇格すると、プロモーションは完了します。
  • Failed_RollbackInProgress は、演算子が新しいプライマリ インスタンスを昇格できず、古いプライマリ インスタンスの再起動を試行しています。
  • Failed_RollbackSuccess は、演算子が新しいプライマリ インスタンスを昇格できず、古いプライマリ インスタンスが正常に再起動されたことを意味します。
  • Failed_RollbackFailed は、オペレーターが新しいプライマリ インスタンスを昇格できず、古いプライマリ インスタンスを再起動できなかったことを意味します。DBCluster を手動で修復する必要がある場合があります。