Définition de ressource personnalisée Replication v1.3.0

Sélectionnez une version de la documentation :

Schéma de spécification

ReplicationSpec définit l'état souhaité de la réplication.

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

Champ

Type
Obligatoire ou facultatif

 

Description
dbcluster
object
(facultatif)
DBCluster est le DBCluster auquel appartient cette réplication.
dbcluster.name
string
(facultatif)
Nom du référent. Pour en savoir plus, consultez la section Noms.
downstream
object
(facultatif)
"Downstream" contient les spécifications de la base de données de réplication en aval.
downstream.control
string
Obligatoire
"Control" spécifie l'opération de réplication à effectuer sur cette base de données. Les valeurs autorisées sont "setup", "promote" et "rewind".
downstream.host
string
Obligatoire
"Host" est le point de terminaison de connexion de la base de données en amont auquel cette base de données peut accéder pour la réplication.
downstream.password
object
Obligatoire
"Password" fait référence au secret stockant le mot de passe de l'utilisateur de réplication de la base de données en amont.
downstream.password.name
string
(facultatif)
"name" est un nom unique (dans un espace de noms) servant à référencer une ressource de secret.
downstream.password.namespace
string
(facultatif)
"namespace" définit l'espace dans lequel le nom du secret doit être unique.
downstream.port
integer
(facultatif)
"Port" est le port de la base de données en amont auquel cette base de données peut accéder pour la réplication. La valeur par défaut est 5432.
downstream.replicationslotname
string
Obligatoire
"ReplicationSlotName" est le nom de l'emplacement de réplication créé dans la base de données en amont. Il est utilisé par cette base de données pour la réplication.
downstream.username
string
Obligatoire
"Username" est le nom de l'utilisateur de réplication créé sur la base de données en amont. Il est utilisé par cette base de données pour la connexion à la base de données en amont dans le cadre de la réplication.
upstream
object
(facultatif)
"Upstream" contient les spécifications de la base de données de réplication en amont.
upstream.applicationName
string
(facultatif)
"applicationName" est l'identifiant de la connexion de réplication synchrone. Cette valeur est obligatoire si "Synchronous" est défini sur "true".
upstream.logicalReplication
object
(facultatif)
"LogicalReplication" spécifie la configuration de réplication logique pour l'emplacement de réplication. Si ce champ est vide, l'emplacement de réplication est configuré en tant qu'emplacement de réplication physique.
upstream.logicalReplication.databaseName
string
(facultatif)
"DatabaseName" est le nom de la base de données associée à cet emplacement. Seules les modifications apportées à cette base de données sont diffusées via l'emplacement.
upstream.logicalReplication.pluginName
string
(facultatif)
"PluginName" est le plug-in de décodage associé à cet emplacement. Pour en savoir plus, consultez Explication du décodage logique.
upstream.password
object
Obligatoire
"Password" est la référence au secret stockant le mot de passe de l'utilisateur de réplication. Si aucun mot de passe n'est fourni, un mot de passe est généré et stocké dans un secret affiché dans "status".
upstream.password.name
string
(facultatif)
"name" est un nom unique (dans un espace de noms) servant à référencer une ressource de secret.
upstream.password.namespace
string
(facultatif)
"namespace" définit l'espace dans lequel le nom du secret doit être unique.
upstream.replicationslotname
string
(facultatif)
"ReplicationSlotName" est le nom de l'emplacement de réplication à utiliser pour la réplication. Si ce nom n'est pas fourni, un nom d'emplacement de réplication est généré et affiché dans "status".
upstream.synchronous
string
(facultatif)
"Synchronous" indique si l'emplacement de réplication doit être configuré pour la réplication synchrone. Si la valeur est "true", "applicationName" est ajouté à la liste des instances de secours synchrones. La valeur par défaut est false.
Remarque : Cela peut avoir un impact négatif sur les performances.
upstream.username
string
(facultatif)
"Username" est le nom d'utilisateur de réplication à utiliser pour la réplication. S'il n'est pas fourni, un nom d'utilisateur est généré et affiché dans "status".

