Skip to main content
Version: 3.3

ComponentK8sConfig CRD reference

Schema and configuration details for the ComponentK8sConfig custom resource definition (CRD), which is used by the Portworx Operator to manage Kubernetes-based component configurations.

ComponentK8sConfig

FieldDescriptionType
apiVersionAPIVersion 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
string
kindKind 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
string
specComponentK8sConfigSpec defines the desired state of ComponentK8sConfigobject
statusComponentK8sConfigStatus defines the synchronization state of the configuration.object

spec fields

FieldDescriptionType
spec.componentsComponents is the list of Portworx components that are deployed and managed by PX Operatorarray
spec.components.componentNamesComponentNames for which the configurations will be applied.array
spec.components.workloadConfigsWorkloadConfig contains the configuration for the various workloads - deployments, daemonset or pods of a component.array
spec.components.workloadConfigs.
annotations
Annotations are the annotations to be applied to the componentobject
spec.components.workloadConfigs.
containerConfigs
ContainerConfig contains container configuration for all or some containers of the componentarray
spec.components.workloadConfigs.
containerConfigs.containerSelector
ContainerNames is the list of containers for a workload on which these resource configurations will be applied.array
spec.components.workloadConfigs.
containerConfigs.resources
Resources contains resource requirements for all the containers selected by the containerSelectorobject
spec.components.workloadConfigs.
containerConfigs.resources.claims
Claims lists the names of resources, defined in spec.resourceClaims,
that are used by this container.

This is an alpha field and requires enabling the
DynamicResourceAllocation feature gate.

