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

仕様スキーマ

ReplicationSpec は、レプリケーションの望ましい状態を定義します。

dbcluster:
  name: string
downstream:
  control: string
  host: string
  password:
    name: string
    namespace: string
  port: integer
  replicationSlotName: string
  username: string
upstream:
  applicationName: string
  logicalReplication:
    databaseName: string
    pluginName: string
  password:
    name: string
    namespace: string
  replicationSlotName: string
  synchronous: string
  username: string

フィールド

タイプ
必須または省略可

 

説明
dbcluster
object
省略可
dbcluster は、このレプリケーションが属する DBCluster です。
dbcluster.name
string
省略可
参照先の名前。詳細については、名前をご覧ください。
downstream
object
省略可
downstream には、ダウンストリーム データベースのレプリケーションの仕様を指定します。
downstream.control
string
必須
control には、このデータベースで実行するレプリケーション オペレーションを指定します。指定できる値は、setup、promote、rewind です。
downstream.host
string
必須
host は、このデータベースがレプリケーションにアクセスできるアップストリーム データベースの接続エンドポイントです。
downstream.password
object
必須
password は、アップストリーム データベースのレプリケーション ユーザー パスワードを保存する Secret の参照です。
downstream.password.name
string
省略可
name は、Secret リソースを参照する Namespace 内で一意です。
downstream.password.namespace
string
省略可
namespace は、Secret 名が一意である必要がある空間を定義します。
downstream.port
integer
省略可
port は、このデータベースがレプリケーションのためにアクセスできるアップストリーム データベースのポートです。デフォルトは 5432 です。
downstream.replicationslotname
string
必須
replicationslotname は、アップストリーム データベースに作成されたレプリケーション スロットの名前です。このデータベースがレプリケーションで使用します。
downstream.username
string
必須
username は、アップストリーム データベースで作成されたレプリケーション ユーザーの名前です。このデータベースがレプリケーションでアップストリームに接続するために使用します。
upstream
object
省略可
upstream には、レプリケーション アップストリーム データベースの仕様を指定します。
upstream.applicationName
string
省略可
applicationName は、同期レプリケーション接続の識別子です。synchronous が true に設定されている場合、この値は必須です。
upstream.logicalReplication
object
省略可
logicalReplication では、レプリケーション スロットの論理レプリケーション構成を指定します。空の場合、レプリケーション スロットは物理レプリケーション スロットとして構成されます。
upstream.logicalReplication.databaseName
string
省略可
databaseName は、このスロットに関連付けられているデータベースです。このデータベースからの変更のみがスロット経由でストリーミングされます。
upstream.logicalReplication.pluginName
string
省略可
pluginName は、このスロットに関連付けられているデコーディング プラグインです。詳細については、論理デコーディングの説明をご覧ください。
upstream.password
object
必須
password は、レプリケーション ユーザーのパスワードを保存するシークレットへの参照です。password を指定しないと、パスワードが生成され、ステータスに表示された Secret に保存されます。
upstream.password.name
string
省略可
name は、Secret リソースを参照する Namespace 内で一意です。
upstream.password.namespace
string
省略可
namespace は、Secret 名が一意である必要がある空間を定義します。
upstream.replicationslotname
string
省略可
replicationslotname は、レプリケーションに使用するレプリケーション スロットの名前です。指定しない場合、レプリケーション スロット名が生成され、ステータスに示されます。
upstream.synchronous
string
省略可
synchronous では、レプリケーション スロットを同期レプリケーション用に構成する必要があるかどうかを指定します。true の場合、applicationName が同期スタンバイのリストに追加されます。デフォルトは false です。
注: パフォーマンスに悪影響を及ぼす可能性があります。
upstream.username
string
省略可
username は、レプリケーションに使用するレプリケーション ユーザーの名前です。指定しない場合、ユーザー名が生成され、ステータスに示されます。

ステータス スキーマ

ReplicationStatus は、レプリケーションの観測された状態を定義します。

