Switchover v1.2.0 カスタム リソース定義

ドキュメントのバージョンを選択します。

仕様スキーマ

SwitchoverSpec は、選択した Switchover の状態を定義します。

dbclusterRef: string
newPrimary: string
newPrimaryInstance: string
primaryHost: string

フィールド

タイプ
必須または省略可

 

説明
dbclusterRef
string
省略可
dbclusterRef は、スイッチオーバーを開始する DBCluster 名です。Switchover オブジェクトは、参照する DBCluster と同じ Namespace に作成する必要があります。このフィールドは Switchover に必須です。
newPrimary
string
省略可
newPrimary は、現在のプライマリと切り替えるスタンバイ インスタンスです。
newPrimaryInstance
string
省略可
newPrimaryInstance は、現在のプライマリと切り替えるスタンバイ インスタンスです。非推奨: 代わりに NewPrimary フィールドを使用します。
primaryHost
string
省略可
primaryHost は、常にプライマリ インスタンスを指す IP です。

ステータス スキーマ

SwitchoverStatus は、Switchover の観測された状態を定義します。

conditions:
- lastTransitionTime: string
  message: string
  observedGeneration: integer
  reason: string
  status: string
  type: string
createTime: string
critcalIncidents:
- code: string
  createTime: string
  message: string
  messageTemplateParams:
  resource:
    component: string
    location:
      cluster: string
      group: 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
list (object)
省略可
conditions は、エンティティの現在の状態について利用可能な最新の観測値を表します。
conditions[]
object
省略可
conditions には、この API リソースの現在の状態の 1 つの側面についての詳細が含まれます。--- この構造体は、フィールドパス .status.conditions で配列として直接使用することを目的としています。例: \n type FooStatus struct{ // foo の現在の状態のモニタリング結果を表します。// 既知の .status.conditions.type は、\"Available\"、\"Progressing\"、\"Degraded\" です // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }
conditions[].lastTransactionTime
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

条件のステータス(True、False、Unknown のいずれか)。
conditions[].type
string
必須
条件のタイプ(CamelCase または foo.example.com/CamelCase 形式)。--- Available などの多くの .condition.type 値はリソース間で一貫していますが、任意の条件が有用な場合があるため(.node.status.conditions を参照)、競合を解決する機能が重要です。一致する正規表現は、(dns1123SubdomainFmt/)?(qualifiedNameFmt) です。
createTime
string
省略可
CreateTime は、内部のスイッチオーバー ワークフロー メカニズムが作成された時刻です。
criticalIncidents
list (object)
省略可
criticalIncidents は、アクティブなすべての重大インシデントのフラットなリストです。
criticalIncidents[]
object
省略可
criticalIncidents には、進行中の重大なインシデントに関するすべての情報が含まれます。
criticalIncidents[].code
string
必須
code は、この特定のエラーのエラーコードです。エラーコードは DBSE と数値文字列で構成されます(例: DBSE1012)。
criticalIncidents[].createTime
string
必須
createTime は、このインシデントが発生元で作成されたときのタイムスタンプです。
criticalIncidents[].message
string
省略可
message には、発生したインシデントまたはエラーの説明が含まれます。
criticalIncidents[].messageTemplateParams
object
省略可
messageTemplateParams には、UI でユーザー フレンドリーなデータドリブン バージョンの 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
省略可
cluster は、影響を受ける Kubernetes リソースのクラスタの名前です。
criticalIncidents[].resource.location.group
string
省略可
group は、Kubernetes リソースのグループ名です。
criticalIncidents[].resource.location.kind
string
省略可
kind は Kubernetes リソースの Kind です。
criticalIncidents[].resource.location.name
string
省略可
name は、影響を受ける Kubernetes リソースの名前です。
criticalIncidents[].resource.location.namespace
string
省略可
namespace は、影響を受ける Kubernetes リソースの Namespace です。
criticalIncidents[].resource.location.version
TYPE
省略可
group は Kubernetes リソースのバージョンです。
criticalIncidents[].stackTrace
list (object)
省略可
stackTrace には、スタック トレースからのメッセージの非構造化リストが含まれます。
criticalIncidents[].stackTrace[]
object
省略可
CriticalIncidentStackTraceMessage には、インシデントに使用できるスタック トレースの情報が含まれます。
criticalIncidents[].stackTrace[].component
string
省略可
component は、メッセージをロギングした Database Service コンポーネントの名前です。
criticalIncidents[].stackTrace[].message
string
省略可
ログに記録されたメッセージ。
criticalIncidents[].stackTrace[].message
string
省略可
transientUntil が指定されている場合、問題は指定の時刻まで一時的なものと見なされます。
endTime
string
省略可
endTime は、スイッチオーバーが最終状態に達した時刻です。
internal
object
省略可
Internal はシステム コントローラで使用されます。このセクションの情報に依存しないでください。
internal.newPrimary
string
必須
newPrimary は、スイッチオーバーを試みるインスタンスです。
internal.oldPrimary
string
必須
oldPrimary は、スイッチオーバーの開始時にプライマリだったインスタンスです。
internal.phase
string
省略可

有効な値: UpdateDbclusterStopPrimaryPromoteStandbyValidateNewPrimaryUpdateOldPrimaryResourcesUpdateNewPrimaryResourcesUpdateOldPrimaryConfigsCompleteSyncOldPrimaryStartOldPrimaryPreSuccessRepointStandbysRollbackPrimaryRollbackStandbys

phase は、スイッチオーバーの現在の状態を追跡するために使用されます。
observedGeneration
integer
省略可
内部: コントローラによって観測された世代。
reconciled
boolean
省略可
Internal: リソースがコントローラによって調整されたかどうか。
startTime
string
省略可
startTime は、スイッチオーバー オペレーションが開始された時刻です。
state
string
省略可

有効な値: InProgressSuccessFailed_RollbackInProgress, Failed_RollbackSuccessFailed_RollbackFailed

state は、スイッチオーバー オペレーションの現在の状態です。値は InProgressSuccessFailed_RollbackInProgressFailed_RollbackSuccessFailed_RollbackFailed です。InProgress は、スイッチオーバーがまだ進行中であることを意味します。Success は、スイッチオーバーが完了したことを意味します。Failed_RollbackInProgress は、オペレーターが新しいプライマリ インスタンスをプロモートできなかったため、古いプライマリ インスタンスの再起動を試行していることを意味します。Failed_RollbackSuccess は、オペレーターが新しいプライマリ インスタンスをプロモートできず、古いプライマリ インスタンスを正常に再起動したことを意味します。Failed_RollbackFailed は、オペレーターが新しいプライマリ インスタンスをプロモートできず、古いプライマリ インスタンスを再起動できなかったことを意味します。DBCluster を手動で修復する必要がある場合があります。