PGUpgrade
PGUpgrade
PGUpgrade is the Schema for the pgupgrades API
name | type | required | description |
---|---|---|---|
apiVersion | string | ✅ | APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
kind | string | ✅ | Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
metadata | object | ✅ | Refer to the Kubernetes API documentation for the fields of the metadata field. |
spec | object | ❌ | PGUpgradeSpec defines the desired state of PGUpgrade |
status | object | ❌ | PGUpgradeStatus defines the observed state of PGUpgrade |
↩ ParentPGUpgrade.spec
PGUpgradeSpec defines the desired state of PGUpgrade
name | type | required | description |
---|---|---|---|
affinity | object | ❌ | Scheduling constraints of the PGUpgrade pod. More info: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node |
fromPostgresVersion | integer | ✅ | The major version of PostgreSQL before the upgrade. |
image | string | ❌ | The image name to use for major PostgreSQL upgrades. |
imagePullPolicy | Always , Never , IfNotPresent | ❌ | ImagePullPolicy is used to determine when Kubernetes will attempt to pull (download) container images. More info: https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy |
imagePullSecrets | []object | ❌ | The image pull secrets used to pull from a private registry. Changing this value causes all running PGUpgrade pods to restart. https://k8s.io/docs/tasks/configure-pod-container/pull-image-private-registry/ |
metadata | object | ❌ | Metadata contains metadata for custom resources |
postgresClusterName | string | ✅ | The name of the cluster to be updated |
priorityClassName | string | ❌ | Priority class name for the PGUpgrade pod. Changing this value causes PGUpgrade pod to restart. More info: https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/ |
resources | object | ❌ | Resource requirements for the PGUpgrade container. |
toPostgresImage | string | ❌ | The image name to use for PostgreSQL containers after upgrade. When omitted, the value comes from an operator environment variable. |
toPostgresVersion | integer | ✅ | The major version of PostgreSQL to be upgraded to. |
tolerations | []object | ❌ | Tolerations of the PGUpgrade pod. More info: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration |
↩ ParentPGUpgrade.spec.affinity
Scheduling constraints of the PGUpgrade pod. More info: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node
name | type | required | description |
---|---|---|---|
nodeAffinity | object | ❌ | Describes node affinity scheduling rules for the pod. |
podAffinity | object | ❌ | Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). |
podAntiAffinity | object | ❌ | Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). |
↩ ParentPGUpgrade.spec.affinity.nodeAffinity
Describes node affinity scheduling rules for the pod.
name | type | required | description |
---|---|---|---|
preferredDuringSchedulingIgnoredDuringExecution | []object | ❌ | The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may 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, i.e. 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. |
requiredDuringSchedulingIgnoredDuringExecution | object | ❌ | If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node. |
↩ ParentPGUpgrade.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[index]
The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may 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, i.e. 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.
name | type | required | description |
---|---|---|---|
preference | object | ✅ | A node selector term, associated with the corresponding weight. |
weight | integer | ✅ | Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. |
↩ ParentPGUpgrade.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[index].preference
A node selector term, associated with the corresponding weight.
name | type | required | description |
---|---|---|---|
matchExpressions | []object | ❌ | A list of node selector requirements by node's labels. |
matchFields | []object | ❌ | A list of node selector requirements by node's fields. |
↩ ParentPGUpgrade.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[index].preference.matchExpressions[index]
A list of node selector requirements by node's labels.
name | type | required | description |
---|---|---|---|
key | string | ✅ | The label key that the selector applies to. |
operator | string | ✅ | Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. |
values | []string | ❌ | 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. |
↩ ParentPGUpgrade.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[index].preference.matchFields[index]
A list of node selector requirements by node's fields.
name | type | required | description |
---|---|---|---|
key | string | ✅ | The label key that the selector applies to. |
operator | string | ✅ | Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. |
values | []string | ❌ | 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. |
↩ ParentPGUpgrade.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution
If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node.
name | type | required | description |
---|---|---|---|
nodeSelectorTerms | []object | ✅ | Required. A list of node selector terms. The terms are ORed. |
↩ ParentPGUpgrade.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[index]
Required. A list of node selector terms. The terms are ORed.
name | type | required | description |
---|---|---|---|
matchExpressions | []object | ❌ | A list of node selector requirements by node's labels. |
matchFields | []object | ❌ | A list of node selector requirements by node's fields. |
↩ ParentPGUpgrade.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[index].matchExpressions[index]
A list of node selector requirements by node's labels.
name | type | required | description |
---|---|---|---|
key | string | ✅ | The label key that the selector applies to. |
operator | string | ✅ | Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. |
values | []string | ❌ | 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. |
↩ ParentPGUpgrade.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[index].matchFields[index]
A list of node selector requirements by node's fields.
name | type | required | description |
---|---|---|---|
key | string | ✅ | The label key that the selector applies to. |
operator | string | ✅ | Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. |
values | []string |