conditions:
- lastTransitionTime: string
  message: string
  observedGeneration: integer
  reason: string
  status: string
  type: string
criticalIncidents:
- code: string
  createTime: string
  message: string
  messageTemplateParams: object
  resource:
    component: string
    location:
      cluster: string
      group: string
      kind: string
      name: string
      namespace: string
      version: string
  stackTrace:
  - component: string
    message: string
  transientUntil: string
downstream:
  physicalDownstream:
    setupStrategies:
      endedAt: string
      message: string
      retries: integer
      startedAt: string
      state: string
      strategy: string
    state: string
observedGeneration: integer
reconciled: boolean
upstream:
  host: string
  password:
    name: string
    namespace: string
  port: integer
  replicationSlotName: string
  username: 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) です。
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 が指定されている場合、問題は指定された時刻まで一時的なものと見なす必要があります。
downstream
object
省略可
downstream には、レプリケーション ダウンストリーム データベースの観測された状態が含まれます。
downstream.physicalDownstream
object
省略可
downstream.physicalDownstream.setupStrategies
object
省略可
setupStrategies には、試行された各設定戦略の実行に関する情報が含まれています。仕様で定義されている戦略と同じ順序でこのリストに示されます。
downstream.physicalDownstream.setupStrategies.endedAt
string
省略可
endedAt は、この戦略の最新の試行が終了した時刻です。
downstream.physicalDownstream.setupStrategies.message
string
省略可
message は、設定の試行が現在の状態になった理由の説明です。
downstream.physicalDownstream.setupStrategies.retries
integer
省略可
retries は、この戦略が再試行された回数です。
downstream.physicalDownstream.setupStrategies.startedAt
string
省略可
startedAt は、この戦略の最新の試行が開始された時刻です。
downstream.physicalDownstream.setupStrategies.state
string
必須
state は、この設定戦略の現在の状態です。値は次のいずれかです。
InProgress: 戦略が現在実行されています。
Success: 戦略が正常に完了したため、以降は設定戦略が試行されません。
Error: 戦略は失敗しましたが、再試行されます。retries フィールドに、この戦略が再試行された回数が示されます。
Fallback: 戦略は失敗し、再試行されません。代わりに、利用可能な次の戦略(存在する場合)にフォールバックします。
Unknown
downstream.physicalDownstream.setupStrategies.strategy
string
必須
strategy は、このステータスの対象である戦略タイプの名前です。
downstream.physicalDownstream.state
object
省略可
state は、ダウンストリーム データベース サーバーの pg_stat_wal_receiver テーブルに表示されるレプリケーションの状態です。
observedgeneration
integer
省略可
Internal: コントローラによって検出された世代。
reconciled
boolean
省略可
Internal: リソースがコントローラによって調整されたかどうか。
upstream
object
省略可
upstream には、レプリケーション アップストリーム データベースの観測された状態が含まれます。
upstream.host
string
省略可
host は、このデータベースの接続エンドポイントで、ダウンストリーム データベースがレプリケーションでアクセスすることができます。
upstream.password
object
省略可
password は、このデータベースのレプリケーション ユーザー パスワードを保存するシークレットの参照です。
upstream.password.name
string
省略可
name は、Secret リソースを参照する Namespace 内で一意です。
upstream.password.namespace
string
省略可
namespace は、Secret 名が一意である必要がある空間を定義します。
upstream.port
integer
省略可
port は、ダウンストリーム データベースがレプリケーションのためにアクセスできるこのデータベースのポートです。
upstream.replicationslotname
string
省略可
replicationslotname は、このデータベースに作成されたレプリケーション スロットの名前です。ダウンストリーム データベースは、このレプリケーション スロットをレプリケーションに使用できます。
upstream.username
string
省略可
username は、このデータベースのレプリケーション ユーザーの名前です。ダウンストリーム データベースは、このユーザーを使用してこのデータベースに接続し、レプリケーションを行うことができます。