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

仕様スキーマ

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

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

フィールド

タイプ
必須または省略可

 

説明
dbclusterRef
string
省略可
DBClusterRef は、スイッチオーバーを開始する DBCluster 名です。Switchover オブジェクトは、参照する DBCluster と同じ Namespace に作成する必要があります。このフィールドはスイッチオーバーに必須です。
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)
省略可
condition は、エンティティの現在の状態に関する、利用可能な最新の観測値を表します。
conditions[]
object
省略可
Condition には、この API リソースの現在の状態の 1 つの側面の詳細が含まれます。--- この構造体は、フィールドパス .status.conditions で配列として直接使用することを目的としています。たとえば、 \n type FooStatus struct{ // Represents the observations of a foo's current state. // 既知の .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
必須
条件のタイプ(キャメルケースまたは foo.example.com/CamelCase)。--- 多くの .condition.type 値は、Available などリソース間で一貫していますが、任意の条件が有用な場合があるため(.node.status.conditions を参照)、競合を解決する機能が重要です。一致する正規表現は (dns1123SubdomainFmt/)?(qualifiedNameFmt) です。
createTime
string
省略可
CreateTime は、内部スイッチオーバー ワークフロー メカニズムが作成された時刻です。
criticalIncidents
list (object)
省略可
CriticalIncidents は、アクティブなすべての重大なインシデントのフラットなリストです。
criticalIncidents[]
object
省略可
CriticalIncident には、進行中の重大なインシデントに関するすべての情報が含まれます。
criticalIncidents[].code
string
必須
Code は、この特定のエラーのエラーコードです。エラーコードは DBSE と数値文字列(「DBSE1012」など)で構成されます。
criticalIncidents[].createTime
string
必須
CreateTime は、このインシデントが送信元で作成されたときのタイムスタンプです。
criticalIncidents[].message
string
省略可
Message は、発生したインシデントまたはエラーを説明します。
criticalIncidents[].messageTemplateParams
object
省略可
MessageTemplateParams には、UI でユーザー フレンドリーなデータドリブンなバージョンのメッセージを生成するために必要な Key-Value ペアが含まれています。
criticalIncidents[].resource
object
必須
リソースには、インシデントを報告した 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 リソースの Group 名です。
criticalIncidents[].resource.location.kind
string
省略可
Kind は Kubernetes リソースの Kind です。
criticalIncidents[].resource.location.name
string
省略可
Name は、影響を受ける Kubernetes リソースの名前です。
criticalIncidents[].resource.location.namespace
string
省略可
Namespace は、影響を受ける Kubernetes リソースの名前空間です。
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.newPrimary
string
必須
NewPrimary は、切り替えを試みるインスタンスです。
internal.oldPrimary
string
必須
OldPrimary は、スイッチオーバーの開始時にプライマリだったインスタンスです。
internal.phase
string
省略可

有効な値: UpdateDbclusterStopPrimaryPromoteStandbyValidateNewPrimaryUpdateOldPrimaryResourcesUpdateNewPrimaryResourcesUpdateOldPrimaryConfigsCompleteSyncOldPrimaryStartOldPrimaryPreSuccessRepointStandbysRollbackPrimaryRollbackStandbys

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

有効な値: InProgressSuccessFailed_RollbackInProgressFailed_RollbackSuccessFailed_RollbackFailed

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