Spec schema
DBClusterSpec defines the desired state of DBCluster.
allowExternalIncomingTraffic: boolean
availability:
autoFailoverTriggerThreshold: integer
autoHealTriggerThreshold: integer
enableAutoFailover: boolean
enableAutoHeal: boolean
enableStandbyAsReadReplica: boolean
healthcheckPeriodSeconds: integer
numberOfStandbys: integer
replayReplicationSlotsOnStandbys: boolean
connectedModeSpec:
apiKeySecret: string
clusterId: string
displayLocation: string
gcpProjectId: string
gcpZone: string
controlPlaneAgentsVersion: string
databaseImage: string
databaseVersion: string
isDeleted: boolean
mode: string
primarySpec:
adminUser:
passwordRef:
name: string
allowExternalIncomingTrafficToInstance: boolean
auditLogTarget:
syslog:
certsSecretRef:
name: string
namespace: string
host: string
availabilityOptions:
healthcheckPeriodSeconds: integer
livenessProbe: string
component: object
images: object
name: string
upgradeScheduledAt: string
version: string
dbLoadBalancerOptions:
annotations: object
gcp:
loadBalancerIP: string
loadBalancerType: string
features:
googleMLExtension:
config:
vertexAIKeyRef: string
vertexAIRegion: string
enabled: boolean
memoryAgent:
enabled: boolean
isStopped: boolean
mode: string
parameters: object
resources:
cpu: integer or string
disks:
- accessModes: string
annotations: object
name: string
selector:
matchExpressions:
- key: string
operator: string
values: string
matchLabels: object
size: string
storageClass: string
volumeName:
memory: string or integer
schedulingconfig:
nodeaffinity:
preferredDuringSchedulingIgnoredDuringExecution:
preference:
matchExpressions:
- key: string
operator: string
values: string
matchFields:
- key: string
operator: string
values: string
weight: integer
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
matchExpressions:
- key: string
operator: string
values: string
matchFields:
- key: string
operator: string
values: string
podAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- podAffinityTerm:
labelSelector:
matchExpressions:
- key: string
operator: string
values: string
matchLabels: object
namespaceSelector:
matchExpressions:
- key: string
operator: string
values: string
matchLabels: object
namespaces: string
topologyKey: string
weight: integer
requiredDuringSchedulingIgnoredDuringExecution:
labelSelector:
matchExpressions:
- key: string
operator: string
values: string
matchLabels: object
namespaceSelector:
matchExpressions:
- key: string
operator: string
values: string
matchLabels: object
namespaces: string
topologyKey: string
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
podAffinityTerm:
labelSelector:
matchExpressions:
- key: string
operator: string
type: string
matchLabels: object
namespaceSelector:
matchExpressions:
- key: string
operator: string
values: string
matchLabels: object
namespaces: string
topologyKey: string
weight: integer
requiredDuringSchedulingIgnoredDuringExecution:
labelSelector:
matchExpressions:
- key: string
operator: string
values: string
matchLabels: object
namespaceSelector:
matchExpressions:
- key: string
operator: string
type: string
matchLabels: object
namespaces: string
topologyKey: string
tolerations:
- effect: string
key: string
operator: string
tolerationSeconds: integer
value: string
topologySpreadConstraints:
- labelSelector:
matchExpressions:
- key: string
operator: string
values: string
matchLabels: object
matchLabelKeys:
- string
maxSkew: integer
minDomains: integer
nodeAffinityPolicy: string
nodeTaintsPolicy: string
topologyKey: string
whenUnsatisfiable: string
services: object
sidecarRef:
name: string
sourceCidrRanges:
tls:
certSecret:
name: string
walArchiveSetting:
archiveMode: string
location: string
tls:
certSecret:
name: string
Field TypeRequired or optional |
Description |
|---|---|
allowExternalIncomingTraffic
| |
booleanOptional | Use this field to toggle external load balancer creation. |
availability
| |
objectOptional | Availability contains adjustable settings for DBCluster high availability (HA) features. |
availability.autoFailoverTriggerThreshold
| |
integerOptional | AutoFailoverTriggerThreshold is the number of consecutive healthcheck failures on the primary instance that triggers an automatic failover. If set to 0, then it will use the system default value. Use the EnableAutoFailover flag to disable automatic failover. |
availability.autoHealTriggerThreshold
| |
integerOptional |
AutoHealTriggerThreshold is the number of consecutive standby instance health check failures that start automatic healing. To deactivate automatic healing, use the EnableAutoHeal flag. The default value is 5.
|
availability.enableAutoFailover
| |
booleanOptional | EnableAutoFailover means this DBCluster will trigger a failover if it detects the primary instance is unhealthy and standby instance is healthy. If set to true, then automatic failover is enabled. If set to false, then autofailover isn't triggered even if the system detects that the primary instance is unhealthy. The default value is true. When it is enabled, if the system detects that the primary instance is unhealthy for the given threshold, it will trigger a failover. This feature is only applicable if this is an HA DBCluster and if the standby is healthy. |
availability.enableAutoHeal
| |
booleanOptional | EnableAutoHeal means this DBCluster will trigger an autoheal if it detects the standby instance is unhealthy. If set to true, then autoheal is enabled. If set to false, then autoheal is not triggered even if the system detects that the standby instance is unhealthy. The default value is true. When it is enabled, if the system detects that the standby instance is unhealthy for the given threshold, it triggers an autoheal. This feature is only applicable if this is an HA DBCluster. |
availability.enableStandbyAsReadReplica
| |
booleanRequired | EnableStandbyAsReadReplica determine whether the standbys can accept user queries or not. If set to true, a new endpoint is created to enable read-only access to the standbys. |
availability.healthcheckPeriodSeconds
| |
integerOptional | HealthcheckPeriodSeconds is the number of seconds the healthcheck prober waits before checking the health of the primary and standby instances again and updating the status accordingly. |
availability.replayReplicationSlotsOnStandbys
| |
booleanOptional |
Setting replayReplicationSlotsOnStandbys to true allows HA standbys to replay replication slots from WAL files. We recommend also enabling the LogReplicationSlot field on the upstream Replication resources so that the corresponding
replication slots are logged in the WAL files.
This configuration helps to confirm that in the event of an HA failover or switchover on the primary DBCluster, the new HA primary instance retains WAL
files which have not yet been consumed by these replication slots.
Note that modifying this field causes all HA standbys to restart.
|
availability.numberOfStandbys
| |
integerOptional | NumberOfStandbys is the number of standbys that should be created for this DBCluster. If set to any value greater than 0, then HA is enabled on the cluster and the system will create the indicated number of standby instances. The maximum allowed standby instances is 5. To check the current status of HA on this DBCluster, look at the HAReady condition under the DBCluster status. If HAReady is true, then setup has been complete and ready. If set to 0, then HA is disabled on the cluster, and deletes any existing standby instances. Any number between 0 and 5 inclusive is supported. The default value is 0. For more information, see Manage high availability in Kubernetes. |
connectedModeSpec
| |
objectOptional | N/A |
connectedModeSpec.apiSecretKey
| |
stringOptional | N/A |
connectedModeSpec.clusterId
| |
stringOptional | N/A |
connectedModeSpec.displayLocation
| |
stringOptional | N/A |
connectedModeSpec.gcpProjectId
| |
stringOptional | N/A |
connectedModeSpec.gcpZone
| |
stringOptional | N/A |
controlPlaneAgentsVersion
| |
stringRequired | ControlPlaneAgentsVersion is the desired control plane agents version for the cluster for example, "0.5.2". The controlPlaneAgentsVersion must be compatible with the chosen databaseVersion. To know what versions are compatible, check the list of available versions in {link}. This version is applied to all instances of the database cluster. In the case of a new database cluster, the instance is be created using the specified version. In the case of an existing database cluster, the operator will aptempt to upgrade or downgrade to the specified controlPlaneAgentsVersion. The field status.currentControlPlaneAgentsVersion indicates the current version for control plane agents. |
databaseImage
| |
stringOptional | DatabaseImage is the Uniform Resource Identifier of a customized database image within the container registry. If databaseImage is specified, then the operator uses this container image for the database instead of the default database container image of the specified databaseVersion. We recommend that the databaseImage container is based on the default database image used of the chosen databaseVersion. |
databaseVersion
| |
stringOptional | DatabaseVersion is the desired database version for the cluster for example, "15.4.5". This field is required. This version is applied to all instances of the database cluster. In the case of a new database cluster, the instance is created using the specified version. In the case of an existing database cluster, the operator aptempts to upgrade or downgrade to the specified databaseVersion. The field status.currentDatabaseVersion indicates the current database version. |
isDeleted
| |
booleanOptional | IsDeleted indicates a request to delete the DBCluster. By default, this field is false. This fields applies to all instances of the database cluster. When set this to true, the control plane will attempt to release the related resources, including network endpoints. See the status fields for indication of success or failures, if any. |
mode
| |
stringOptional |
Indicates the mode of this DBCluster. It accepts any of the following values "" or disasterRecovery.
|
primarySpec
| |
objectRequired | PrimarySpec contains the specifications of the Primary instance of the database cluster. The primary instance contains the compute and storage resources serving the read-write endpoints of the database cluster. |
primarySpec.adminUser
| |
objectRequired | AdminUser represents the admin user specification. This is the initial database user that the control plane creates. Additional database users are managed by the end-user directly. This field can also be used to reset the password of the initial user. |
primarySpec.adminUser.passwordRef
| |
objectOptional |
PasswordRef is the name of the secret containing the admin user's password. This value is used during initial provisioning or password reset to set the admin user to that password. The secret must be under the same project as the Database cluster. The name of the secret must follow this pattern: db-pw- |
primarySpec.adminUser.passwordRef.name
| |
stringOptional | The name of the referent. For more information, see Names. |
primarySpec.AuditLogTarget
| |
objectOptional | AuditLogTarget configures the sink for the database audit logs. |
primarySpec.AuditLogTarget.syslog
| |
objectOptional | N/A |
primarySpec.AuditLogTarget.certsSecretRef
| |
objectRequired | CertsSecretRef contains the certificates to be used for the TLS connection to the syslog server. |
primarySpec.AuditLogTarget.certsSecretRef.name
| |
stringOptional | name is unique within a namespace to reference a secret resource. |
primarySpec.AuditLogTarget.certsSecretRef.namespace
| |
stringOptional | namespace defines the space within which the secret name must be unique. |
primarySpec.AuditLogTarget.syslog.host
| |
stringRequired | Host is the syslog server FQDN or the IP address. |
primarySpec.availabilityOptions
| |
objectOptional | AvailabilityOptions contains adjustable settings for HA features. |
primarySpec.availabilityOptions.healthcheckPeriodSeconds
| |
integerOptional | HealthcheckPeriodSeconds is the number of seconds the healthcheck prober will wait before checking the health of the primary and standby instances again and updating the status accordingly. This field is propagated down from the DBCluster's spec. |
primarySpec.availabilityOptions.livenessProbe
| |
stringOptional | LivenessProbe enables or disables the liveness probe which is used to trigger a container restart. When set to Enabled, the liveness probe runs periodic health checks on the database. It restarts the container if it fails three consecutive health checks. LivenessProbe is automatically disabled for HA instances. When set to Disabled, the liveness probe is not running health checks on the database. The default value is Enabled. |
primarySpec.availabilityOptions.livenessProbe
| |
stringOptional | LivenessProbe enables or disables the liveness probe which is used to trigger a container restart. When set to Enabled, the liveness probe runs periodic health checks on the database. It restarts the container if it fails three consecutive health checks. LivenessProbe is automatically disabled for HA instances. When set to Disabled, the liveness probe is not running health checks on the database. The default value is Enabled. |
primarySpec.component
| |
objectOptional | The list of instance components An instance is composed of DataPlane and controlPlaneAgent components. |
primarySpec.component.images
| |
objectRequired | The list of container images in the components. |
primarySpec.component.name
| |
stringRequired | Name of a component |
primarySpec.component.upgradeScheduledAt
| |
stringOptional | Start time of the upgrade |
primarySpec.component.version
| |
stringOptional | Version of a component |
primarySpec.dbLoadBalancerOptions
| |
objectOptional | DBNetworkServiceOptions allows to override some details of the Kubernetes Service that are created to expose a connection to the database. |
primarySpec.dbLoadBalancerOptions.annotations
| |
objectOptional | Annotations provided by the customer are added to the service object of type loadbalancer. |
primarySpec.dbLoadBalancerOptions.gcp
| |
objectOptional | Contains Google Cloud-specific attributes for the Kubernetes LoadBalancer. |
primarySpec.dbLoadBalancerOptions.gcp.loadBalancerIP
| |
stringOptional | LoadBalancerIP is a static IP address. For more information, see Configure static external IP addresses. |
primarySpec.dbLoadBalancerOptions.gcp.loadBalancerType
| |
stringOptional | A LoadBalancer can be internal or external. For more information, see Internal load balancer. |
primarySpec.features
| |
objectOptional | Feature specification. |
primarySpec.features.googleMLExtension
| |
objectOptional | Google machine learning (ML) Extension Specification. |
primarySpec.features.googleMLExtension.config
| |
objectOptional | Google ML Extension Configuration. |
primarySpec.features.googleMLExtension.config.vertexAIKeyRef
| |
stringOptional | N/A |
primarySpec.features.googleMLExtension.config.vertexAIRegion
| |
stringOptional | N/A |
primarySpec.features.googleMLExtension.enabled
| |
booleanRequired | N/A |
primarySpec.features.memoryAgent
| |
objectOptional | N/A |
primarySpec.features.memoryAgent.enabled
| |
booleanRequired | Indicate interest to enable or disable memory agent for the database. The default is true. |
primarySpec.features.memoryAgent.enabled
| |
booleanRequired | Indicate interest to enable or disable memory agent for the database. The default is true. |
primarySpec.isStopped
| |
booleanOptional | IsStopped stops the instance when set to true. By default, this field is set to false. When stopped, the compute resources (CPU, memory) of the instance are released. However, the instance keeps the storage resource and network endpoints so that restarting is transparent to the downstream services. See the status field for success or failures, if any. |
primarySpec.mode
| |
stringOptional |
Mode specifies how this instance is managed by the operator. Possible values are as follows: ManuallySetUpStandby, Pause, Recovery, and Maintenance.
|
primarySpec.parameters
| |
objectOptional | Parameters allows to set database parameters for the database cluster. Parameters take a key/value pair corresponding to the parameter name/value as defined by the database engine. |
primarySpec.resources
| |
objectRequired | Resource specification for the database container. When any of the fields inside the resource changes, the operator restarts the database instance with the new resource specification. |
primarySpec.resources.cpu
| |
integer or stringRequired | The amount of CPU allocated to the database container. |
primarySpec.resources.disks
| |
objectRequired | The specifications of the disks allocated to the database container. |
primarySpec.resources.disks.accessModes
| |
stringOptional | AccessModes contains the desired access modes for the volume. For more information, see Access Modes. |
primarySpec.resources.disks.annotations
| |
objectOptional | Additional annotations added to the Persistent Volume Claim. This field lets you integrate with other tools. |
primarySpec.resources.disks.name
| |
stringRequired | Name of the disk. The allowed values are: DataDisk, LogDisk, BackupDisk, and ObsDisk. |
primarySpec.resources.disks.selector
| |
objectOptional | A label query over volumes to consider for binding. If this field is set, then the volume with matching labels is used as the backing volume for the disk. For more information, see PersistentVolumeClaimSpec. |
primarySpec.resources.disks.selector.matchExpressions
| |
objectOptional | matchExpressions is a list of label selector requirements. The requirements are ANDed. |
primarySpec.resources.disks.selector.matchExpressions.key
| |
stringRequired | key is the label key that the selector applies to. |
primarySpec.resources.disks.selector.matchExpressions.operator
| |
stringRequired | operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, and DoesNotExist. |
primarySpec.resources.disks.selector.matchExpressions.values
| |
stringOptional | values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. |
primarySpec.resources.disks.selector.matchLabels
| |
objectOptional | matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. |
primarySpec.resources.disks.size
| |
stringRequired | Disk size in bytes for example, "10Gi" for 10 Gibibytes. This field is required. The allowed size unit prefixes are: "Ki", "Mi", "Gi", "Ti, "Pi" and "Ei" for 2-base. Also "K", "M", "G", "T, "P" and "E" for 10-base. For more information, see Unit prefix. |
primarySpec.resources.disks.storageClass
| |
stringOptional | StorageClass points to a particular CSI storage class. This field is optional. If the field is not set, then the default CSI storage class for the Kubernetes cluster is used. If there is no default for the Kubernetes cluster, then the Persistence Volume Claim will fail and the database cluster will fail to provision. For more information, see Storage Classes. |
primarySpec.resources.disks.volumeName
| |
stringOptional | VolumeName is the binding reference to the Persistent Volume tied to this disk. This field is optional. This allows to reuse an existing volume. Note that if this field is specified, the value "storageClass" will not take effect. For more information, see Binding. |
primarySpec.resources.memory
| |
string or integerRequired | The amount of memory allocated to the database container. |
primarySpec.resources.memory
| |
string or integerRequired | The amount of memory allocated to the database container. |
primarySpec.schedulingConfig
| |
objectOptional | SchedulingConfig specifies how the instance should be scheduled on Kubernetes nodes. When any field inside the scheduling config changes, it can lead to rescheduling of the Kubernetes pod onto a different node based on the config. |
primarySpec.schedulingConfig.nodeAffinity
| |
objectOptional | NodeAffinity describes node affinity scheduling rules for the instance. |
primarySpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution
| |
objectOptional | The scheduler prefers to schedule pods to nodes that satisfy the affinity expressions specified by this field, but the scheduler might choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, which means that for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum, if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred. |
primarySpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference
| |
objectRequired | A node selector term, associated with the corresponding weight. |
primarySpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions
| |
objectOptional | A list of node selector requirements by the node's labels. |
primarySpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.key
| |
stringRequired | The label key that the selector applies to. |
primarySpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.operator
| |
stringRequired | Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. |
primarySpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.values
| |
stringOptional | An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. |
primarySpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields
| |
objectOptional | A list of node selector requirements by the node's fields. |
primarySpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.key
| |
stringRequired | The label key that the selector applies to. |
primarySpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.operator
| |
stringRequired | Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. |
primarySpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.values
| |
stringOptional | An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which is interpreted as an integer. This array is replaced during a strategic merge patch. |
primarySpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
| |
integerRequired | Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. |
primarySpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution
| |
objectOptional | If the affinity requirements specified by this field isn't met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field aren't met at some point during pod execution, for example due to an update, the system might or might not try to eventually evict the pod from its node. |
primarySpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
| |
objectRequired | A list of node selector terms. The terms are ORed. |
primarySpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions
| |
objectOptional | A list of node selector requirements by the node's labels. |
primarySpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.key
| |
stringRequired | The label key that the selector applies to. |
primarySpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.operator
| |
stringRequired | Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. |
primarySpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.values
| |
stringOptional | An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which is interpreted as an integer. This array is replaced during a strategic merge patch. |
primarySpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields
| |
objectOptional | A list of node selector requirements by the node's fields. |
primarySpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.key
| |
stringRequired | The label key that the selector applies to. |
primarySpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.operator
| |
stringRequired | Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. |
primarySpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.values
| |
stringOptional | An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which is interpreted as an integer. This array is replaced during a strategic merge patch. |
primarySpec.schedulingConfig.podAffinity
| |
objectOptional | PodAffinity describes pod affinity scheduling rules for the instance. |
primarySpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution
| |
objectOptional | The scheduler will prioritize nodes that meet the affinity expressions specified in this field when scheduling pods. The scheduler might still choose a node that doesn't fully meet the criteria. The most preferred node is the one with the highest total weight. This weight is calculated by adding up values for each node that satisfies all scheduling requirements (such as resource requests or requiredDuringScheduling affinity expressions). For each matching podAffinityTerm, the node's weight increases, and the node(s) with the highest total weight are selected as the most preferred. |
primarySpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
| |
objectRequired | A pod affinity term, associated with the corresponding weight. |
primarySpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector
| |
objectOptional | A label query over a set of resources, in this case, pods. |
primarySpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions
| |
objectOptional | matchExpressions is a list of label selector requirements. The requirements are ANDed. |
primarySpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.key
| |
stringRequired | key is the label key that the selector applies to. |
primarySpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.operator
| |
stringRequired | operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. |
primarySpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.values
| |
stringOptional | values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. |
primarySpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchLabels
| |
objectOptional | matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. |
primarySpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
| |
objectOptional | A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. |
primarySpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions
| |
objectOptional | matchExpressions is a list of label selector requirements. The requirements are ANDed. |
primarySpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.key
| |
stringRequired | key is the label key that the selector applies to. |
primarySpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.operator
| |
stringRequired | operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. |
primarySpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.values
| |
stringOptional | values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. |
primarySpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchLabels
| |
objectOptional | matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. |
primarySpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
| |
stringOptional | namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". |
primarySpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.topologyKey
| |
stringRequired | This pod must be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces. Co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. |
primarySpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
| |
integerRequired | weight associated with matching the corresponding podAffinityTerm, in the range 1-100. |
primarySpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution
| |
objectOptional | If the affinity requirements specified by this field isn't met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field aren't met at some point during pod execution - for example, due to a pod label update - the system might or might not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, which means that all terms must be satisfied. |
primarySpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
| |
objectOptional | A label query over a set of resources, in this case, pods. |
primarySpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
| |
objectOptional | A label query over a set of resources, in this case, pods. |
primarySpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
| |
objectOptional | matchExpressions is a list of label selector requirements. The requirements are ANDed. |
primarySpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
| |
stringRequired | key is the label key that the selector applies to. |
primarySpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
| |
stringRequired | operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. |
primarySpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values
| |
stringOptional | values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. |
primarySpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchLabels
| |
objectOptional | matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. |
primarySpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
| |
objectOptional | A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. |
primarySpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
| |
objectOptional | matchExpressions is a list of label selector requirements. The requirements are ANDed. |
primarySpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
| |
stringRequired | key is the label key that the selector applies to. |
primarySpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
| |
stringRequired | operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, and DoesNotExist. |
primarySpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.values
| |
stringOptional | values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. |
primarySpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
| |
objectOptional | matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. |
primarySpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
| |
objectOptional | matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. |
primarySpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
| |
stringOptional | namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". |
primarySpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
| |
stringRequired | This pod must be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces. Co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. |
primarySpec.schedulingConfig.podAntiAffinity
| |
objectOptional | PodAntiAffinity describes pod anti-affinity scheduling rules for the instance. |
primarySpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
| |
objectOptional | The scheduler prefers to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but the scheduler might choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, in other words, for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum, if the node has pods which matches the corresponding podAffinityTerm. The node(s) with the highest sum are the most preferred. |
primarySpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
| |
objectRequired | A pod affinity term, associated with the corresponding weight. |
primarySpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector
| |
objectOptional | A label query over a set of resources, in this case, pods. |
primarySpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions
| |
objectOptional | matchExpressions is a list of label selector requirements. The requirements are ANDed. |
primarySpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.key
| |
stringRequired | key is the label key that the selector applies to. |
primarySpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.operator
| |
stringRequired | operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. |
primarySpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.values
| |
stringOptional | values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. |
primarySpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchLabels
| |
objectOptional | matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. |
primarySpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
| |
objectOptional | A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. |
primarySpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions
| |
objectOptional | matchExpressions is a list of label selector requirements. The requirements are ANDed. |
primarySpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.key
| |
stringRequired | key is the label key that the selector applies to. |
primarySpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.operator
| |
stringRequired | operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. |
primarySpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.values
| |
stringOptional | values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. |
primarySpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchLabels
| |
objectOptional | matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. |
primarySpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
| |
stringOptional | namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". |
primarySpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.topologyKey
| |
stringRequired | This pod must be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces. Co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. |
primarySpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
| |
integerRequired | weight associated with matching the corresponding podAffinityTerm, in the range 1-100. |
primarySpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
| |
objectOptional | If the anti-affinity requirements specified by this field isn't met at scheduling time, the pod is not scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (for example, due to a pod label update), the system might or might not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, which means that all terms must be satisfied. |
primarySpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
| |
objectOptional | A label query over a set of resources, in this case, pods. |
primarySpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
| |
objectOptional | matchExpressions is a list of label selector requirements. The requirements are ANDed. |
primarySpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
| |
stringRequired | key is the label key that the selector applies to. |
primarySpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
| |
stringRequired | operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, and DoesNotExist. |
primarySpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values
| |
stringOptional | values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. |
primarySpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchLabels
| |
objectOptional | matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. |
primarySpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
| |
objectOptional | A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. |
primarySpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
| |
objectOptional | matchExpressions is a list of label selector requirements. The requirements are ANDed. |
primarySpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
| |
stringRequired | key is the label key that the selector applies to. |
primarySpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
| |
stringRequired | operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, and DoesNotExist. |
primarySpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.values
| |
stringOptional | values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. |
primarySpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
| |
objectOptional | matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. |
primarySpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
| |
stringOptional | namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". |
primarySpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
| |
stringRequired | This pod must be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces. Co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. |
primarySpec.schedulingConfig.tolerations
| |
objectOptional | Tolerations enable the management of whether to allow or disallow scheduling an instance on a Kubernetes node that has a specific taint applied. |
primarySpec.schedulingConfig.tolerations.effect
| |
stringOptional | Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. |
primarySpec.schedulingConfig.tolerations.key
| |
stringOptional | Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists. This combination means to match all values and all keys. |
primarySpec.schedulingConfig.tolerations.operator
| |
stringOptional | Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category. |
primarySpec.schedulingConfig.tolerations.tolerationSeconds
| |
integerOptional | TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, this field isn't set, which means tolerate the taint forever (do not evict). Zero and negative values are treated as 0 (evict immediately) by the system. |
primarySpec.schedulingConfig.tolerations.value
| |
stringOptional | Value is the taint value the toleration matches to. If the operator is Exists, the value must be empty; otherwise, it must be a regular string. |
primarySpec.schedulingConfig.topologySpreadConstraints
| |
objectOptional | TopologySpreadConstraints describes how to spread pods across topology domains. |
primarySpec.schedulingConfig.topologySpreadConstraints.labelSelector
| |
objectOptional | LabelSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain. |
primarySpec.schedulingConfig.topologySpreadConstraints.labelSelector.matchExpressions
| |
objectOptional | matchExpressions is a list of label selector requirements. The requirements are ANDed. |
primarySpec.schedulingConfig.topologySpreadConstraints.labelSelector.matchExpressions.key
| |
stringRequired | key is the label key that the selector applies to. |
primarySpec.schedulingConfig.topologySpreadConstraints.labelSelector.matchExpressions.operator
| |
stringRequired | operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. |
primarySpec.schedulingConfig.topologySpreadConstraints.labelSelector.matchExpressions.values
| |
stringOptional | values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. |
primarySpec.schedulingConfig.topologySpreadConstraints.labelSelector.matchLabels
| |
objectOptional | matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. |
primarySpec.schedulingConfig.topologySpreadConstraints.matchLabelKeys
| |
stringOptional | MatchLabelKeys is a set of pod label keys to select the pods over which spreading will be calculated. The keys are used to lookup values from the incoming pod labels, those key-value labels are ANDed with labelSelector to select the group of existing pods over which spreading will be calculated for the incoming pod. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector. MatchLabelKeys cannot be set when LabelSelector isn't set. Keys that don't exist in the incoming pod labels will be ignored. A null or empty list means only match against labelSelector. This is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default). |
primarySpec.schedulingConfig.topologySpreadConstraints.maxSkew
| |
integerRequired | MaxSkew describes the degree to which pods may be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference between the number of matching pods in the target topology and the global minimum. The global minimum is the minimum number of matching pods in an eligible domain or zero if the number of eligible domains is less than MinDomains. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 2/2/1: In this case, the global minimum is 1. If MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 2/2/2; scheduling it onto zone1(zone2) would make the ActualSkew(3-1) on zone1(zone2) violate MaxSkew(1). If MaxSkew is 2, incoming pod can be scheduled onto any zone. When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence to topologies that satisfy it. It's a required field. Default value is 1 and 0 is not allowed. |
primarySpec.schedulingConfig.topologySpreadConstraints.minDomains
| |
integerOptional | MinDomains indicates a minimum number of eligible domains. When the number of eligible domains with matching topology keys is less than minDomains, Pod Topology Spread treats "global minimum" as 0, and then the calculation of Skew is performed. And when the number of eligible domains with matching topology keys equals or greater than minDomains, this value has no effect on scheduling. As a result, when the number of eligible domains is less than minDomains, scheduler won't schedule more than maxSkew Pods to those domains. If value is nil, the constraint behaves as if MinDomains is equal to 1. Valid values are integers greater than 0. When value is not nil, WhenUnsatisfiable must be DoNotSchedule. For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same labelSelector spread as 2/2/2: The number of domains is less than 5(MinDomains), so "global minimum" is treated as 0. In this situation, new pod with the same labelSelector cannot be scheduled, because computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones, it will violate MaxSkew. This is a beta field and requires the MinDomainsInPodTopologySpread feature gate to be enabled (enabled by default). |
primarySpec.schedulingConfig.topologySpreadConstraints.nodeAffinityPolicy
| |
stringOptional | NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector when calculating pod topology spread skew. Options are: - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations. - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations. If this value is nil, the behavior is equivalent to the Honor policy. This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag. |
primarySpec.schedulingConfig.topologySpreadConstraints.nodeTaintsPolicy
| |
stringOptional | NodeTaintsPolicy indicates how we will treat node taints when calculating pod topology spread skew. Options are: - Honor: nodes without taints, along with tainted nodes for which the incoming pod has a toleration, are included. - Ignore: node taints are ignored. All nodes are included. If this value is nil, the behavior is equivalent to the Ignore policy. This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag. |
primarySpec.schedulingConfig.topologySpreadConstraints.topologyKey
| |
stringRequired |
TopologyKey is the key of node labels. Nodes that have a label with this key and identical values are considered to be in the same topology. We consider each |
primarySpec.schedulingConfig.topologySpreadConstraints.whenUnsatisfiable
| |
stringRequired | WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy the spread constraint. - DoNotSchedule (default) tells the scheduler not to schedule it. - ScheduleAnyway tells the scheduler to schedule the pod in any location, but giving higher precedence to topologies that would help reduce the skew. A constraint is considered "Unsatisfiable" for an incoming pod if and only if every possible node assignment for that pod would violate "MaxSkew" on some topology. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 3/1/1: If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler won't make it *more* imbalanced. It's a required field. |
primarySpec.services
| |
objectOptional | Services list the optional semi-managed services that you can choose from. |
primarySpec.sidecarRef
| |
objectOptional | SidecarRef is a reference to a sidecar Custom Resource. If set, sidecar containers included in the sidecar Custom Resource are injected into the database pod. |
primarySpec.sidecarRef.name
| |
stringOptional | Name of the referent. For more information, see Names. |
primarySpec.sourceCidrRanges
| |
stringOptional | Source IP CIDR ranges allowed for a client. |
primarySpec.tls
| |
objectOptional | TLS is the desired server certificate configuration for the instance. This field is optional. When this field is changed, the instance pods restart to load the specified certificate. |
primarySpec.tls.certSecret
| |
objectOptional | CertSecret contains the name of a certificate secret within the same namespace. The secret must contain entries ca.crt (CA certificate), tls.key (server private key), and tls.crt (server leaf certificate). This secret is used to set the TLS config for the database instance. |
primarySpec.tls.certSecret.name
| |
stringOptional | Name of the referent. For more information, see Names |
primarySpec.walArchiveSetting
| |
objectOptional | WalArchiveSetting specifies wal archive settings. If set, archive_mode is enabled to archive wal logs to specified location. For more information, see Continuous Archiving and Point-in-Time Recovery (PITR). |
primarySpec.walArchiveSetting.archiveMode
| |
stringOptional | ArchiveMode specifies archive_mode. For more information, see archive_mode. |
primarySpec.walArchiveSetting.location
| |
stringOptional | Location is the location where archived WAL logs are stored. |
tls
| |
objectOptional | TLS is the desired server certificate configuration for the cluster.By default, this field is empty and a new self-signed CA and leaf certificate are generated for the cluster. When this field is changed, the database cluster pods will restart to load the specified certificate. The field status.certificateReference indicates the current CA certificate secret and key. |
tls.certSecret
| |
objectOptional | CertSecret references the certificate secret within the same namespace. The secret must contain entries ca.crt (CA certificate), tls.key (server private key), and tls.crt (server leaf certificate). This secret is used to set the TLS config for the database instances that a part of the database cluster. |
tls.certSecret.name
| |
stringOptional | Name of the referent. For more information, see Names |
Status schema
DBClusterStatus defines the observed state of DBCluster.
healthCheck:
isRegistered: boolean
lastHealthCheckTime: string
certificateReference:
certificateKey: string
secretRef:
name: string
namespace: string
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
latestFailoverStatus:
failoverName: string
status:
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
group: string
kind: string
name: string
namespace: string
version: string
stackTrace:
- component: string
message: string
transientUntil: string
endTime: string
internal:
attempt: integer
lastPhaseChangeTime: string
newPrimary: string
newPrimaryZone: string
oldPrimary: string
phase: string
observedGeneration: integer
reconciled: boolean
startTime: string
state: string
observedGeneration: integer
phase: string
primary:
allocatedResources:
cpu: integer or string
disks:
accessModes: string
annotations: string
name: string
selector:
matchExpressions:
- key: string
operator: string
values: string
matchLabels: object
size: string
storageClass: string
volumeName: string
memory: integer or string
conditions:
- lastTransitionTime: string
message: string
observedGeneration: integer
reason: string
status: string
type: string
currentControlPlaneAgentsVersion: string
currentDatabaseImage: string
currentDatabaseVersion: string
currentParameters: object
endpoint: string
endpoints:
- name: string
value: string
latestExport:
creationTimeStamp: string
exportName: string
spec:
dbclusterRef: string
exportLocation:
gcsOptions:
bucket: string
key: string
secretRef:
name: string
namespace: string
type: string
status:
completeTime: string
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
exportSubDirectory: string
observedGeneration: integer
phase: string
reconciled: boolean
startTime: string
latestImport:
creationTimeStamp: string
importName: string
spec:
databaseName: string
dbclusterRef: string
downloadOnly: boolean
dumpStorage:
gcsOptions:
bucket: string
key: string
secretRef:
name: string
namespace: string
type: string
logStorage:
gcsOptions:
bucket: string
key: string
secretRef:
name: string
namespace: string
type: string
status:
completeTime: string
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
dumpPath: string
observedGeneration: integer
phase: string
reconciled: boolean
startTime: string
phase: string
url: string
walArchiveSetting:
location: string
reconciled: boolean
registrationStatus:
IsHA: boolean
IsRegistered: boolean
RegistrationTime: string
restoredFrom:
restoredTime: string
sourceDBCluster: object
serviceAccounts: string
Field TypeRequired or optional |
Description |
|---|---|
healthCheck
| |
objectOptional | HealthStatus represents the health check. |
healthCheck.isRegistered
| |
booleanOptional | N/A |
healthCheck.lastHealthCheckTime
| |
stringOptional | N/A |
certificateReference
| |
objectOptional | CertificateReference refers to a secret and a key of the server CA certificate that can be used to connect to the database. If spec.TLS is provided, this value should refer to the same secret after the database has been configured to use the provided server certificate. |
certificateReference.certificateKey
| |
stringOptional | CertificateKey is the key used to search the secret for the Certificate. |
certificateReference.secretRef
| |
objectOptional | SecretRef is a reference to the secret that contains the Certificate. |
certificateReference.secretRef.name
| |
stringOptional | name is unique within a namespace to reference a secret resource. |
certificateReference.secretRef.namespace
| |
stringOptional | namespace defines the space within which the secret name must be unique. |
conditions
| |
list (object)Optional | Conditions represents the latest available observations of the Entity's current state. |
conditions[]
| |
objectOptional | Conditions contains details for one aspect of the current state of this API Resource. |
conditions[].lastTransitionTime
| |
stringRequired | lastTransitionTime is the last time the condition transitioned from one status to another, which occurs when the underlying condition changed. If the time when the underlying condition changed is unknown, use the time when the API field changed. |
conditions[].message
| |
stringRequired | message is a human readable message indicating details about the transition. This can be an empty string. |
conditions[].observedGeneration
| |
integerOptional | observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is 12 and the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. |
conditions[].reason
| |
stringRequired | reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types can define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value must be a CamelCase string. This field might not be empty. |
conditions[].status
| |
stringRequired | The status of the condition, one of True, False, Unknown. |
conditions[].type
| |
stringRequired | The type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regular expression that it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt). |
criticalIncidents
| |
objectOptional | CriticalIncidents is a flat list of all active Critical Incidents. |
criticalIncidents[]
| |
objectOptional | CriticalIncident contains all information about an ongoing critical incident. |
criticalIncidents[].code
| |
stringRequired | Code is the error code of this particular error. Error codes are DBSE+numeric strings, like "DBSE1012". |
criticalIncidents[].createTime
| |
stringRequired | CreateTime is the timestamp when this Incident was created at the origin. |
criticalIncidents[].message
| |
stringOptional | Message describes the incident or error that occurred. |
criticalIncidents[].messageTemplateParams
| |
objectOptional | MessageTemplateParams contains key-value pairs necessary for generating a user-friendly data-driven version of Message in the user interface. |
criticalIncidents[].resource
| |
objectRequired | Resource contains information about the Database Service component that reported the incident, as well as information about the Kubernetes resource. |
criticalIncidents[].resource.component
| |
stringRequired | Component is an internal identifier of the Database Service subsystem that reported the incident. |
criticalIncidents[].resource.location
| |
objectOptional | Location |
criticalIncidents[].resource.location.cluster
| |
stringOptional | Cluster is the name of the cluster of the affected Kubernetes resource. |
criticalIncidents[].resource.location.group
| |
stringOptional | Group is the Group name of the Kubernetes resource. |
criticalIncidents[].resource.location.kind
| |
stringOptional | Kind is the Kind of the Kubernetes resource. |
criticalIncidents[].resource.location.name
| |
stringOptional | Name is the name of the affected Kubernetes resource. |
criticalIncidents[].resource.location.namespace
| |
stringOptional | Namespace is the namespace of the affected Kubernetes resource. |
criticalIncidents[].resource.location.version
| |
stringOptional | Group is the Version of the Kubernetes resource. |
criticalIncidents[].stackTrace
| |
objectOptional | StackTrace contains an unstructured list of messages from the stack trace. |
criticalIncidents[].stackTrace.component
| |
stringOptional | Component is the name of a Database Service component that logged the message. |
criticalIncidents[].stackTrace.message
| |
stringOptional | Logged message. |
criticalIncidents[].transientUntil
| |
stringOptional | TransientUntil, if present, indicates that the issue must be considered transient until the specified time. |
criticalIncidents[].transientUntil
| |
stringOptional | TransientUntil, if present, indicates that the issue must be considered transient until the specified time. |
latestFailoverStatus
| |
objectOptional | LatestFailoverStatus is the status of the most recently updated failover for the database cluster This status is a copy of the status of the current or most recently updated failover operation for the database cluster. This can be used to conveniently monitor the status of a currently running failover operation. |
latestFailoverStatus.failoverName
| |
stringOptional | FailoverName is the Name of the latest failover. |
latestFailoverStatus.status
| |
objectOptional | Status represents status of the latest failover for the database cluster. |
latestFailoverStatus.status.conditions
| |
objectOptional | Conditions represents the latest available observations of the Entity's current state. |
latestFailoverStatus.status.conditions.lastTransitionTime
| |
stringRequired | lastTransitionTime is the last time the condition transitioned from one status to another, which occurs when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. |
latestFailoverStatus.status.conditions.message
| |
stringRequired | message is a human readable message indicating details about the transition. This may be an empty string. |
latestFailoverStatus.status.conditions.observedGeneration
| |
integerOptional | observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. |
latestFailoverStatus.status.conditions.reason
| |
stringRequired | reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types can define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. |
latestFailoverStatus.status.conditions.status
| |
stringRequired | The status of the condition, one of True, False, Unknown. |
latestFailoverStatus.status.conditions.type
| |
stringRequired | The type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regular expression that it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt). |
latestFailoverStatus.status.createTime
| |
stringOptional | CreateTime is the time when the internal failover workflow mechanism was created. |
latestFailoverStatus.status.criticalIncidents
| |
objectOptional | CriticalIncidents is a flat list of all active Critical Incidents. |
latestFailoverStatus.status.criticalIncidents.code
| |
stringRequired | Code is the error code of this particular error. Error codes are DBSE+numeric strings, like "DBSE1012". |
latestFailoverStatus.status.criticalIncidents.createTime
| |
stringRequired | CreateTime is the timestamp when this Incident was created at the origin. |
latestFailoverStatus.status.criticalIncidents.message
| |
stringOptional | Message describes the incident or error that occurred. |
latestFailoverStatus.status.criticalIncidents.messageTemplateParams
| |
objectOptional | MessageTemplateParams contains key-value pairs necessary for generating a user-friendly data-driven version of Message in the user interface. |
latestFailoverStatus.status.criticalIncidents.resource
| |
objectRequired | Resource contains information about the Database Service component that reported the incident as well as information about the Kubernetes resource. |
latestFailoverStatus.status.criticalIncidents.resource.component
| |
stringRequired | Component is an internal identifier of the Database Service subsystem that reported the incident. |
latestFailoverStatus.status.criticalIncidents.resource.location
| |
objectOptional | Location |
latestFailoverStatus.status.criticalIncidents.resource.location.cluster
| |
stringOptional | Cluster is the name of the cluster of the affected Kubernetes resource. |
latestFailoverStatus.status.criticalIncidents.resource.location.group
| |
stringOptional | Group is the Group name of the Kubernetes resource. |
latestFailoverStatus.status.criticalIncidents.resource.location.kind
| |
stringOptional | Kind is the Kind of the Kubernetes resource. |
latestFailoverStatus.status.criticalIncidents.resource.location.name
| |
stringOptional | Name is the name of the affected Kubernetes resource. |
latestFailoverStatus.status.criticalIncidents.resource.location.namespace
| |
stringOptional | Namespace is the namespace of the affected Kubernetes resource. |
latestFailoverStatus.status.criticalIncidents.resource.location.version
| |
stringOptional | Group is the Version of the k8s resource. |
latestFailoverStatus.status.criticalIncidents.stackTrace
| |
objectOptional | StackTrace contains an unstructured list of messages from the stack trace. |
latestFailoverStatus.status.criticalIncidents.stackTrace.component
| |
stringOptional | Component is the name of a Database Service component that logged the message. |
latestFailoverStatus.status.criticalIncidents.stackTrace.message
| |
stringOptional | Logged message. |
latestFailoverStatus.status.criticalIncidents.transientUntil
| |
stringOptional | TransientUntil, if present, indicates that the issue must be considered transient until the specified time. |
latestFailoverStatus.status.endTime
| |
stringOptional | EndTime is the time failover reached its final state. |
latestFailoverStatus.status.internal
| |
objectOptional | Internal is used by the system controllers. Do not depend on the information in this section. |
latestFailoverStatus.status.internal.attempt
| |
integerRequired |
Attempt is used for retry logic and the default value is 0.
|
latestFailoverStatus.status.internal.lastPhaseChangeTime
| |
stringOptional | LastPhaseChangeTime is the last time the L1 failover changed to a new phase. This is used for timeout logic. |
latestFailoverStatus.status.internal.newPrimary
| |
stringRequired | NewPrimary is the instance that you're attempting to failover to. |
latestFailoverStatus.status.internal.newPrimaryZone
| |
stringOptional | NewPrimaryZone is the zone that we are attempting to failover to. |
latestFailoverStatus.status.internal.oldPrimary
| |
stringRequired | OldPrimary is the instance that was the primary at the start of the failover. |
latestFailoverStatus.status.internal.phase
| |
stringOptional | Phase is used to keep track of the current state of the failover. |
latestFailoverStatus.status.observedGeneration
| |
integerOptional | The generation observed by the controller. |
latestFailoverStatus.status.reconciled
| |
booleanOptional | Whether the resource was reconciled by the controller. |
latestFailoverStatus.status.startTime
| |
stringOptional | StartTime is the time that the failover operation started. |
latestFailoverStatus.status.state
| |
stringOptional |
State is the current state of the failover operation. The values are
`InProgress`, `Success`, `Failed`.
|
observedGeneration
| |
integerOptional | Internal: The generation observed by the controller. |
phase
| |
stringOptional | N/A |
primary
| |
objectOptional | Primary contains the status of the primary Instance. |
primary.allocatedResources
| |
objectOptional | AllocatedResources represents the current configuration of memory, CPU, and disks. |
primary.allocatedResources.cpu
| |
integer or stringRequired | The amount of CPU allocated to the database container. |
primary.allocatedResources.disks
| |
objectRequired | The specifications of the disks allocated to the database container. |
primary.allocatedResources.disks.accessModes
| |
stringOptional | AccessModes contains the desired access modes for the volume. For more information, see Access Modes. |
primary.allocatedResources.disks.annotations
| |
objectOptional | Additional annotations added to the Persistent Volume Claim. This allows integration with other tools. |
primary.allocatedResources.disks.name
| |
stringRequired | Name of the disk. This field is required. The allowed values are: "DataDisk", "LogDisk" , "BackupDisk" and "ObsDisk". |
primary.allocatedResources.disks.selector
| |
objectOptional | A label query over volumes to consider for binding. If this field is set, then the volume with matching labels is used as the backing volume for the disk. For more information, see PersistentVolumeClaimSpec |
primary.allocatedResources.disks.selector
| |
objectOptional | A label query over volumes to consider for binding. If this field is set, then the volume with matching labels is used as the backing volume for the disk. For more information, see PersistentVolumeClaimSpec. |
primary.allocatedResources.disks.selector.matchExpressions
| |
objectOptional | matchExpressions is a list of label selector requirements. The requirements are ANDed. |
primary.allocatedResources.disks.selector.matchExpressions.operator
| |
stringRequired | operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, and DoesNotExist. |
primary.allocatedResources.disks.selector.matchExpressions.values
| |
stringOptional | values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. |
primary.allocatedResources.disks.selector.matchlabels
| |
objectOptional | matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. |
primary.allocatedResources.disks.selector.matchlabels
| |
objectOptional | matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. |
primary.allocatedResources.disks.size
| |
stringRequired | Disk size in bytes for example, "10Gi" for 10 Gibibytes. This field is required. The allowed size unit prefixes are: "Ki", "Mi", "Gi", "Ti, "Pi" and "Ei" for 2-base. Also "K", "M", "G", "T, "P" and "E" for 10-base. For more information, see Unit prefix. |
primary.allocatedResources.disks.storageClass
| |
stringOptional | StorageClass points to a particular CSI storage class. This field is optional. If the field is not set, then the default CSI storage class for the Kubernetes cluster is used. If there is no default for the Kubernetes cluster, then the Persistence Volume Claim will fail and the database cluster will fail to provision. For more information, see Storage Classes. |
primary.allocatedResources.disks.volumeName
| |
stringOptional | VolumeName is the binding reference to the Persistent Volume tied to this disk. This field is optional. This allows to reuse an existing volume. Note that if this field is specified, the value "storageClass" will not take effect. For more information, see Binding. |
primary.allocatedResources.memory
| |
string or integerRequired | The amount of memory allocated to the database container. |
primary.allocatedResources.memory
| |
string or integerRequired | The amount of memory allocated to the database container. |
primary.conditions
| |
objectRequired | Conditions represents the latest available observations of the Instance's current state. |
primary.conditions.lastTransitionTime
| |
stringRequired | lastTransitionTime is the last time the condition transitioned from one status to another, which occurs when the underlying condition changed. If the time when the underlying condition changed is unknown, you can use the time when the API field changed. |
primary.conditions.message
| |
stringRequired | message is a human readable message indicating details about the transition. This can be an empty string. |
primary.conditions.observedGeneration
| |
integerOptional | observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is 12 but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. |
primary.conditions.reason
| |
stringRequired | reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types can define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field might not be empty. |
primary.conditions.status
| |
stringRequired | The status of the condition, one of True, False, Unknown. |
primary.conditions.type
| |
stringRequired | The type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regular expression that it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt). |
primary.currentControlPlaneAgentsVersion
| |
stringOptional | CurrentControlPlaneAgentsVersion is the control plane agents version that the primary instance is running. This value must match the value of spec.controlPlaneAgentsVersion after the primary instance is provisioned or the upgrade or downgrade completes successfully. |
primary.currentDatabaseImage
| |
stringOptional | CurrentDatabaseImage is the customized database image that the primary instance is using. This value must match the value of spec.databaseImage after the primary instance is provisioned or the upgrade or downgrade completes successfully. |
primary.currentDatabaseVersion
| |
stringOptional | CurrentDatabaseVersion is the current database version that the primary instance is running. This value should match the value of spec.databaseVersion after the primary instance is provisioned or the upgrade or downgrade has concluded successfully. |
primary.currentParameters
| |
objectOptional | CurrentParameters indicates the current values of the parameters. CurrentParameters allows to verify that the spec.primarySpec.parameters field has been applied to the database. Only the parameters names in spec.primarySpec.parameters will be included in this field. |
primary.endpoint
| |
stringOptional | Endpoint is the address that can be used to establish database connections. Deprecated: use the Endpoints field instead. |
primary.endpoints
| |
objectOptional | Endpoints contains all the endpoint through which you can access this instance. |
primary.endpoints.name
| |
stringRequired | Name contains the name of the endpoint. |
primary.endpoints.value
| |
stringOptional | Value contains the endpoint information. |
primary.endpoints.value
| |
stringOptional | Value contains the endpoint information. |
primary.latestExport
| |
objectOptional | LatestExport represents the latest export for the database instance. |
primary.latestExport.creationTimeStamp
| |
stringOptional | CreationTimeStamp represents the creation time of the export for the database instance. |
primary.latestExport.exportName
| |
stringOptional | ExportName is the Name of the latest export. |
primary.latestExport.spec
| |
objectOptional | Spec represents the spec of the export for the database instance. |
primary.latestExport.spec.dbclusterRef
| |
stringOptional | DBClusterRef is the dbcluster name within the same namespace to export from. |
primary.latestExport.spec.exportLocation
| |
objectRequired | ExportLocation specifies a storage location for the export files. You must ensure proper write access to the storage bucket from within the Operator. |
primary.latestExport.spec.exportLocation.gcsOptions
| |
objectOptional | GCSOptions is a reference to Cloud Storage-dependent options. |
primary.latestExport.spec.exportLocation.gcsOptions.bucket
| |
stringRequired | Bucket is a required field, for example, dbs-dump-bucket. You must ensure proper write access to the storage bucket from within the Operator. |
primary.latestExport.spec.exportLocation.gcsOptions.key
| |
stringRequired | The object key for the dump files, for example, ods-dump/scottschema.dmp. |
primary.latestExport.spec.exportLocation.gcsOptions.secretRef
| |
objectOptional | SecretRef is a reference to the secret that stores Cloud Storage access information. |
primary.latestExport.spec.exportLocation.gcsOptions.secretRef.name
| |
stringOptional | name is unique within a namespace to reference a secret resource. |
primary.latestExport.spec.exportLocation.gcsOptions.secretRef.namespace
| |
stringOptional | namespace defines the space within which the secret name must be unique. |
primary.latestExport.spec.exportLocation.type
| |
stringRequired | The type of Repository, for example, S3 or GCS, which tells the agent which storage system or API to use. |
primary.latestExport.status
| |
objectOptional | Status represents the of the latest import for the database instance. |
primary.latestExport.status.completeTime
| |
stringOptional | CompleteTime is the time when the export completed. |
primary.latestExport.status.conditions
| |
objectOptional | Conditions represents the latest available observations of the Entity's current state. |
primary.latestExport.status.conditions.lastTransitionTime
| |
stringRequired | lastTransitionTime is the last time the condition transitioned from one status to another. This must be when the underlying condition changed. If the time when the underlying condition changed is unknown, use the time when the API field changed. |
primary.latestExport.status.conditions.message
| |
stringRequired | message is a human readable message indicating details about the transition. This may be an empty string. |
primary.latestExport.status.conditions.observedGeneration
| |
integerOptional | observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12 and the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. |
primary.latestExport.status.conditions.reason
| |
stringRequired | reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value must be a CamelCase string. This field might not be empty. |
primary.latestExport.status.conditions.status
| |
stringRequired | The status of the condition, one of True, False, Unknown. |
primary.latestExport.status.conditions.type
| |
stringRequired | The type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regular expression that it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt). |
primary.latestExport.status.criticalIncidents
| |
objectOptional | CriticalIncidents is a flat list of all active Critical Incidents. |
primary.latestExport.status.criticalIncidents.code
| |
stringRequired | Code is the error code of this particular error. Error codes are DBSE+numeric strings, like "DBSE1012". |
primary.latestExport.status.criticalIncidents.createTime
| |
stringRequired | CreateTime is the timestamp when this Incident was created at the origin. |
primary.latestExport.status.criticalIncidents.message
| |
stringOptional | Message describes the incident or error that occurred. |
primary.latestExport.status.criticalIncidents.messageTemplateParams
| |
objectOptional | MessageTemplateParams contains key-value pairs necessary for generating a user-friendly data-driven version of Message in the user interface. |
primary.latestExport.status.criticalIncidents.resource
| |
objectRequired | Resource contains information about the Database Service component that reported the incident, as well as information about the Kubernetes resource. |
primary.latestExport.status.criticalIncidents.resource.component
| |
stringRequired | Component is an internal identifier of the Database Service subsystem that reported the incident. |
primary.latestExport.status.criticalIncidents.resource.location
| |
objectOptional | Location |
primary.latestExport.status.criticalIncidents.resource.location.cluster
| |
stringOptional | Cluster is the name of the cluster of the affected Kubernetes resource. |
primary.latestExport.status.criticalIncidents.resource.location.group
| |
stringOptional | Group is the Group name of the Kubernetes resource. |
primary.latestExport.status.criticalIncidents.resource.location.kind
| |
stringOptional | Kind is the Kind name of the Kubernetes resource. |
primary.latestExport.status.criticalIncidents.resource.location.name
| |
stringOptional | Name is the name of the affected Kubernetes resource. |
primary.latestExport.status.criticalIncidents.resource.location.namespace
| |
stringOptional | Namespace is the namespace of the affected Kubernetes resource. |
primary.latestExport.status.criticalIncidents.resource.location.version
| |
stringOptional | Group is the Version of the Kubernetes resource. |
primary.latestExport.status.criticalIncidents.resource.location.version
| |
stringOptional | Group is the Version of the Kubernetes resource. |
primary.latestExport.status.criticalIncidents.stackTrace
| |
objectOptional | StackTrace contains an unstructured list of messages from the stack trace. |
primary.latestExport.status.criticalIncidents.stackTrace.component
| |
stringOptional | Component is the name of a Database Service component that logged the message. |
primary.latestExport.status.criticalIncidents.stackTrace.message
| |
stringOptional | Logged message. |
primary.latestExport.status.criticalIncidents.transientUntil
| |
stringOptional | TransientUntil, if present, indicates that the issue must be considered transient until the specified time. |
primary.latestExport.status.exportSubDirectory
| |
stringOptional | ExportSubDirectory is the subdirectory appended to ExportLocation to store exported files. |
primary.latestExport.status.observedGeneration
| |
integerOptional | ExportSubDirectory is the subdirectory appended to ExportLocation to store exported files. |
primary.latestExport.status.phase
| |
stringOptional | Phase is a summary of current state of the export. |
primary.latestExport.status.reconciled
| |
booleanOptional | Internal: Whether the resource was reconciled by the controller. |
primary.latestExport.status.startTime
| |
stringOptional | StartTime is the time when the export started. |
primary.latestImport
| |
objectOptional | LatestImport represents the latest import for the database instance. |
primary.latestImport.creationTimeStamp
| |
stringOptional | CreationTimeStamp represents the creation time of the import for the database instance. |
primary.latestImport.importName
| |
stringOptional | ImportName is the Name of the latest import. |
primary.latestImport.spec
| |
objectOptional | Spec represents the spec of the import for the database instance. |
primary.latestImport.spec.databaseName
| |
stringOptional | DatabaseName is the database resource name within Instance to import into. |
primary.latestImport.spec.dbclusterRef
| |
stringOptional | DBClusterRef is the dbcluster name within the same namespace to import into. |
primary.latestImport.spec.downloadOnly
| |
booleanOptional | DownloadOnly when set to true means dump file will be downloaded but not imported into DB. Default is false. |
primary.latestImport.spec.dumpStorage
| |
objectRequired | DumpStorage specifies a storage location for the import dump files. You must ensure proper read access to the storage bucket from within the Operator. |
primary.latestImport.spec.dumpStorage.gcsOptions
| |
objectOptional | GCSOptions is a reference to Cloud Storage-dependent options. |
primary.latestImport.spec.dumpStorage.gcsOptions.bucket
| |
stringRequired | Bucket is a required field, for example, dbs-dump-bucket. You must ensure proper write access to the storage bucket from within the Operator. |
primary.latestImport.spec.dumpStorage.gcsOptions.key
| |
stringRequired | The object key for the dump files, for example, ods-dump/scottschema.dmp. |
primary.latestImport.spec.dumpStorage.gcsOptions.secretRef
| |
objectOptional | SecretRef is a reference to the secret that stores Cloud Storage access information. |
primary.latestImport.spec.dumpStorage.gcsOptions.secretRef.name
| |
stringOptional | name is unique within a namespace to reference a secret resource. |
primary.latestImport.spec.dumpStorage.gcsOptions.secretRef.namespace
| |
stringOptional | namespace defines the space within which the secret name must be unique. |
primary.latestImport.spec.dumpStorage.type
| |
stringRequired | The type of Repository, for example, S3 or GCS, which tells the agent which storage system or API to use. |
primary.latestImport.spec.logStorage
| |
objectOptional | LogStorage optionally specifies a storage location to copy import log to. You must ensure proper write access to the storage bucket from within the Operator. |
primary.latestImport.spec.logStorage.gcsOptions
| |
objectOptional | GCSOptions is a reference to Cloud Storage-dependent options. |
primary.latestImport.spec.logStorage.gcsOptions.bucket
| |
stringRequired | Bucket is a required field, for example, dbs-dump-bucket. You must ensure proper write access to the storage bucket from within the Operator. |
primary.latestImport.spec.logStorage.gcsOptions.key
| |
stringRequired | Object key for the dump files. |
primary.latestImport.spec.logStorage.gcsOptions.secretRef
| |
objectOptional | SecretRef is a reference to the secret that stores Cloud Storage access information. |
primary.latestImport.spec.logStorage.gcsOptions.secretRef.name
| |
stringOptional | name is unique within a namespace to reference a secret resource. |
primary.latestImport.spec.logStorage.gcsOptions.secretRef.namespace
| |
stringOptional | namespace defines the space within which the secret name must be unique. |
primary.latestImport.spec.logStorage.type
| |
stringRequired | The type of Repository that tells the agent which storage system or API to use. |
primary.latestImport.status
| |
objectOptional | Status represents the of the latest import for the database instance. |
primary.latestImport.status.completeTime
| |
stringOptional | CompleteTime is the time import completed. |
primary.latestImport.status.conditions
| |
objectOptional | Conditions represents the latest available observations of the Entity's current state. |
primary.latestImport.status.conditions.lastTransitionTime
| |
stringRequired | lastTransitionTime is the last time the condition transitioned from one status to another. This must be when the underlying condition changed. If the time when the underlying condition changed is unknown, use the time when the API field changed. |
primary.latestImport.status.conditions.message
| |
stringRequired | message is a human readable message indicating details about the transition. This may be an empty string. |
primary.latestImport.status.conditions.observedGeneration
| |
integerOptional | observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is 12 and the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. |
primary.latestImport.status.conditions.reason
| |
stringRequired | reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value must be a CamelCase string. This field might not be empty. |
primary.latestImport.status.conditions.status
| |
stringRequired | The status of the condition, one of True, False, Unknown. |
primary.latestImport.status.conditions.type
| |
stringRequired | type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regula expression that it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt). |
primary.latestImport.status.criticalIncidents
| |
objectOptional | CriticalIncidents is a flat list of all active Critical Incidents. |
primary.latestImport.status.criticalIncidents.code
| |
stringRequired | Code is the error code of this particular error. Error codes are DBSE+numeric strings, like "DBSE1012". |
primary.latestImport.status.criticalIncidents.createTime
| |
stringRequired | CreateTime is the timestamp when this Incident was created at the origin. |
primary.latestImport.status.criticalIncidents.message
| |
stringOptional | Message describes the incident or error that occurred. |
primary.latestImport.status.criticalIncidents.messageTemplateParams
| |
objectOptional | MessageTemplateParams contains key-value pairs necessary for generating a user-friendly data-driven version of Message in the user interface. |
primary.latestImport.status.criticalIncidents.resource
| |
objectRequired | Resource contains information about the Database Service component that reported the incident, as well as information about the Kubernetes resource. |
primary.latestImport.status.criticalIncidents.resource.component
| |
stringRequired | Component is an internal identifier of the Database Service subsystem that reported the incident. |
primary.latestImport.status.criticalIncidents.resource.location
| |
objectOptional | Location |
primary.latestImport.status.criticalIncidents.resource.location.cluster
| |
stringOptional | Cluster is the name of the cluster of the affected Kubernetes resource. |
primary.latestImport.status.criticalIncidents.resource.location.group
| |
stringOptional | Group is the Group name of the Kubernetes resource. |
primary.latestImport.status.criticalIncidents.resource.location.kind
| |
stringOptional | Kind is the Kind of the Kubernetes resource. |
primary.latestImport.status.criticalIncidents.resource.location.name
| |
stringOptional | Name is the name of the affected Kubernetes resource. |
primary.latestImport.status.criticalIncidents.resource.location.namespace
| |
stringOptional | Namespace is the namespace of the affected Kubernetes resource. |
primary.latestImport.status.criticalIncidents.resource.location.version
| |
stringOptional | Group is the Version of the Kubernetes resource. |
primary.latestImport.status.criticalIncidents.stackTrace
| |
objectOptional | StackTrace contains an unstructured list of messages from the stack trace. |
primary.latestImport.status.criticalIncidents.stackTrace.component
| |
stringOptional | Component is the name of a Database Service component that logged the message. |
primary.latestImport.status.criticalIncidents.stackTrace.message
| |
stringOptional | Logged message. |
primary.latestImport.status.criticalIncidents.transientUntil
| |
stringOptional | TransientUntil, if present, indicates that the issue must be considered transient until the specified time. |
primary.latestImport.status.dumpPath
| |
stringOptional | DumpPath is the path of the downloaded dump file for download only import. |
primary.latestImport.status.observedGeneration
| |
integerOptional | Internal: The generation observed by the controller. |
primary.latestImport.status.phase
| |
stringOptional | Phase is a summary of current state of the import. |
primary.latestImport.status.reconciled
| |
booleanOptional | Internal: Whether the resource was reconciled by the controller. |
primary.latestImport.status.startTime
| |
stringOptional | StartTime is the time import started. |
primary.phase
| |
stringOptional | Phase is a summary of current state of the Instance. |
primary.walArchiveSetting
| |
objectOptional | WalArchiveSetting represents the current write-ahead log (WAL) archive settings. |
primary.walArchiveSetting.location
| |
stringOptional | N/A |
reconciled
| |
booleanOptional | Internal: Whether the resource was reconciled by the controller. |
registrationStatus
| |
objectOptional | RegistrationStatus represents the status of migration for the database cluster. |
registrationStatus.isHA
| |
booleanOptional | IsHA is set to true when DBClusterSpec HA Availability setting has at least 1 numberOfStandbys setup. |
registrationStatus.isRegistered
| |
booleanOptional | N/A |
registrationStatus.isRegistered
| |
stringOptional | RegistrationTime represents the time when the on-premises database cluster was registered with Google Cloud. |
restoredFrom
| |
objectOptional | RestoredFrom is the status showing the most recent restore source for current DBCluster. |
restoredFrom.restoredTime
| |
stringOptional | Time point of the source DBCluster that this DBCluster restores from. |
restoredFrom.sourceDBCluster
| |
stringOptional | The source DBCluster that this DBCluster restores from. |
restoredFrom.sourceDBCluster
| |
stringOptional | The source DBCluster that this DBCluster restores from. |
serviceAccounts
| |
objectOptional | ServiceAccounts contains the service accounts created by the control plane to be used by different operations. By granting permissions to these service accounts, the database can interact with other services within the Kubernetes ecosystem. For further information, including what permissions is required, refer to the documentation of each operation. |