ClusterServiceVersion [operators.coreos.com/v1alpha1]
- Description
- ClusterServiceVersion is a Custom Resource of type
ClusterServiceVersionSpec. - Type
-
`object`
- Required
-
metadataspec
Specification
| Property | Type | 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 | ObjectMeta | Standard object’s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata |
spec | object | ClusterServiceVersionSpec declarations tell OLM how to install an operator that can manage apps for a given version. |
status | object | ClusterServiceVersionStatus represents information about the status of a CSV. Status may trail the actual state of a system. |
.spec
- Description
- ClusterServiceVersionSpec declarations tell OLM how to install an operator that can manage apps for a given version.
- Type
-
`object`
- Required
-
displayNameinstall
| Property | Type | Description |
|---|---|---|
annotations | object (string) | Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. |
apiservicedefinitions | object | APIServiceDefinitions declares all of the extension apis managed or required by an operator being ran by ClusterServiceVersion. |
cleanup | object | Cleanup specifies the cleanup behaviour when the CSV gets deleted |
customresourcedefinitions | object | CustomResourceDefinitions declares all of the CRDs managed or required by an operator being ran by ClusterServiceVersion. If the CRD is present in the Owned list, it is implicitly required. |
description | string | Description of the operator. Can include the features, limitations or use-cases of the operator. |
displayName | string | The name of the operator in display format. |
icon | array | The icon for this operator. |
icon[] | object | |
install | object | NamedInstallStrategy represents the block of an ClusterServiceVersion resource where the install strategy is specified. |
installModes | array | InstallModes specify supported installation types |
installModes[] | object | InstallMode associates an InstallModeType with a flag representing if the CSV supports it |
keywords | array (string) | A list of keywords describing the operator. |
labels | object (string) | Map of string keys and values that can be used to organize and categorize (scope and select) objects. |
links | array | A list of links related to the operator. |
links[] | object | |
maintainers | array | A list of organizational entities maintaining the operator. |
maintainers[] | object | |
maturity | string | |
minKubeVersion | string | |
nativeAPIs | array | |
nativeAPIs[] | object | GroupVersionKind unambiguously identifies a kind. It doesn’t anonymously include GroupVersion to avoid automatic coercion. It doesn’t use a GroupVersion to avoid custom marshalling |
provider | object | The publishing entity behind the operator. |
relatedImages | array | List any related images, or other container images that your Operator might require to perform their functions. This list should also include operand images as well. All image references should be specified by digest (SHA) and not by tag. This field is only used during catalog creation and plays no part in cluster runtime. |
relatedImages[] | object | |
release | string | release specifies the packaging version of the operator, defaulting to empty release is optional A ClusterServiceVersion’s release field is used to distinguish between different builds of the same operator version This is useful for operators that need to make changes to the CSV which don’t affect their functionality, for example: - to fix a typo in their description - to add/amend annotations or labels - to amend examples or documentation - to produce different builds for different environments It is up to operator authors to determine the semantics of release versions they use for their operator. All release versions must conform to the semver prerelease format (dot-separated identifiers containing only alphanumerics and hyphens) and are limited to a maximum length of 20 characters. |
replaces | string | The name of a CSV this one replaces. Should match the metadata.Name field of the old CSV. |
selector | object | Label selector for related resources. |
skips | array (string) | The name(s) of one or more CSV(s) that should be skipped in the upgrade graph. Should match the metadata.Name field of the CSV that should be skipped. This field is only used during catalog creation and plays no part in cluster runtime. |
version | string | |
webhookdefinitions | array | |
webhookdefinitions[] | object | WebhookDescription provides details to OLM about required webhooks |
.spec.apiservicedefinitions
- Description
- APIServiceDefinitions declares all of the extension apis managed or required by an operator being ran by ClusterServiceVersion.
- Type
-
`object`
| Property | Type | Description |
|---|---|---|
owned | array | |
owned[] | object | APIServiceDescription provides details to OLM about apis provided via aggregation |
required | array | |
required[] | object | APIServiceDescription provides details to OLM about apis provided via aggregation |
.spec.apiservicedefinitions.owned
Description
- Type
-
`array`
.spec.apiservicedefinitions.owned[]
- Description
- APIServiceDescription provides details to OLM about apis provided via aggregation
- Type
-
`object`
- Required
-
groupkindnameversion
| Property | Type | Description |
|---|---|---|
actionDescriptors | array | |
actionDescriptors[] | object | ActionDescriptor describes a declarative action that can be performed on a custom resource instance |
containerPort | integer | |
deploymentName | string | |
description | string | |
displayName | string | |
group | string | |
kind | string | |
name | string | |
resources | array | |
resources[] | object | APIResourceReference is a reference to a Kubernetes resource type that the referrer utilizes. |
specDescriptors | array | |
specDescriptors[] | object | SpecDescriptor describes a field in a spec block of a CRD so that OLM can consume it |
statusDescriptors | array | |
statusDescriptors[] | object | StatusDescriptor describes a field in a status block of a CRD so that OLM can consume it |
version | string |
.spec.apiservicedefinitions.owned[].actionDescriptors
Description
- Type
-
`array`
.spec.apiservicedefinitions.owned[].actionDescriptors[]
- Description
- ActionDescriptor describes a declarative action that can be performed on a custom resource instance
- Type
-
`object`
- Required
-
path
| Property | Type | Description |
|---|---|---|
description | string | |
displayName | string | |
path | string | |
value | string | RawMessage is a raw encoded JSON value. It implements [Marshaler] and [Unmarshaler] and can be used to delay JSON decoding or precompute a JSON encoding. |
x-descriptors | array (string) |
.spec.apiservicedefinitions.owned[].resources
Description
- Type
-
`array`
.spec.apiservicedefinitions.owned[].resources[]
- Description
- APIResourceReference is a reference to a Kubernetes resource type that the referrer utilizes.
- Type
-
`object`
- Required
-
kindnameversion
| Property | Type | Description |
|---|---|---|
kind | string | Kind of the referenced resource type. |
name | string | Plural name of the referenced resource type (CustomResourceDefinition.Spec.Names[].Plural). Empty string if the referenced resource type is not a custom resource. |
version | string | API Version of the referenced resource type. |
.spec.apiservicedefinitions.owned[].specDescriptors
Description
- Type
-
`array`
.spec.apiservicedefinitions.owned[].specDescriptors[]
- Description
- SpecDescriptor describes a field in a spec block of a CRD so that OLM can consume it
- Type
-
`object`
- Required
-
path
| Property | Type | Description |
|---|---|---|
description | string | |
displayName | string | |
path | string | |
value | string | RawMessage is a raw encoded JSON value. It implements [Marshaler] and [Unmarshaler] and can be used to delay JSON decoding or precompute a JSON encoding. |
x-descriptors | array (string) |
.spec.apiservicedefinitions.owned[].statusDescriptors
Description
- Type
-
`array`
.spec.apiservicedefinitions.owned[].statusDescriptors[]
- Description
- StatusDescriptor describes a field in a status block of a CRD so that OLM can consume it
- Type
-
`object`
- Required
-
path
| Property | Type | Description |
|---|---|---|
description | string | |
displayName | string | |
path | string | |
value | string | RawMessage is a raw encoded JSON value. It implements [Marshaler] and [Unmarshaler] and can be used to delay JSON decoding or precompute a JSON encoding. |
x-descriptors | array (string) |
.spec.apiservicedefinitions.required
Description
- Type
-
`array`
.spec.apiservicedefinitions.required[]
- Description
- APIServiceDescription provides details to OLM about apis provided via aggregation
- Type
-
`object`
- Required
-
groupkindnameversion
| Property | Type | Description |
|---|---|---|
actionDescriptors | array | |
actionDescriptors[] | object | ActionDescriptor describes a declarative action that can be performed on a custom resource instance |
containerPort | integer | |
deploymentName | string | |
description | string | |
displayName | string | |
group | string | |
kind | string | |
name | string | |
resources | array | |
resources[] | object | APIResourceReference is a reference to a Kubernetes resource type that the referrer utilizes. |
specDescriptors | array | |
specDescriptors[] | object | SpecDescriptor describes a field in a spec block of a CRD so that OLM can consume it |
statusDescriptors | array | |
statusDescriptors[] | object | StatusDescriptor describes a field in a status block of a CRD so that OLM can consume it |
version | string |
.spec.apiservicedefinitions.required[].actionDescriptors
Description
- Type
-
`array`
.spec.apiservicedefinitions.required[].actionDescriptors[]
- Description
- ActionDescriptor describes a declarative action that can be performed on a custom resource instance
- Type
-
`object`
- Required
-
path
| Property | Type | Description |
|---|---|---|
description | string | |
displayName | string | |
path | string | |
value | string | RawMessage is a raw encoded JSON value. It implements [Marshaler] and [Unmarshaler] and can be used to delay JSON decoding or precompute a JSON encoding. |
x-descriptors | array (string) |
.spec.apiservicedefinitions.required[].resources
Description
- Type
-
`array`
.spec.apiservicedefinitions.required[].resources[]
- Description
- APIResourceReference is a reference to a Kubernetes resource type that the referrer utilizes.
- Type
-
`object`
- Required
-
kindnameversion
| Property | Type | Description |
|---|---|---|
kind | string | Kind of the referenced resource type. |
name | string | Plural name of the referenced resource type (CustomResourceDefinition.Spec.Names[].Plural). Empty string if the referenced resource type is not a custom resource. |
version | string | API Version of the referenced resource type. |
.spec.apiservicedefinitions.required[].specDescriptors
Description
- Type
-
`array`
.spec.apiservicedefinitions.required[].specDescriptors[]
- Description
- SpecDescriptor describes a field in a spec block of a CRD so that OLM can consume it
- Type
-
`object`
- Required
-
path
| Property | Type | Description |
|---|---|---|
description | string | |
displayName | string | |
path | string | |
value | string | RawMessage is a raw encoded JSON value. It implements [Marshaler] and [Unmarshaler] and can be used to delay JSON decoding or precompute a JSON encoding. |
x-descriptors | array (string) |
.spec.apiservicedefinitions.required[].statusDescriptors
Description
- Type
-
`array`
.spec.apiservicedefinitions.required[].statusDescriptors[]
- Description
- StatusDescriptor describes a field in a status block of a CRD so that OLM can consume it
- Type
-
`object`
- Required
-
path
| Property | Type | Description |
|---|---|---|
description | string | |
displayName | string | |
path | string | |
value | string | RawMessage is a raw encoded JSON value. It implements [Marshaler] and [Unmarshaler] and can be used to delay JSON decoding or precompute a JSON encoding. |
x-descriptors | array (string) |
.spec.cleanup
- Description
- Cleanup specifies the cleanup behaviour when the CSV gets deleted
- Type
-
`object`
- Required
-
enabled
| Property | Type | Description |
|---|---|---|
enabled | boolean |
.spec.customresourcedefinitions
- Description
- CustomResourceDefinitions declares all of the CRDs managed or required by an operator being ran by ClusterServiceVersion. If the CRD is present in the Owned list, it is implicitly required.
- Type
-
`object`
| Property | Type | Description |
|---|---|---|
owned | array | |
owned[] | object | CRDDescription provides details to OLM about the CRDs |
required | array | |
required[] | object | CRDDescription provides details to OLM about the CRDs |
.spec.customresourcedefinitions.owned
Description
- Type
-
`array`
.spec.customresourcedefinitions.owned[]
- Description
- CRDDescription provides details to OLM about the CRDs
- Type
-
`object`
- Required
-
kindnameversion
| Property | Type | Description |
|---|---|---|
actionDescriptors | array | |
actionDescriptors[] | object | ActionDescriptor describes a declarative action that can be performed on a custom resource instance |
description | string | |
displayName | string | |
kind | string | |
name | string | |
resources | array | |
resources[] | object | APIResourceReference is a reference to a Kubernetes resource type that the referrer utilizes. |
specDescriptors | array | |
specDescriptors[] | object | SpecDescriptor describes a field in a spec block of a CRD so that OLM can consume it |
statusDescriptors | array | |
statusDescriptors[] | object | StatusDescriptor describes a field in a status block of a CRD so that OLM can consume it |
version | string |
.spec.customresourcedefinitions.owned[].actionDescriptors
Description
- Type
-
`array`
.spec.customresourcedefinitions.owned[].actionDescriptors[]
- Description
- ActionDescriptor describes a declarative action that can be performed on a custom resource instance
- Type
-
`object`
- Required
-
path
| Property | Type | Description |
|---|---|---|
description | string | |
displayName | string | |
path | string | |
value | string | RawMessage is a raw encoded JSON value. It implements [Marshaler] and [Unmarshaler] and can be used to delay JSON decoding or precompute a JSON encoding. |
x-descriptors | array (string) |
.spec.customresourcedefinitions.owned[].resources
Description
- Type
-
`array`
.spec.customresourcedefinitions.owned[].resources[]
- Description
- APIResourceReference is a reference to a Kubernetes resource type that the referrer utilizes.
- Type
-
`object`
- Required
-
kindnameversion
| Property | Type | Description |
|---|---|---|
kind | string | Kind of the referenced resource type. |
name | string | Plural name of the referenced resource type (CustomResourceDefinition.Spec.Names[].Plural). Empty string if the referenced resource type is not a custom resource. |
version | string | API Version of the referenced resource type. |
.spec.customresourcedefinitions.owned[].specDescriptors
Description
- Type
-
`array`
.spec.customresourcedefinitions.owned[].specDescriptors[]
- Description
- SpecDescriptor describes a field in a spec block of a CRD so that OLM can consume it
- Type
-
`object`
- Required
-
path
| Property | Type | Description |
|---|---|---|
description | string | |
displayName | string | |
path | string | |
value | string | RawMessage is a raw encoded JSON value. It implements [Marshaler] and [Unmarshaler] and can be used to delay JSON decoding or precompute a JSON encoding. |
x-descriptors | array (string) |
.spec.customresourcedefinitions.owned[].statusDescriptors
Description
- Type
-
`array`
.spec.customresourcedefinitions.owned[].statusDescriptors[]
- Description
- StatusDescriptor describes a field in a status block of a CRD so that OLM can consume it
- Type
-
`object`
- Required
-
path
| Property | Type | Description |
|---|---|---|
description | string | |
displayName | string | |
path | string | |
value | string | RawMessage is a raw encoded JSON value. It implements [Marshaler] and [Unmarshaler] and can be used to delay JSON decoding or precompute a JSON encoding. |
x-descriptors | array (string) |
.spec.customresourcedefinitions.required
Description
- Type
-
`array`
.spec.customresourcedefinitions.required[]
- Description
- CRDDescription provides details to OLM about the CRDs
- Type
-
`object`
- Required
-
kindnameversion
| Property | Type | Description |
|---|---|---|
actionDescriptors | array | |
actionDescriptors[] | object | ActionDescriptor describes a declarative action that can be performed on a custom resource instance |
description | string | |
displayName | string | |
kind | string | |
name | string | |
resources | array | |
resources[] | object | APIResourceReference is a reference to a Kubernetes resource type that the referrer utilizes. |
specDescriptors | array | |
specDescriptors[] | object | SpecDescriptor describes a field in a spec block of a CRD so that OLM can consume it |
statusDescriptors | array | |
statusDescriptors[] | object | StatusDescriptor describes a field in a status block of a CRD so that OLM can consume it |
version | string |
.spec.customresourcedefinitions.required[].actionDescriptors
Description
- Type
-
`array`
.spec.customresourcedefinitions.required[].actionDescriptors[]
- Description
- ActionDescriptor describes a declarative action that can be performed on a custom resource instance
- Type
-
`object`
- Required
-
path
| Property | Type | Description |
|---|---|---|
description | string | |
displayName | string | |
path | string | |
value | string | RawMessage is a raw encoded JSON value. It implements [Marshaler] and [Unmarshaler] and can be used to delay JSON decoding or precompute a JSON encoding. |
x-descriptors | array (string) |
.spec.customresourcedefinitions.required[].resources
Description
- Type
-
`array`
.spec.customresourcedefinitions.required[].resources[]
- Description
- APIResourceReference is a reference to a Kubernetes resource type that the referrer utilizes.
- Type
-
`object`
- Required
-
kindnameversion
| Property | Type | Description |
|---|---|---|
kind | string | Kind of the referenced resource type. |
name | string | Plural name of the referenced resource type (CustomResourceDefinition.Spec.Names[].Plural). Empty string if the referenced resource type is not a custom resource. |
version | string | API Version of the referenced resource type. |
.spec.customresourcedefinitions.required[].specDescriptors
Description
- Type
-
`array`
.spec.customresourcedefinitions.required[].specDescriptors[]
- Description
- SpecDescriptor describes a field in a spec block of a CRD so that OLM can consume it
- Type
-
`object`
- Required
-
path
| Property | Type | Description |
|---|---|---|
description | string | |
displayName | string | |
path | string | |
value | string | RawMessage is a raw encoded JSON value. It implements [Marshaler] and [Unmarshaler] and can be used to delay JSON decoding or precompute a JSON encoding. |
x-descriptors | array (string) |
.spec.customresourcedefinitions.required[].statusDescriptors
Description
- Type
-
`array`
.spec.customresourcedefinitions.required[].statusDescriptors[]
- Description
- StatusDescriptor describes a field in a status block of a CRD so that OLM can consume it
- Type
-
`object`
- Required
-
path
| Property | Type | Description |
|---|---|---|
description | string | |
displayName | string | |
path | string | |
value | string | RawMessage is a raw encoded JSON value. It implements [Marshaler] and [Unmarshaler] and can be used to delay JSON decoding or precompute a JSON encoding. |
x-descriptors | array (string) |
.spec.icon
- Description
- The icon for this operator.
- Type
-
`array`
.spec.icon[]
Description
- Type
-
`object`
- Required
-
base64datamediatype
| Property | Type | Description |
|---|---|---|
base64data | string | |
mediatype | string |
.spec.install
- Description
- NamedInstallStrategy represents the block of an ClusterServiceVersion resource where the install strategy is specified.
- Type
-
`object`
- Required
-
strategy
| Property | Type | Description |
|---|---|---|
spec | object | StrategyDetailsDeployment represents the parsed details of a Deployment InstallStrategy. |
strategy | string |
.spec.install.spec
- Description
- StrategyDetailsDeployment represents the parsed details of a Deployment InstallStrategy.
- Type
-
`object`
- Required
-
deployments
| Property | Type | Description |
|---|---|---|
clusterPermissions | array | |
clusterPermissions[] | object | StrategyDeploymentPermissions describe the rbac rules and service account needed by the install strategy |
deployments | array | |
deployments[] | object | StrategyDeploymentSpec contains the name, spec and labels for the deployment ALM should create |
permissions | array | |
permissions[] | object | StrategyDeploymentPermissions describe the rbac rules and service account needed by the install strategy |
.spec.install.spec.clusterPermissions
Description
- Type
-
`array`
.spec.install.spec.clusterPermissions[]
- Description
- StrategyDeploymentPermissions describe the rbac rules and service account needed by the install strategy
- Type
-
`object`
- Required
-
rulesserviceAccountName
| Property | Type | Description |
|---|---|---|
rules | array | |
rules[] | object | PolicyRule holds information that describes a policy rule, but does not contain information about who the rule applies to or which namespace the rule applies to. |
serviceAccountName | string |
.spec.install.spec.clusterPermissions[].rules
Description
- Type
-
`array`
.spec.install.spec.clusterPermissions[].rules[]
- Description
- PolicyRule holds information that describes a policy rule, but does not contain information about who the rule applies to or which namespace the rule applies to.
- Type
-
`object`
- Required
-
verbs
| Property | Type | Description |
|---|---|---|
apiGroups | array (string) | APIGroups is the name of the APIGroup that contains the resources. If multiple API groups are specified, any action requested against one of the enumerated resources in any API group will be allowed. "" represents the core API group and "*" represents all API groups. |
nonResourceURLs | array (string) | NonResourceURLs is a set of partial urls that a user should have access to. *s are allowed, but only as the full, final step in the path Since non-resource URLs are not namespaced, this field is only applicable for ClusterRoles referenced from a ClusterRoleBinding. Rules can either apply to API resources (such as "pods" or "secrets") or non-resource URL paths (such as "/api"), but not both. |
resourceNames | array (string) | ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed. |
resources | array (string) | Resources is a list of resources this rule applies to. '*' represents all resources. |
verbs | array (string) | Verbs is a list of Verbs that apply to ALL the ResourceKinds contained in this rule. '*' represents all verbs. |
.spec.install.spec.deployments
Description
- Type
-
`array`
.spec.install.spec.deployments[]
- Description
- StrategyDeploymentSpec contains the name, spec and labels for the deployment ALM should create
- Type
-
`object`
- Required
-
namespec
| Property | Type | Description |
|---|---|---|
label | object (string) | Set is a map of label:value. It implements Labels. |
name | string | |
spec | object | DeploymentSpec is the specification of the desired behavior of the Deployment. |
.spec.install.spec.deployments[].spec
- Description
- DeploymentSpec is the specification of the desired behavior of the Deployment.
- Type
-
`object`
- Required
-
selectortemplate
| Property | Type | Description |
|---|---|---|
minReadySeconds | integer | Minimum number of seconds for which a newly created pod should be ready without any of its container crashing, for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready) |
paused | boolean | Indicates that the deployment is paused. |
progressDeadlineSeconds | integer | The maximum time in seconds for a deployment to make progress before it is considered to be failed. The deployment controller will continue to process failed deployments and a condition with a ProgressDeadlineExceeded reason will be surfaced in the deployment status. Note that progress will not be estimated during the time a deployment is paused. Defaults to 600s. |
replicas | integer | Number of desired pods. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1. |
revisionHistoryLimit | integer | The number of old ReplicaSets to retain to allow rollback. This is a pointer to distinguish between explicit zero and not specified. Defaults to 10. |
selector | object | Label selector for pods. Existing ReplicaSets whose pods are selected by this will be the ones affected by this deployment. It must match the pod template’s labels. |
strategy | object | The deployment strategy to use to replace existing pods with new ones. |
template | object | Template describes the pods that will be created. The only allowed template.spec.restartPolicy value is "Always". |
.spec.install.spec.deployments[].spec.selector
- Description
- Label selector for pods. Existing ReplicaSets whose pods are selected by this will be the ones affected by this deployment. It must match the pod template’s labels.
- Type
-
`object`
| Property | Type | Description |
|---|---|---|
matchExpressions | array | matchExpressions is a list of label selector requirements. The requirements are ANDed. |
matchExpressions[] | object | A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. |
matchLabels | object (string) | 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. |
.spec.install.spec.deployments[].spec.selector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
-
`array`
.spec.install.spec.deployments[].spec.selector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
-
`object`
- Required
-
keyoperator
| Property | Type | Description |
|---|---|---|
key | string | key is the label key that the selector applies to. |
operator | string | operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. |
values | array (string) | 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. |
.spec.install.spec.deployments[].spec.strategy
- Description
- The deployment strategy to use to replace existing pods with new ones.
- Type
-
`object`
| Property | Type | Description |
|---|---|---|
rollingUpdate | object | Rolling update config params. Present only if DeploymentStrategyType = RollingUpdate. |
type | string | Type of deployment. Can be "Recreate" or "RollingUpdate". Default is RollingUpdate. |
.spec.install.spec.deployments[].spec.strategy.rollingUpdate
- Description
- Rolling update config params. Present only if DeploymentStrategyType = RollingUpdate.
- Type
-
`object`
| Property | Type | Description |
|---|---|---|
maxSurge | integer-or-string | The maximum number of pods that can be scheduled above the desired number of pods. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up. Defaults to 25%. Example: when this is set to 30%, the new ReplicaSet can be scaled up immediately when the rolling update starts, such that the total number of old and new pods do not exceed 130% of desired pods. Once old pods have been killed, new ReplicaSet can be scaled up further, ensuring that total number of pods running at any time during the update is at most 130% of desired pods. |
maxUnavailable | integer-or-string | The maximum number of pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). Absolute number is calculated from percentage by rounding down. This can not be 0 if MaxSurge is 0. Defaults to 25%. Example: when this is set to 30%, the old ReplicaSet can be scaled down to 70% of desired pods immediately when the rolling update starts. Once new pods are ready, old ReplicaSet can be scaled down further, followed by scaling up the new ReplicaSet, ensuring that the total number of pods available at all times during the update is at least 70% of desired pods. |
.spec.install.spec.deployments[].spec.template
- Description
- Template describes the pods that will be created. The only allowed template.spec.restartPolicy value is "Always".
- Type
-
`object`
| Property | Type | Description |
|---|---|---|
metadata | `` | Standard object’s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata |
spec | object | Specification of the desired behavior of the pod. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status |
.spec.install.spec.deployments[].spec.template.spec
- Description
- Specification of the desired behavior of the pod. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- Type
-
`object`
- Required
-
containers
| Property | Type | Description |
|---|---|---|
activeDeadlineSeconds | integer | Optional duration in seconds the pod may be active on the node relative to StartTime before the system will actively try to mark it failed and kill associated containers. Value must be a positive integer. |
affinity | object | If specified, the pod’s scheduling constraints |
automountServiceAccountToken | boolean | AutomountServiceAccountToken indicates whether a service account token should be automatically mounted. |
containers | array | List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Cannot be updated. |
containers[] | object | A single application container that you want to run within a pod. |
dnsConfig | object | Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy. |
dnsPolicy | string | Set DNS policy for the pod. Defaults to "ClusterFirst". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. |
enableServiceLinks | boolean | EnableServiceLinks indicates whether information about services should be injected into pod’s environment variables, matching the syntax of Docker links. Optional: Defaults to true. |
ephemeralContainers | array | List of ephemeral containers run in this pod. Ephemeral containers may be run in an existing pod to perform user-initiated actions such as debugging. This list cannot be specified when creating a pod, and it cannot be modified by updating the pod spec. In order to add an ephemeral container to an existing pod, use the pod’s ephemeralcontainers subresource. |
ephemeralContainers[] | object | An EphemeralContainer is a temporary container that you may add to an existing Pod for user-initiated activities such as debugging. Ephemeral containers have no resource or scheduling guarantees, and they will not be restarted when they exit or when a Pod is removed or restarted. The kubelet may evict a Pod if an ephemeral container causes the Pod to exceed its resource allocation. To add an ephemeral container, use the ephemeralcontainers subresource of an existing Pod. Ephemeral containers may not be removed or restarted. |
hostAliases | array | HostAliases is an optional list of hosts and IPs that will be injected into the pod’s hosts file if specified. |
hostAliases[] | object | HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the pod’s hosts file. |
hostIPC | boolean | Use the host’s ipc namespace. Optional: Default to false. |
hostNetwork | boolean | Host networking requested for this pod. Use the host’s network namespace. When using HostNetwork you should specify ports so the scheduler is aware. When hostNetwork is true, specified hostPort fields in port definitions must match containerPort, and unspecified hostPort fields in port definitions are defaulted to match containerPort. Default to false. |
hostPID | boolean | Use the host’s pid namespace. Optional: Default to false. |
hostUsers | boolean | Use the host’s user namespace. Optional: Default to true. If set to true or not present, the pod will be run in the host user namespace, useful for when the pod needs a feature only available to the host user namespace, such as loading a kernel module with CAP_SYS_MODULE. When set to false, a new userns is created for the pod. Setting false is useful for mitigating container breakout vulnerabilities even allowing users to run their containers as root without actually having root privileges on the host. This field is alpha-level and is only honored by servers that enable the UserNamespacesSupport feature. |
hostname | string | Specifies the hostname of the Pod If not specified, the pod’s hostname will be set to a system-defined value. |
hostnameOverride | string | HostnameOverride specifies an explicit override for the pod’s hostname as perceived by the pod. This field only specifies the pod’s hostname and does not affect its DNS records. When this field is set to a non-empty string: - It takes precedence over the values set in hostname and subdomain. - The Pod’s hostname will be set to this value. - setHostnameAsFQDN must be nil or set to false. - hostNetwork must be set to false.This field must be a valid DNS subdomain as defined in RFC 1123 and contain at most 64 characters. Requires the HostnameOverride feature gate to be enabled. |
imagePullSecrets | array | ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod |
imagePullSecrets[] | object | LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. |
initContainers | array | List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ |
initContainers[] | object | A single application container that you want to run within a pod. |
nodeName | string | NodeName indicates in which node this pod is scheduled. If empty, this pod is a candidate for scheduling by the scheduler defined in schedulerName. Once this field is set, the kubelet for this node becomes responsible for the lifecycle of this pod. This field should not be used to express a desire for the pod to be scheduled on a specific node. https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodename |
nodeSelector | object (string) | NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node’s labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ |
os | object | Specifies the OS of the containers in the pod. Some pod and container fields are restricted if this is set. If the OS field is set to linux, the following fields must be unset: -securityContext.windowsOptions If the OS field is set to windows, following fields must be unset: - spec.hostPID - spec.hostIPC - spec.hostUsers - spec.resources - spec.securityContext.appArmorProfile - spec.securityContext.seLinuxOptions - spec.securityContext.seccompProfile - spec.securityContext.fsGroup - spec.securityContext.fsGroupChangePolicy - spec.securityContext.sysctls - spec.shareProcessNamespace - spec.securityContext.runAsUser - spec.securityContext.runAsGroup - spec.securityContext.supplementalGroups - spec.securityContext.supplementalGroupsPolicy - spec.containers[].securityContext.appArmorProfile - spec.containers[].securityContext.seLinuxOptions - spec.containers[].securityContext.seccompProfile - spec.containers[].securityContext.capabilities - spec.containers[].securityContext.readOnlyRootFilesystem - spec.containers[].securityContext.privileged - spec.containers[].securityContext.allowPrivilegeEscalation - spec.containers[].securityContext.procMount - spec.containers[].securityContext.runAsUser - spec.containers[].securityContext.runAsGroup |
overhead | integer-or-string | Overhead represents the resource overhead associated with running a pod for a given RuntimeClass. This field will be autopopulated at admission time by the RuntimeClass admission controller. If the RuntimeClass admission controller is enabled, overhead must not be set in Pod create requests. The RuntimeClass admission controller will reject Pod create requests which have the overhead already set. If RuntimeClass is configured and selected in the PodSpec, Overhead will be set to the value defined in the corresponding RuntimeClass, otherwise it will remain unset and treated as zero. More info: https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md |
preemptionPolicy | string | PreemptionPolicy is the Policy for preempting pods with lower priority. One of Never, PreemptLowerPriority. Defaults to PreemptLowerPriority if unset. |
priority | integer | The priority value. Various system components use this field to find the priority of the pod. When Priority Admission Controller is enabled, it prevents users from setting this field. The admission controller populates this field from PriorityClassName. The higher the value, the higher the priority. |
priorityClassName | string | If specified, indicates the pod’s priority. "system-node-critical" and "system-cluster-critical" are two special keywords which indicate the highest priorities with the former being the highest priority. Any other name must be defined by creating a PriorityClass object with that name. If not specified, the pod priority will be default or zero if there is no default. |
readinessGates | array | If specified, all readiness gates will be evaluated for pod readiness. A pod is ready when all its containers are ready AND all conditions specified in the readiness gates have status equal to "True" More info: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates |
readinessGates[] | object | PodReadinessGate contains the reference to a pod condition |
resourceClaims | array | ResourceClaims defines which ResourceClaims must be allocated and reserved before the Pod is allowed to start. The resources will be made available to those containers which consume them by name. This is a stable field but requires that the DynamicResourceAllocation feature gate is enabled. This field is immutable. |
resourceClaims[] | object | PodResourceClaim references exactly one ResourceClaim, either directly or by naming a ResourceClaimTemplate which is then turned into a ResourceClaim for the pod. It adds a name to it that uniquely identifies the ResourceClaim inside the Pod. Containers that need access to the ResourceClaim reference it with this name. |
resources | object | Resources is the total amount of CPU and Memory resources required by all containers in the pod. It supports specifying Requests and Limits for "cpu", "memory" and "hugepages-" resource names only. ResourceClaims are not supported. This field enables fine-grained control over resource allocation for the entire pod, allowing resource sharing among containers in a pod. This is an alpha field and requires enabling the PodLevelResources feature gate. |
restartPolicy | string | Restart policy for all containers within the pod. One of Always, OnFailure, Never. In some contexts, only a subset of those values may be permitted. Default to Always. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy |
runtimeClassName | string | RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run. If unset or empty, the "legacy" RuntimeClass will be used, which is an implicit class with an empty definition that uses the default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class |
schedulerName | string | If specified, the pod will be dispatched by specified scheduler. If not specified, the pod will be dispatched by default scheduler. |
schedulingGates | array | SchedulingGates is an opaque list of values that if specified will block scheduling the pod. If schedulingGates is not empty, the pod will stay in the SchedulingGated state and the scheduler will not attempt to schedule the pod. SchedulingGates can only be set at pod creation time, and be removed only afterwards. |
schedulingGates[] | object | PodSchedulingGate is associated to a Pod to guard its scheduling. |
securityContext | object | SecurityContext holds pod-level security attributes and common container settings. Optional: Defaults to empty. See type description for default values of each field. |
serviceAccount | string | DeprecatedServiceAccount is a deprecated alias for ServiceAccountName. Deprecated: Use serviceAccountName instead. |
serviceAccountName | string | ServiceAccountName is the name of the ServiceAccount to use to run this pod. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ |
setHostnameAsFQDN | boolean | If true the pod’s hostname will be configured as the pod’s FQDN, rather than the leaf name (the default). In Linux containers, this means setting the FQDN in the hostname field of the kernel (the nodename field of struct utsname). In Windows containers, this means setting the registry value of hostname for the registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters to FQDN. If a pod does not have FQDN, this has no effect. Default to false. |
shareProcessNamespace | boolean | Share a single process namespace between all of the containers in a pod. When this is set containers will be able to view and signal processes from other containers in the same pod, and the first process in each container will not be assigned PID 1. HostPID and ShareProcessNamespace cannot both be set. Optional: Default to false. |
subdomain | string | If specified, the fully qualified Pod hostname will be " |
terminationGracePeriodSeconds | integer | Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds. |
tolerations | array | If specified, the pod’s tolerations. |
tolerations[] | object | The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator |
topologySpreadConstraints | array | TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed. |
topologySpreadConstraints[] | object | TopologySpreadConstraint specifies how to spread matching pods among the given topology. |
volumes | array | List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes |
volumes[] | object | Volume represents a named volume in a pod that may be accessed by any container in the pod. |
workloadRef | object | WorkloadRef provides a reference to the Workload object that this Pod belongs to. This field is used by the scheduler to identify the PodGroup and apply the correct group scheduling policies. The Workload object referenced by this field may not exist at the time the Pod is created. This field is immutable, but a Workload object with the same name may be recreated with different policies. Doing this during pod scheduling may result in the placement not conforming to the expected policies. |
.spec.install.spec.deployments[].spec.template.spec.affinity
- Description
- If specified, the pod’s scheduling constraints
- Type
-
`object`
| Property | Type | 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)). |
.spec.install.spec.deployments[].spec.template.spec.affinity.nodeAffinity
- Description
- Describes node affinity scheduling rules for the pod.
- Type
-
`object`
| Property | Type | Description |
|---|---|---|
preferredDuringSchedulingIgnoredDuringExecution | array | 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. |
preferredDuringSchedulingIgnoredDuringExecution[] | object | An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it’s a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op). |
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. |
.spec.install.spec.deployments[].spec.template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution
- Description
- 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.
- Type
-
`array`