Schéma d'état

"ReplicationStatus" définit l'état de réplication observé.

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

Champ

Type
Obligatoire ou facultatif

 

Description
conditions[]
object
(facultatif)
"Conditions" représente les dernières observations disponibles pour l'état actuel de l'entité.
conditions[].lastTransitionTime
string
Obligatoire
"lastTransitionTime" correspond à la dernière fois où la condition est passée d'un état à un autre, ce qui se produit lorsque la condition sous-jacente a changé. Si l'heure à laquelle la condition sous-jacente a changé est inconnue, utilisez l'heure à laquelle le champ d'API a changé.
conditions[].message
string
Obligatoire
"message" est un message lisible par l'humain indiquant des détails sur la transition. Il peut s'agir d'une chaîne vide.
conditions[].observedGeneration
integer
(facultatif)
"observedGeneration" représente le .metadata.generation sur lequel la condition a été définie. Par exemple, si la valeur .metadata.generation est définie sur 12, mais que la valeur .status.conditions[x].observedGeneration est définie sur 9, la condition est obsolète par rapport à l'état actuel de l'instance.
conditions[].reason
string
Obligatoire
"reason" contient un identifiant programmatique indiquant la raison de la dernière transition de la condition. Les producteurs de types de conditions spécifiques peuvent définir des valeurs et des significations attendues pour ce champ, et indiquer si les valeurs sont considérées comme une API garantie. La valeur doit être une chaîne CamelCase. Ce champ ne doit pas être vide.
conditions[].status
string
Obligatoire
état de la condition. Sa valeur peut être "True", "False" ou "Unknown".
conditions[].type
string
Obligatoire
Type de condition au format CamelCase ou foo.example.com/CamelCase. De nombreuses valeurs .condition.type sont cohérentes entre les ressources, comme "Available". Étant donné que des conditions arbitraires peuvent être utiles (voir .node.status.conditions), il est important de pouvoir résoudre les conflits. L'expression régulière correspondante est (dns1123SubdomainFmt/)?(qualifiedNameFmt).
criticalIncidents[]
object
Obligatoire
"CriticalIncidents" est une liste plate de tous les incidents critiques actifs.
criticalIncidents[].code
string
Obligatoire
"Code" correspond au code d'erreur de cette erreur spécifique. Les codes d'erreur sont des chaînes DBSE+numeric, comme DBSE1012.
criticalIncidents[].createTime
string
Obligatoire
"CreateTime" correspond au code temporel d'origine de la création de cet incident.
criticalIncidents[].message
string
(facultatif)
"Message" décrit l'incident survenu ou l'erreur qui s'est produite.
criticalIncidents[].messageTemplateParams
object
(facultatif)
MessageTemplateParams contient des paires clé/valeur nécessaires pour générer une version du message conviviale et axée sur les données dans l'interface utilisateur.
criticalIncidents[].resource
object
Obligatoire
"Resource" contient des informations sur le composant Database Service qui a signalé l'incident, ainsi que des informations sur la ressource Kubernetes.
criticalIncidents[].resource.component
string
Obligatoire
"Component" est un identifiant interne du sous-système du service de base de données qui a signalé l'incident.
criticalIncidents[].resource.location
object
(facultatif)
Emplacement
criticalIncidents[].resource.location.cluster
string
(facultatif)
Nom du cluster de la ressource Kubernetes concernée.
criticalIncidents[].resource.location.group
string
(facultatif)
Nom du groupe de la ressource Kubernetes.
criticalIncidents[].resource.location.kind
string
(facultatif)
Genre de la ressource Kubernetes.
criticalIncidents[].resource.location.name
string
(facultatif)
Nom de la ressource Kubernetes concernée.
criticalIncidents[].resource.location.namespace
string
(facultatif)
Espace de noms de la ressource Kubernetes concernée.
criticalIncidents[].resource.location.version
string
(facultatif)
Version de la ressource Kubernetes.
criticalIncidents[].stackTrace[]
object
(facultatif)
Liste non structurée des messages provenant de la trace de la pile.
criticalIncidents[].stackTrace[].component
string
(facultatif)
Nom d'un composant Database Service ayant enregistré le message.
criticalIncidents[].stackTrace.message
string
(facultatif)
Message consigné.
criticalIncidents[].transientUntil
string
(facultatif)
Si la valeur "TransientUntil" est présente, cela indique que le problème doit être considéré comme temporaire jusqu'à l'heure spécifiée.
downstream
object
(facultatif)
"Downstream" contient l'état observé pour la base de données de réplication en aval.
downstream.physicalDownstream
object
(facultatif)
downstream.physicalDownstream.setupStrategies
object
(facultatif)
"SetupStrategies" contient des informations sur chaque tentative d'application de la stratégie de configuration. Ces informations sont présentées dans cette liste selon l'ordre dans lequel elles ont été définies dans les spécifications.
downstream.physicalDownstream.setupStrategies.endedAt
string
(facultatif)
"EndedAt" correspond à l'heure à laquelle la dernière tentative d'application de cette stratégie s'est terminée.
downstream.physicalDownstream.setupStrategies.message
string
(facultatif)
"Message" décrit pourquoi la tentative de configuration est dans l'état actuel.
downstream.physicalDownstream.setupStrategies.retries
integer
(facultatif)
"Retries" indique le nombre de fois où cette stratégie a été réessayée.
downstream.physicalDownstream.setupStrategies.startedAt
string
(facultatif)
"StartedAt" correspond à l'heure à laquelle la dernière tentative d'application de cette stratégie a commencé.
downstream.physicalDownstream.setupStrategies.state
string
Obligatoire
"State" décrit l'état actuel de cette stratégie de configuration. Ce champ accepte les valeurs suivantes :
InProgress : la stratégie est en cours d'exécution.
Success : la stratégie a été exécutée avec succès et aucune autre application de stratégie de configuration ne sera tentée.
Error : la stratégie a échoué, mais une nouvelle tentative sera effectuée. Le champ "Retries" indique le nombre de fois où l'application de cette stratégie a été tentée.
Fallback : l'application de la stratégie a échoué et il n'y aura pas d'autre tentative. À la place, nous passerons à la prochaine stratégie disponible, le cas échéant.
Unknown
downstream.physicalDownstream.setupStrategies.strategy
string
Obligatoire
"Strategy" est le nom du type de stratégie auquel cet état se rapporte.
downstream.physicalDownstream.state
object
(facultatif)
"State" correspond à l'état de la réplication tel qu'il apparaît dans la table pg_stat_wal_receiver du serveur de base de données en aval.
observedgeneration
integer
(facultatif)
Interne : génération observée par le contrôleur.
reconciled
boolean
(facultatif)
Interne : indique si la ressource a été rapprochée par le contrôleur.
upstream
object
(facultatif)
"Upstream" contient l'état observé de la base de données de réplication en amont.
upstream.host
string
(facultatif)
"Host" est le point de terminaison de connexion de cette base de données auquel les bases de données en aval peuvent accéder pour la réplication.
upstream.password
object
(facultatif)
"Password" fait référence au secret stockant le mot de passe de l'utilisateur de réplication de cette base de données.
upstream.password.name
string
(facultatif)
"name" est un nom unique (dans un espace de noms) servant à référencer une ressource de secret.
upstream.password.namespace
string
(facultatif)
"namespace" définit l'espace dans lequel le nom du secret doit être unique.
upstream.port
integer
(facultatif)
"Port" est le port de cette base de données auquel les bases de données en aval peuvent accéder pour la réplication.
upstream.replicationslotname
string
(facultatif)
"ReplicationSlotName" est le nom de l'emplacement de réplication créé sur cette base de données. Les bases de données en aval peuvent utiliser cet emplacement pour la réplication.
upstream.username
string
(facultatif)
"Username" est le nom de l'utilisateur de réplication sur cette base de données. Les bases de données en aval peuvent se servir de cet utilisateur pour se connecter à cette base de données à des fins de réplication.