This field is immutable. It can only be set for containers.
array
spec.components.workloadConfigs.
containerConfigs.resources.claims.name
Name must match the name of one entry in pod.spec.resourceClaims of
the Pod where this field is used. It makes that resource available
inside a container.
string
spec.components.workloadConfigs.
containerConfigs.resources.limits
Limits describes the maximum amount of compute resources allowed.
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
object
spec.components.workloadConfigs.
containerConfigs.resources.requests
Requests describes the minimum amount of compute resources required.
If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
otherwise to an implementation-defined value. Requests cannot exceed Limits.
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
object
spec.components.workloadConfigs.
labels
Labels are the labels to be applied to the componentobject
spec.components.workloadConfigs.
placement
Placement contains placement information for each componentobject
spec.components.workloadConfigs.
placement.nodeAffinity
NodeAffinity is used to restrict Portwox on certain nodes. It works similarly to the Kubernetes node affinity feature.object
spec.components.workloadConfigs.
placement.nodeAffinity.
preferredDuringSchedulingIgnoredDuringExecution
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.
array
spec.components.workloadConfigs.
placement.nodeAffinity.
preferredDuringSchedulingIgnoredDuringExecution.
preference
A node selector term, associated with the corresponding weight.object
spec.components.workloadConfigs.
placement.nodeAffinity.
preferredDuringSchedulingIgnoredDuringExecution.
preference.matchExpressions
A list of node selector requirements by node's labels.array
spec.components.workloadConfigs.
placement.nodeAffinity.
preferredDuringSchedulingIgnoredDuringExecution.
preference.matchExpressions.key
The label key that the selector applies to.string
spec.components.workloadConfigs.
placement.nodeAffinity.
preferredDuringSchedulingIgnoredDuringExecution.
preference.matchExpressions.operator
Represents a key's relationship to a set of values.
Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
string
spec.components.workloadConfigs.
placement.nodeAffinity.
preferredDuringSchedulingIgnoredDuringExecution.
preference.matchExpressions.values
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.
array
spec.components.workloadConfigs.
placement.nodeAffinity.
preferredDuringSchedulingIgnoredDuringExecution.
preference.matchFields
A list of node selector requirements by node's fields.array
spec.components.workloadConfigs.
placement.nodeAffinity.
preferredDuringSchedulingIgnoredDuringExecution.
preference.matchFields.key
The label key that the selector applies to.string
spec.components.workloadConfigs.
placement.nodeAffinity.
preferredDuringSchedulingIgnoredDuringExecution.
preference.matchFields.operator
Represents a key's relationship to a set of values.
Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
string
spec.components.workloadConfigs.
placement.nodeAffinity.
preferredDuringSchedulingIgnoredDuringExecution.
preference.matchFields.values
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.
array
spec.components.workloadConfigs.
placement.nodeAffinity.
preferredDuringSchedulingIgnoredDuringExecution.
weight
Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.integer
spec.components.workloadConfigs.
placement.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.
object
spec.components.workloadConfigs.
placement.nodeAffinity.
requiredDuringSchedulingIgnoredDuringExecution.
nodeSelectorTerms
Required. A list of node selector terms. The terms are ORed.array
spec.components.workloadConfigs.
placement.nodeAffinity.
requiredDuringSchedulingIgnoredDuringExecution.
nodeSelectorTerms.matchExpressions
A list of node selector requirements by node's labels.array
spec.components.workloadConfigs.
placement.nodeAffinity.
requiredDuringSchedulingIgnoredDuringExecution.
nodeSelectorTerms.matchExpressions.key
The label key that the selector applies to.string
spec.components.workloadConfigs.
placement.nodeAffinity.
requiredDuringSchedulingIgnoredDuringExecution.
nodeSelectorTerms.matchExpressions.operator
Represents a key's relationship to a set of values.
Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
string
spec.components.workloadConfigs.
placement.nodeAffinity.
requiredDuringSchedulingIgnoredDuringExecution.
nodeSelectorTerms.matchExpressions.values
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.
array
spec.components.workloadConfigs.
placement.nodeAffinity.
requiredDuringSchedulingIgnoredDuringExecution.
nodeSelectorTerms.matchFields
A list of node selector requirements by node's fields.array
spec.components.workloadConfigs.
placement.nodeAffinity.
requiredDuringSchedulingIgnoredDuringExecution.
nodeSelectorTerms.matchFields.key
The label key that the selector applies to.string
spec.components.workloadConfigs.
placement.nodeAffinity.
requiredDuringSchedulingIgnoredDuringExecution.
nodeSelectorTerms.matchFields.operator
Represents a key's relationship to a set of values.
Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
string
spec.components.workloadConfigs.
placement.nodeAffinity.
requiredDuringSchedulingIgnoredDuringExecution.
nodeSelectorTerms.matchFields.values
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.
array
spec.components.workloadConfigs.
placement.tolerations
Tolerations specifies a list of tolerations that will be applied to Portworx pods so that they can run on nodes with matching taints.array
spec.components.workloadConfigs.
placement.tolerations.effect
Effect indicates the taint effect to match. Empty means match all taint effects.
When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
string
spec.components.workloadConfigs.
placement.tolerations.key
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.
string
spec.components.workloadConfigs.
placement.tolerations.operator
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.
string
spec.components.workloadConfigs.
placement.tolerations.tolerationSeconds
TolerationSeconds represents the period of time the toleration (which must be
of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
it is not set, which means tolerate the taint forever (do not evict). Zero and
negative values will be treated as 0 (evict immediately) by the system.
integer
spec.components.workloadConfigs.
placement.tolerations.value
Value is the taint value the toleration matches to.
If the operator is Exists, the value should be empty, otherwise just a regular string.
string
spec.components.workloadConfigs.
workloadNames
WorkloadNames is the list of workloads - deployment/daemonset/pod of a component for which the configurations will be applied.array

status fields

FieldDescriptionType
status.phasePhase of the StorageCluster is a simple, high-level summary of where the StorageCluster is in its lifecycle. The condition array contains more detailed information about the state of the cluster.string
status.reasonReason is CamelCase messages split with commas indicating details about why the StorageCluster is in this state.string