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
Field | Description | Type |
---|---|---|
apiVersion | 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 | string |
kind | 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 | string |
spec | ComponentK8sConfigSpec defines the desired state of ComponentK8sConfig | object |
status | ComponentK8sConfigStatus defines the synchronization state of the configuration. | object |
spec
fields
Field | Description | Type |
---|---|---|
spec.components | Components is the list of Portworx components that are deployed and managed by PX Operator | array |
spec.components.componentNames | ComponentNames for which the configurations will be applied. | array |
spec.components.workloadConfigs | WorkloadConfig 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 component | object |
spec.components.workloadConfigs. containerConfigs | ContainerConfig contains container configuration for all or some containers of the component | array |
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 containerSelector | object |
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 component | object |
spec.components.workloadConfigs. placement | Placement contains placement information for each component | object |
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
Field | Description | Type |
---|---|---|
status.phase | Phase 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.reason | Reason is CamelCase messages split with commas indicating details about why the StorageCluster is in this state. | string |