Chapter 8. Prometheus [monitoring.coreos.com/v1]
- Description
- Prometheus defines a Prometheus deployment.
- Type
-
object
- Required
-
spec
-
8.1. Specification
Property | Type | Description |
---|---|---|
|
| 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 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 |
| Standard object’s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| Specification of the desired behavior of the Prometheus cluster. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status |
|
| Most recent observed status of the Prometheus cluster. Read-only. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status |
8.1.1. .spec
- Description
- Specification of the desired behavior of the Prometheus cluster. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
- Type
-
object
Property | Type | Description |
---|---|---|
|
| AdditionalAlertManagerConfigs specifies a key of a Secret containing additional Prometheus Alertmanager configurations. The Alertmanager configurations are appended to the configuration generated by the Prometheus Operator. They must be formatted according to the official Prometheus documentation: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alertmanager_config The user is responsible for making sure that the configurations are valid Note that using this feature may expose the possibility to break upgrades of Prometheus. It is advised to review Prometheus release notes to ensure that no incompatible AlertManager configs are going to break Prometheus after the upgrade. |
|
| AdditionalAlertRelabelConfigs specifies a key of a Secret containing additional Prometheus alert relabel configurations. The alert relabel configurations are appended to the configuration generated by the Prometheus Operator. They must be formatted according to the official Prometheus documentation: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alert_relabel_configs The user is responsible for making sure that the configurations are valid Note that using this feature may expose the possibility to break upgrades of Prometheus. It is advised to review Prometheus release notes to ensure that no incompatible alert relabel configs are going to break Prometheus after the upgrade. |
|
| AdditionalArgs allows setting additional arguments for the 'prometheus' container. It is intended for e.g. activating hidden flags which are not supported by the dedicated configuration options yet. The arguments are passed as-is to the Prometheus container which may cause issues if they are invalid or not supported by the given Prometheus version. In case of an argument conflict (e.g. an argument which is already set by the operator itself) or when providing an invalid argument, the reconciliation will fail and an error will be logged. |
|
| Argument as part of the AdditionalArgs list. |
|
| AdditionalScrapeConfigs allows specifying a key of a Secret containing additional Prometheus scrape configurations. Scrape configurations specified are appended to the configurations generated by the Prometheus Operator. Job configurations specified must have the form as specified in the official Prometheus documentation: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config. As scrape configs are appended, the user is responsible to make sure it is valid. Note that using this feature may expose the possibility to break upgrades of Prometheus. It is advised to review Prometheus release notes to ensure that no incompatible scrape configs are going to break Prometheus after the upgrade. |
|
| Defines the Pods' affinity scheduling rules if specified. |
|
| Defines the settings related to Alertmanager. |
|
| AllowOverlappingBlocks enables vertical compaction and vertical query merge in Prometheus. Deprecated: this flag has no effect for Prometheus >= 2.39.0 where overlapping blocks are enabled by default. |
|
| APIServerConfig allows specifying a host and auth methods to access the Kuberntees API server. If null, Prometheus is assumed to run inside of the cluster: it will discover the API servers automatically and use the Pod’s CA certificate and bearer token file at /var/run/secrets/kubernetes.io/serviceaccount/. |
|
|
When true, ServiceMonitor, PodMonitor and Probe object are forbidden to reference arbitrary files on the file system of the 'prometheus' container. When a ServiceMonitor’s endpoint specifies a |
|
| AutomountServiceAccountToken indicates whether a service account token should be automatically mounted in the pod. If the field isn’t set, the operator mounts the service account token by default. Warning: be aware that by default, Prometheus requires the service account token for Kubernetes service discovery. It is possible to use strategic merge patch to project the service account token into the 'prometheus' container. |
|
| Deprecated: use 'spec.image' instead. |
|
| BodySizeLimit defines per-scrape on response body size. Only valid in Prometheus versions 2.45.0 and newer. Note that the global limit only applies to scrape objects that don’t specify an explicit limit value. If you want to enforce a maximum limit for all scrape objects, refer to enforcedBodySizeLimit. |
|
|
ConfigMaps is a list of ConfigMaps in the same namespace as the Prometheus object, which shall be mounted into the Prometheus Pods. Each ConfigMap is added to the StatefulSet definition as a volume named |
|
| Containers allows injecting additional containers or modifying operator generated containers. This can be used to allow adding an authentication proxy to the Pods or to change the behavior of an operator generated container. Containers described here modify an operator generated container if they share the same name and modifications are done via a strategic merge patch.
The names of containers managed by the operator are: * Overriding containers is entirely outside the scope of what the maintainers will support and by doing so, you accept that this behaviour may break at any time without notice. |
|
| A single application container that you want to run within a pod. |
|
| When true, the Prometheus compaction is disabled. |
|
| Enables access to the Prometheus web admin API. WARNING: Enabling the admin APIs enables mutating endpoints, to delete data, shutdown Prometheus, and more. Enabling this should be done with care and the user is advised to add additional authentication authorization via a proxy to ensure only clients authorized to perform these actions can do so. For more information: https://prometheus.io/docs/prometheus/latest/querying/api/#tsdb-admin-apis |
|
| Enable access to Prometheus feature flags. By default, no features are enabled. Enabling features which are disabled by default is entirely outside the scope of what the maintainers will support and by doing so, you accept that this behaviour may break at any time without notice. For more information see https://prometheus.io/docs/prometheus/latest/feature_flags/ |
|
| Enable Prometheus to be used as a receiver for the Prometheus remote write protocol. WARNING: This is not considered an efficient way of ingesting samples. Use it with caution for specific low-volume use cases. It is not suitable for replacing the ingestion via scraping and turning Prometheus into a push-based metrics collection system. For more information see https://prometheus.io/docs/prometheus/latest/querying/api/#remote-write-receiver It requires Prometheus >= v2.33.0. |
|
| When defined, enforcedBodySizeLimit specifies a global limit on the size of uncompressed response body that will be accepted by Prometheus. Targets responding with a body larger than this many bytes will cause the scrape to fail. It requires Prometheus >= v2.28.0.
When both |
|
|
When defined, enforcedKeepDroppedTargets specifies a global limit on the number of targets dropped by relabeling that will be kept in memory. The value overrides any It requires Prometheus >= v2.47.0.
When both |
|
|
When defined, enforcedLabelLimit specifies a global limit on the number of labels per sample. The value overrides any It requires Prometheus >= v2.27.0.
When both |
|
|
When defined, enforcedLabelNameLengthLimit specifies a global limit on the length of labels name per sample. The value overrides any It requires Prometheus >= v2.27.0.
When both |
|
|
When not null, enforcedLabelValueLengthLimit defines a global limit on the length of labels value per sample. The value overrides any It requires Prometheus >= v2.27.0.
When both |
|
| When not empty, a label will be added to:
1. All metrics scraped from
The label will not added for objects referenced in
The label’s name is this field’s value. The label’s value is the namespace of the |
|
|
When defined, enforcedSampleLimit specifies a global limit on the number of scraped samples that will be accepted. This overrides any It is meant to be used by admins to keep the overall number of samples/series under a desired limit.
When both |
|
|
When defined, enforcedTargetLimit specifies a global limit on the number of scraped targets. The value overrides any It is meant to be used by admins to to keep the overall number of targets under a desired limit.
When both |
|
| Interval between rule evaluations. Default: "30s" |
|
| List of references to PodMonitor, ServiceMonitor, Probe and PrometheusRule objects to be excluded from enforcing a namespace label of origin.
It is only applicable if |
|
| ObjectReference references a PodMonitor, ServiceMonitor, Probe or PrometheusRule object. |
|
|
Exemplars related settings that are runtime reloadable. It requires to enable the |
|
|
The labels to add to any time series or alerts when communicating with external systems (federation, remote storage, Alertmanager). Labels defined by |
|
| The external URL under which the Prometheus service is externally available. This is necessary to generate correct URLs (for instance if Prometheus is accessible behind an Ingress resource). |
|
| Optional list of hosts and IPs that will be injected into the Pod’s hosts file if specified. |
|
| HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the pod’s hosts file. |
|
| Use the host’s network namespace if true. Make sure to understand the security implications if you want to enable it (https://kubernetes.io/docs/concepts/configuration/overview/).
When hostNetwork is enabled, this will set the DNS policy to |
|
|
When true, |
|
|
Container image name for Prometheus. If specified, it takes precedence over the
Specifying
If neither |
|
| Image pull policy for the 'prometheus', 'init-config-reloader' and 'config-reloader' containers. See https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy for more details. |
|
| An optional list of references to Secrets in the same namespace to use for pulling images from registries. See http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod |
|
| LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. |
|
| InitContainers allows injecting initContainers to the Pod definition. Those can be used to e.g. fetch secrets for injection into the Prometheus configuration from external sources. Any errors during the execution of an initContainer will lead to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ InitContainers described here modify an operator generated init containers if they share the same name and modifications are done via a strategic merge patch.
The names of init container name managed by the operator are: * Overriding init containers is entirely outside the scope of what the maintainers will support and by doing so, you accept that this behaviour may break at any time without notice. |
|
| A single application container that you want to run within a pod. |
|
| Per-scrape limit on the number of targets dropped by relabeling that will be kept in memory. 0 means no limit. It requires Prometheus >= v2.47.0. Note that the global limit only applies to scrape objects that don’t specify an explicit limit value. If you want to enforce a maximum limit for all scrape objects, refer to enforcedKeepDroppedTargets. |
|
| Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.45.0 and newer. Note that the global limit only applies to scrape objects that don’t specify an explicit limit value. If you want to enforce a maximum limit for all scrape objects, refer to enforcedLabelLimit. |
|
| Per-scrape limit on length of labels name that will be accepted for a sample. Only valid in Prometheus versions 2.45.0 and newer. Note that the global limit only applies to scrape objects that don’t specify an explicit limit value. If you want to enforce a maximum limit for all scrape objects, refer to enforcedLabelNameLengthLimit. |
|
| Per-scrape limit on length of labels value that will be accepted for a sample. Only valid in Prometheus versions 2.45.0 and newer. Note that the global limit only applies to scrape objects that don’t specify an explicit limit value. If you want to enforce a maximum limit for all scrape objects, refer to enforcedLabelValueLengthLimit. |
|
| When true, the Prometheus server listens on the loopback address instead of the Pod IP’s address. |
|
| Log format for Log level for Prometheus and the config-reloader sidecar. |
|
| Log level for Prometheus and the config-reloader sidecar. |
|
|
Defines the maximum time that the |
|
| 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) This is an alpha field from kubernetes 1.22 until 1.24 which requires enabling the StatefulSetMinReadySeconds feature gate. |
|
| Defines on which Nodes the Pods are scheduled. |
|
|
When true, Prometheus resolves label conflicts by renaming the labels in the scraped data to “exported_” for all targets created from ServiceMonitor, PodMonitor and ScrapeConfig objects. Otherwise the HonorLabels field of the service or pod monitor applies. In practice, |
|
| When true, Prometheus ignores the timestamps for all the targets created from service and pod monitors. Otherwise the HonorTimestamps field of the service or pod monitor applies. |
|
| When a Prometheus deployment is paused, no actions except for deletion will be performed on the underlying objects. |
|
| The field controls if and how PVCs are deleted during the lifecycle of a StatefulSet. The default behavior is all PVCs are retained. This is an alpha field from kubernetes 1.23 until 1.26 and a beta field from 1.26. It requires enabling the StatefulSetAutoDeletePVC feature gate. |
|
| PodMetadata configures labels and annotations which are propagated to the Prometheus pods. The following items are reserved and cannot be overridden: * "prometheus" label, set to the name of the Prometheus object. * "app.kubernetes.io/instance" label, set to the name of the Prometheus object. * "app.kubernetes.io/managed-by" label, set to "prometheus-operator". * "app.kubernetes.io/name" label, set to "prometheus". * "app.kubernetes.io/version" label, set to the Prometheus version. * "operator.prometheus.io/name" label, set to the name of the Prometheus object. * "operator.prometheus.io/shard" label, set to the shard number of the Prometheus object. * "kubectl.kubernetes.io/default-container" annotation, set to "prometheus". |
|
| Namespaces to match for PodMonitors discovery. An empty label selector matches all namespaces. A null label selector (default value) matches the current namespace only. |
|
| PodMonitors to be selected for target discovery. An empty label selector matches all objects. A null label selector matches no objects.
If |
|
|
PodTargetLabels are appended to the |
|
| Port name used for the pods and governing service. Default: "web" |
|
| Priority class assigned to the Pods. |
|
| Namespaces to match for Probe discovery. An empty label selector matches all namespaces. A null label selector matches the current namespace only. |
|
| Probes to be selected for target discovery. An empty label selector matches all objects. A null label selector matches no objects.
If |
|
|
Name of Prometheus external label used to denote the Prometheus instance name. The external label will not be added when the field is set to the empty string ( Default: "prometheus" |
|
|
Defines the list of PrometheusRule objects to which the namespace label enforcement doesn’t apply. This is only relevant when |
|
| PrometheusRuleExcludeConfig enables users to configure excluded PrometheusRule names and their namespaces to be ignored while enforcing namespace label for alerts and metrics. |
|
| QuerySpec defines the configuration of the Promethus query service. |
|
| queryLogFile specifies where the file to which PromQL queries are logged.
If the filename has an empty path, e.g. 'query.log', The Prometheus Pods will mount the file into an emptyDir volume at |
|
| Defines the strategy used to reload the Prometheus configuration. If not specified, the configuration is reloaded using the /-/reload HTTP endpoint. |
|
| Defines the list of remote read configurations. |
|
| RemoteReadSpec defines the configuration for Prometheus to read back samples from a remote endpoint. |
|
| Defines the list of remote write configurations. |
|
| RemoteWriteSpec defines the configuration to write samples from Prometheus to a remote endpoint. |
|
|
Name of Prometheus external label used to denote the replica name. The external label will not be added when the field is set to the empty string ( Default: "prometheus_replica" |
|
|
Number of replicas of each shard to deploy for a Prometheus deployment. Default: 1 |
|
| Defines the resources requests and limits of the 'prometheus' container. |
|
| How long to retain the Prometheus data.
Default: "24h" if |
|
| Maximum number of bytes used by the Prometheus data. |
|
| The route prefix Prometheus registers HTTP handlers for.
This is useful when using |
|
| Namespaces to match for PrometheusRule discovery. An empty label selector matches all namespaces. A null label selector matches the current namespace only. |
|
| PrometheusRule objects to be selected for rule evaluation. An empty label selector matches all objects. A null label selector matches no objects. |
|
| Defines the configuration of the Prometheus rules' engine. |
|
| SampleLimit defines per-scrape limit on number of scraped samples that will be accepted. Only valid in Prometheus versions 2.45.0 and newer. Note that the global limit only applies to scrape objects that don’t specify an explicit limit value. If you want to enforce a maximum limit for all scrape objects, refer to enforcedSampleLimit. |
|
| List of scrape classes to expose to scraping objects such as PodMonitors, ServiceMonitors, Probes and ScrapeConfigs. This is an experimental feature, it may change in any upcoming release in a breaking way. |
|
| |
|
| Namespaces to match for ScrapeConfig discovery. An empty label selector matches all namespaces. A null label selector matches the current namespace only. Note that the ScrapeConfig custom resource definition is currently at Alpha level. |
|
| ScrapeConfigs to be selected for target discovery. An empty label selector matches all objects. A null label selector matches no objects.
If Note that the ScrapeConfig custom resource definition is currently at Alpha level. |
|
| Interval between consecutive scrapes. Default: "30s" |
|
| The protocols to negotiate during a scrape. It tells clients the protocols supported by Prometheus in order of preference (from most to least preferred). If unset, Prometheus uses its default value. It requires Prometheus >= v2.49.0. |
|
| Number of seconds to wait until a scrape request times out. |
|
|
Secrets is a list of Secrets in the same namespace as the Prometheus object, which shall be mounted into the Prometheus Pods. Each Secret is added to the StatefulSet definition as a volume named |
|
| SecurityContext holds pod-level security attributes and common container settings. This defaults to the default PodSecurityContext. |
|
| ServiceAccountName is the name of the ServiceAccount to use to run the Prometheus Pods. |
|
| Namespaces to match for ServicedMonitors discovery. An empty label selector matches all namespaces. A null label selector (default value) matches the current namespace only. |
|
| ServiceMonitors to be selected for target discovery. An empty label selector matches all objects. A null label selector matches no objects.
If |
|
| Deprecated: use 'spec.image' instead. The image’s digest can be specified as part of the image name. |
|
|
Number of shards to distribute targets onto. Note that scaling down shards will not reshard data onto remaining instances, it must be manually moved. Increasing shards will not reshard data either but it will continue to be available from the same instances. To query globally, use Thanos sidecar and Thanos querier or remote write data to a central location.
Sharding is performed on the content of the Default: 1 |
|
| Storage defines the storage used by Prometheus. |
|
| Deprecated: use 'spec.image' instead. The image’s tag can be specified as part of the image name. |
|
| TargetLimit defines a limit on the number of scraped targets that will be accepted. Only valid in Prometheus versions 2.45.0 and newer. Note that the global limit only applies to scrape objects that don’t specify an explicit limit value. If you want to enforce a maximum limit for all scrape objects, refer to enforcedTargetLimit. |
|
| Defines the configuration of the optional Thanos sidecar. |
|
| Defines the Pods' tolerations if specified. |
|
| The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>. |
|
| Defines the pod’s topology spread constraints if specified. |
|
| |
|
| TracingConfig configures tracing in Prometheus. This is an experimental feature, it may change in any upcoming release in a breaking way. |
|
| Defines the runtime reloadable configuration of the timeseries database (TSDB). |
|
| Version of Prometheus being deployed. The operator uses this information to generate the Prometheus StatefulSet + configuration files. If not specified, the operator assumes the latest upstream version of Prometheus available at the time when the version of the operator was released. |
|
| VolumeMounts allows the configuration of additional VolumeMounts. VolumeMounts will be appended to other VolumeMounts in the 'prometheus' container, that are generated as a result of StorageSpec objects. |
|
| VolumeMount describes a mounting of a Volume within a container. |
|
| Volumes allows the configuration of additional volumes on the output StatefulSet definition. Volumes specified will be appended to other volumes that are generated as a result of StorageSpec objects. |
|
| Volume represents a named volume in a pod that may be accessed by any container in the pod. |
|
| Configures compression of the write-ahead log (WAL) using Snappy. WAL compression is enabled by default for Prometheus >= 2.20.0 Requires Prometheus v2.11.0 and above. |
|
| Defines the configuration of the Prometheus web server. |
8.1.2. .spec.additionalAlertManagerConfigs
- Description
AdditionalAlertManagerConfigs specifies a key of a Secret containing additional Prometheus Alertmanager configurations. The Alertmanager configurations are appended to the configuration generated by the Prometheus Operator. They must be formatted according to the official Prometheus documentation:
https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alertmanager_config
The user is responsible for making sure that the configurations are valid
Note that using this feature may expose the possibility to break upgrades of Prometheus. It is advised to review Prometheus release notes to ensure that no incompatible AlertManager configs are going to break Prometheus after the upgrade.
- Type
-
object
- Required
-
key
-
Property | Type | Description |
---|---|---|
|
| The key of the secret to select from. Must be a valid secret key. |
|
|
Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Drop |
|
| Specify whether the Secret or its key must be defined |
8.1.3. .spec.additionalAlertRelabelConfigs
- Description
AdditionalAlertRelabelConfigs specifies a key of a Secret containing additional Prometheus alert relabel configurations. The alert relabel configurations are appended to the configuration generated by the Prometheus Operator. They must be formatted according to the official Prometheus documentation:
https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alert_relabel_configs
The user is responsible for making sure that the configurations are valid
Note that using this feature may expose the possibility to break upgrades of Prometheus. It is advised to review Prometheus release notes to ensure that no incompatible alert relabel configs are going to break Prometheus after the upgrade.
- Type
-
object
- Required
-
key
-
Property | Type | Description |
---|---|---|
|
| The key of the secret to select from. Must be a valid secret key. |
|
|
Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Drop |
|
| Specify whether the Secret or its key must be defined |
8.1.4. .spec.additionalArgs
- Description
AdditionalArgs allows setting additional arguments for the 'prometheus' container.
It is intended for e.g. activating hidden flags which are not supported by the dedicated configuration options yet. The arguments are passed as-is to the Prometheus container which may cause issues if they are invalid or not supported by the given Prometheus version.
In case of an argument conflict (e.g. an argument which is already set by the operator itself) or when providing an invalid argument, the reconciliation will fail and an error will be logged.
- Type
-
array
8.1.5. .spec.additionalArgs[]
- Description
- Argument as part of the AdditionalArgs list.
- Type
-
object
- Required
-
name
-
Property | Type | Description |
---|---|---|
|
| Name of the argument, e.g. "scrape.discovery-reload-interval". |
|
| Argument value, e.g. 30s. Can be empty for name-only arguments (e.g. --storage.tsdb.no-lockfile) |
8.1.6. .spec.additionalScrapeConfigs
- Description
- AdditionalScrapeConfigs allows specifying a key of a Secret containing additional Prometheus scrape configurations. Scrape configurations specified are appended to the configurations generated by the Prometheus Operator. Job configurations specified must have the form as specified in the official Prometheus documentation: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config. As scrape configs are appended, the user is responsible to make sure it is valid. Note that using this feature may expose the possibility to break upgrades of Prometheus. It is advised to review Prometheus release notes to ensure that no incompatible scrape configs are going to break Prometheus after the upgrade.
- Type
-
object
- Required
-
key
-
Property | Type | Description |
---|---|---|
|
| The key of the secret to select from. Must be a valid secret key. |
|
|
Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Drop |
|
| Specify whether the Secret or its key must be defined |
8.1.7. .spec.affinity
- Description
- Defines the Pods' affinity scheduling rules if specified.
- Type
-
object
Property | Type | Description |
---|---|---|
|
| Describes node affinity scheduling rules for the pod. |
|
| Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). |
|
| Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). |
8.1.8. .spec.affinity.nodeAffinity
- Description
- Describes node affinity scheduling rules for the pod.
- Type
-
object
Property | Type | 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. |
|
| 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). |
|
| 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. |
8.1.9. .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
8.1.10. .spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- Description
- 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).
- Type
-
object
- Required
-
preference
-
weight
-
Property | Type | Description |
---|---|---|
|
| A node selector term, associated with the corresponding weight. |
|
| Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. |
8.1.11. .spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference
- Description
- A node selector term, associated with the corresponding weight.
- Type
-
object
Property | Type | Description |
---|---|---|
|
| A list of node selector requirements by node’s labels. |
|
| A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. |
|
| A list of node selector requirements by node’s fields. |
|
| A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. |
8.1.12. .spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions
- Description
- A list of node selector requirements by node’s labels.
- Type
-
array
8.1.13. .spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[]
- Description
- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
-
object
- Required
-
key
-
operator
-
Property | Type | Description |
---|---|---|
|
| The label key that the selector applies to. |
|
| Represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. |
|
| 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. |
8.1.14. .spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields
- Description
- A list of node selector requirements by node’s fields.
- Type
-
array
8.1.15. .spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[]
- Description
- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
-
object
- Required
-
key
-
operator
-
Property | Type | Description |
---|---|---|
|
| The label key that the selector applies to. |
|
| Represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. |
|
| 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. |
8.1.16. .spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution
- Description
- 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.
- Type
-
object
- Required
-
nodeSelectorTerms
-
Property | Type | Description |
---|---|---|
|
| Required. A list of node selector terms. The terms are ORed. |
|
| A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. |
8.1.17. .spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
- Description
- Required. A list of node selector terms. The terms are ORed.
- Type
-
array
8.1.18. .spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[]
- Description
- A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
- Type
-
object
Property | Type | Description |
---|---|---|
|
| A list of node selector requirements by node’s labels. |
|
| A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. |
|
| A list of node selector requirements by node’s fields. |
|
| A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. |
8.1.19. .spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions
- Description
- A list of node selector requirements by node’s labels.
- Type
-
array
8.1.20. .spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[]
- Description
- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
-
object
- Required
-
key
-
operator
-
Property | Type | Description |
---|---|---|
|
| The label key that the selector applies to. |
|
| Represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. |
|
| 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. |
8.1.21. .spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields
- Description
- A list of node selector requirements by node’s fields.
- Type
-
array
8.1.22. .spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[]
- Description
- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
-
object
- Required
-
key
-
operator
-
Property | Type | Description |
---|---|---|
|
| The label key that the selector applies to. |
|
| Represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. |
|
| 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. |
8.1.23. .spec.affinity.podAffinity
- Description
- Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).
- Type
-
object
Property | Type | 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 has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. |
|
| The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) |
|
| 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 a pod label update), the system may or may 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, i.e. all terms must be satisfied. |
|
| Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running |
8.1.24. .spec.affinity.podAffinity.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 has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
- Type
-
array
8.1.25. .spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- Description
- The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
- Type
-
object
- Required
-
podAffinityTerm
-
weight
-
Property | Type | Description |
---|---|---|
|
| Required. A pod affinity term, associated with the corresponding weight. |
|
| weight associated with matching the corresponding podAffinityTerm, in the range 1-100. |
8.1.26. .spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm
- Description
- Required. A pod affinity term, associated with the corresponding weight.
- Type
-
object
- Required
-
topologyKey
-
Property | Type | Description |
---|---|---|
|
| A label query over a set of resources, in this case pods. If it’s null, this PodAffinityTerm matches with no Pods. |
|
|
MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with |
|
|
MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with |
|
| 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. |
|
| 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". |
|
| This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where 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. |
8.1.27. .spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector
- Description
- A label query over a set of resources, in this case pods. If it’s null, this PodAffinityTerm matches with no Pods.
- Type
-
object
Property | Type | Description |
---|---|---|
|
| matchExpressions is a list of label selector requirements. The requirements are ANDed. |
|
| A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. |
|
| 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. |
8.1.28. .spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
-
array
8.1.29. .spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.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
-
key
-
operator
-
Property | Type | Description |
---|---|---|
|
| key is the label key that the selector applies to. |
|
| operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. |
|
| 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. |
8.1.30. .spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector
- Description
- 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.
- Type
-
object
Property | Type | Description |
---|---|---|
|
| matchExpressions is a list of label selector requirements. The requirements are ANDed. |
|
| A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. |
|
| 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. |
8.1.31. .spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
-
array
8.1.32. .spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.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
-
key
-
operator
-
Property | Type | Description |
---|---|---|
|
| key is the label key that the selector applies to. |
|
| operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. |
|
| 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. |
8.1.33. .spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution
- Description
- 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 a pod label update), the system may or may 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, i.e. all terms must be satisfied.
- Type
-
array
8.1.34. .spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[]
- Description
- Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
- Type
-
object
- Required
-
topologyKey
-
Property | Type | Description |
---|---|---|
|
| A label query over a set of resources, in this case pods. If it’s null, this PodAffinityTerm matches with no Pods. |
|
|
MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with |
|
|
MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with |
|
| 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. |
|
| 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". |
|
| This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where 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. |
8.1.35. .spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector
- Description
- A label query over a set of resources, in this case pods. If it’s null, this PodAffinityTerm matches with no Pods.
- Type
-
object
Property | Type | Description |
---|---|---|
|
| matchExpressions is a list of label selector requirements. The requirements are ANDed. |
|
| A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. |
|
| 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. |
8.1.36. .spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
-
array
8.1.37. .spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.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
-
key
-
operator
-
Property | Type | Description |
---|---|---|
|
| key is the label key that the selector applies to. |
|
| operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. |
|
| 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. |
8.1.38. .spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector
- Description
- 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.
- Type
-
object
Property | Type | Description |
---|---|---|
|
| matchExpressions is a list of label selector requirements. The requirements are ANDed. |
|
| A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. |
|
| 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. |
8.1.39. .spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
-
array
8.1.40. .spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.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
-
key
-
operator
-
Property | Type | Description |
---|---|---|
|
| key is the label key that the selector applies to. |
|
| operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. |
|
| 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. |
8.1.41. .spec.affinity.podAntiAffinity
- Description
- Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).
- Type
-
object
Property | Type | Description |
---|---|---|
|
| The scheduler will prefer to schedule pods to nodes that satisfy the anti-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 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. |
|
| The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) |
|
| If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may 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, i.e. all terms must be satisfied. |
|
| Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running |
8.1.42. .spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
- Description
- The scheduler will prefer to schedule pods to nodes that satisfy the anti-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 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.
- Type
-
array
8.1.43. .spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- Description
- The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
- Type
-
object
- Required
-
podAffinityTerm
-
weight
-
Property | Type | Description |
---|---|---|
|
| Required. A pod affinity term, associated with the corresponding weight. |
|
| weight associated with matching the corresponding podAffinityTerm, in the range 1-100. |
8.1.44. .spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm
- Description
- Required. A pod affinity term, associated with the corresponding weight.
- Type
-
object
- Required
-
topologyKey
-
Property | Type | Description |
---|---|---|
|
| A label query over a set of resources, in this case pods. If it’s null, this PodAffinityTerm matches with no Pods. |
|
|
MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with |
|
|
MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with |
|
| 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. |
|
| 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". |
|
| This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where 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. |
8.1.45. .spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector
- Description
- A label query over a set of resources, in this case pods. If it’s null, this PodAffinityTerm matches with no Pods.
- Type
-
object
Property | Type | Description |
---|---|---|
|
| matchExpressions is a list of label selector requirements. The requirements are ANDed. |
|
| A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. |
|
| 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. |
8.1.46. .spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
-
array
8.1.47. .spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.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
-
key
-
operator
-
Property | Type | Description |
---|---|---|
|
| key is the label key that the selector applies to. |
|
| operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. |
|
| 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. |
8.1.48. .spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector
- Description
- 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.
- Type
-
object
Property | Type | Description |
---|---|---|
|
| matchExpressions is a list of label selector requirements. The requirements are ANDed. |
|
| A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. |
|
| 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. |
8.1.49. .spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
-
array
8.1.50. .spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.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
-
key
-
operator
-
Property | Type | Description |
---|---|---|
|
| key is the label key that the selector applies to. |
|
| operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. |
|
| 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. |
8.1.51. .spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
- Description
- If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may 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, i.e. all terms must be satisfied.
- Type
-
array
8.1.52. .spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[]
- Description
- Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
- Type
-
object
- Required
-
topologyKey
-
Property | Type | Description |
---|---|---|
|
| A label query over a set of resources, in this case pods. If it’s null, this PodAffinityTerm matches with no Pods. |
|
|
MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with |
|
|
MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with |
|
| 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. |
|
| 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". |
|
| This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where 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. |
8.1.53. .spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector
- Description
- A label query over a set of resources, in this case pods. If it’s null, this PodAffinityTerm matches with no Pods.
- Type
-
object
Property | Type | Description |
---|---|---|
|
| matchExpressions is a list of label selector requirements. The requirements are ANDed. |
|
| A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. |
|
| 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. |
8.1.54. .spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
-
array
8.1.55. .spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.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
-
key
-
operator
-
Property | Type | Description |
---|---|---|
|
| key is the label key that the selector applies to. |
|
| operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. |
|
| 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. |
8.1.56. .spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector
- Description
- 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.
- Type
-
object
Property | Type | Description |
---|---|---|
|
| matchExpressions is a list of label selector requirements. The requirements are ANDed. |
|
| A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. |
|
| 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. |
8.1.57. .spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
-
array
8.1.58. .spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.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
-
key
-
operator
-
Property | Type | Description |
---|---|---|
|
| key is the label key that the selector applies to. |
|
| operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. |
|
| 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. |
8.1.59. .spec.alerting
- Description
- Defines the settings related to Alertmanager.
- Type
-
object
- Required
-
alertmanagers
-
Property | Type | Description |
---|---|---|
|
| AlertmanagerEndpoints Prometheus should fire alerts against. |
|
| AlertmanagerEndpoints defines a selection of a single Endpoints object containing Alertmanager IPs to fire alerts against. |
8.1.60. .spec.alerting.alertmanagers
- Description
- AlertmanagerEndpoints Prometheus should fire alerts against.
- Type
-
array
8.1.61. .spec.alerting.alertmanagers[]
- Description
- AlertmanagerEndpoints defines a selection of a single Endpoints object containing Alertmanager IPs to fire alerts against.
- Type
-
object
- Required
-
name
-
namespace
-
port
-
Property | Type | Description |
---|---|---|
|
| Relabeling configs applied before sending alerts to a specific Alertmanager. It requires Prometheus >= v2.51.0. |
|
| RelabelConfig allows dynamic rewriting of the label set for targets, alerts, scraped samples and remote write samples. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config |
|
| Version of the Alertmanager API that Prometheus uses to send alerts. It can be "v1" or "v2". |
|
| Authorization section for Alertmanager.
Cannot be set at the same time as |
|
| BasicAuth configuration for Alertmanager.
Cannot be set at the same time as |
|
| File to read bearer token for Alertmanager.
Cannot be set at the same time as
Deprecated: this will be removed in a future release. Prefer using |
|
| Whether to enable HTTP2. |
|
| Name of the Endpoints object in the namespace. |
|
| Namespace of the Endpoints object. |
|
| Prefix for the HTTP path alerts are pushed to. |
|
| Port on which the Alertmanager API is exposed. |
|
| Relabel configuration applied to the discovered Alertmanagers. |
|
| RelabelConfig allows dynamic rewriting of the label set for targets, alerts, scraped samples and remote write samples. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config |
|
| Scheme to use when firing alerts. |
|
| Sigv4 allows to configures AWS’s Signature Verification 4 for the URL. It requires Prometheus >= v2.48.0.
Cannot be set at the same time as |
|
| Timeout is a per-target Alertmanager timeout when pushing alerts. |
|
| TLS Config to use for Alertmanager. |
8.1.62. .spec.alerting.alertmanagers[].alertRelabelings
- Description
- Relabeling configs applied before sending alerts to a specific Alertmanager. It requires Prometheus >= v2.51.0.
- Type
-
array
8.1.63. .spec.alerting.alertmanagers[].alertRelabelings[]
- Description
RelabelConfig allows dynamic rewriting of the label set for targets, alerts, scraped samples and remote write samples.
More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
- Type
-
object
Property | Type | Description |
---|---|---|
|
| Action to perform based on the regex matching.
Default: "Replace" |
|
| Modulus to take of the hash of the source label values.
Only applicable when the action is |
|
| Regular expression against which the extracted value is matched. |
|
| Replacement value against which a Replace action is performed if the regular expression matches. Regex capture groups are available. |
|
| Separator is the string between concatenated SourceLabels. |
|
| The source labels select values from existing labels. Their content is concatenated using the configured Separator and matched against the configured regular expression. |
|
| Label to which the resulting string is written in a replacement.
It is mandatory for Regex capture groups are available. |
8.1.64. .spec.alerting.alertmanagers[].authorization
- Description
Authorization section for Alertmanager.
Cannot be set at the same time as
basicAuth
,bearerTokenFile
orsigv4
.- Type
-
object
Property | Type | Description |
---|---|---|
|
| Selects a key of a Secret in the namespace that contains the credentials for authentication. |
|
| Defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. Default: "Bearer" |
8.1.65. .spec.alerting.alertmanagers[].authorization.credentials
- Description
- Selects a key of a Secret in the namespace that contains the credentials for authentication.
- Type
-
object
- Required
-
key
-
Property | Type | Description |
---|---|---|
|
| The key of the secret to select from. Must be a valid secret key. |
|
|
Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Drop |
|
| Specify whether the Secret or its key must be defined |
8.1.66. .spec.alerting.alertmanagers[].basicAuth
- Description
BasicAuth configuration for Alertmanager.
Cannot be set at the same time as
bearerTokenFile
,authorization
orsigv4
.- Type
-
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
8.1.67. .spec.alerting.alertmanagers[].basicAuth.password
- Description
-
password
specifies a key of a Secret containing the password for authentication. - Type
-
object
- Required
-
key
-
Property | Type | Description |
---|---|---|
|
| The key of the secret to select from. Must be a valid secret key. |
|
|
Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Drop |
|
| Specify whether the Secret or its key must be defined |
8.1.68. .spec.alerting.alertmanagers[].basicAuth.username
- Description
-
username
specifies a key of a Secret containing the username for authentication. - Type
-
object
- Required
-
key
-
Property | Type | Description |
---|---|---|
|
| The key of the secret to select from. Must be a valid secret key. |
|
|
Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Drop |
|
| Specify whether the Secret or its key must be defined |
8.1.69. .spec.alerting.alertmanagers[].relabelings
- Description
- Relabel configuration applied to the discovered Alertmanagers.
- Type
-
array
8.1.70. .spec.alerting.alertmanagers[].relabelings[]
- Description
RelabelConfig allows dynamic rewriting of the label set for targets, alerts, scraped samples and remote write samples.
More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
- Type
-
object
Property | Type | Description |
---|---|---|
|
| Action to perform based on the regex matching.
Default: "Replace" |
|
| Modulus to take of the hash of the source label values.
Only applicable when the action is |
|
| Regular expression against which the extracted value is matched. |
|
| Replacement value against which a Replace action is performed if the regular expression matches. Regex capture groups are available. |
|
| Separator is the string between concatenated SourceLabels. |
|
| The source labels select values from existing labels. Their content is concatenated using the configured Separator and matched against the configured regular expression. |
|
| Label to which the resulting string is written in a replacement.
It is mandatory for Regex capture groups are available. |
8.1.71. .spec.alerting.alertmanagers[].sigv4
- Description
Sigv4 allows to configures AWS’s Signature Verification 4 for the URL.
It requires Prometheus >= v2.48.0.
Cannot be set at the same time as
basicAuth
,bearerTokenFile
orauthorization
.- Type
-
object
Property | Type | Description |
---|---|---|
|
|
AccessKey is the AWS API key. If not specified, the environment variable |
|
| Profile is the named AWS profile used to authenticate. |
|
| Region is the AWS region. If blank, the region from the default credentials chain used. |
|
| RoleArn is the named AWS profile used to authenticate. |
|
|
SecretKey is the AWS API secret. If not specified, the environment variable |
8.1.72. .spec.alerting.alertmanagers[].sigv4.accessKey
- Description
-
AccessKey is the AWS API key. If not specified, the environment variable
AWS_ACCESS_KEY_ID
is used. - Type
-
object
- Required
-
key
-
Property | Type | Description |
---|---|---|
|
| The key of the secret to select from. Must be a valid secret key. |
|
|
Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Drop |
|
| Specify whether the Secret or its key must be defined |
8.1.73. .spec.alerting.alertmanagers[].sigv4.secretKey
- Description
-
SecretKey is the AWS API secret. If not specified, the environment variable
AWS_SECRET_ACCESS_KEY
is used. - Type
-
object
- Required
-
key
-
Property | Type | Description |
---|---|---|
|
| The key of the secret to select from. Must be a valid secret key. |
|
|
Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Drop |
|
| Specify whether the Secret or its key must be defined |
8.1.74. .spec.alerting.alertmanagers[].tlsConfig
- Description
- TLS Config to use for Alertmanager.
- Type
-
object
Property | Type | Description |
---|---|---|
|
| Certificate authority used when verifying server certificates. |
|
| Path to the CA cert in the Prometheus container to use for the targets. |
|
| Client certificate to present when doing client-authentication. |
|
| Path to the client cert file in the Prometheus container for the targets. |
|
| Disable target certificate validation. |
|
| Path to the client key file in the Prometheus container for the targets. |
|
| Secret containing the client key file for the targets. |
|
| Used to verify the hostname for the targets. |
8.1.75. .spec.alerting.alertmanagers[].tlsConfig.ca
- Description
- Certificate authority used when verifying server certificates.
- Type
-
object
Property | Type | Description |
---|---|---|
|
| ConfigMap containing data to use for the targets. |
|
| Secret containing data to use for the targets. |
8.1.76. .spec.alerting.alertmanagers[].tlsConfig.ca.configMap
- Description
- ConfigMap containing data to use for the targets.
- Type
-
object
- Required
-
key
-
Property | Type | Description |
---|---|---|
|
| The key to select. |
|
|
Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Drop |
|
| Specify whether the ConfigMap or its key must be defined |
8.1.77. .spec.alerting.alertmanagers[].tlsConfig.ca.secret
- Description
- Secret containing data to use for the targets.
- Type
-
object
- Required
-
key
-
Property | Type | Description |
---|---|---|
|
| The key of the secret to select from. Must be a valid secret key. |
|
|
Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Drop |
|
| Specify whether the Secret or its key must be defined |
8.1.78. .spec.alerting.alertmanagers[].tlsConfig.cert
- Description
- Client certificate to present when doing client-authentication.
- Type
-
object
Property | Type | Description |
---|---|---|
|
| ConfigMap containing data to use for the targets. |
|
| Secret containing data to use for the targets. |
8.1.79. .spec.alerting.alertmanagers[].tlsConfig.cert.configMap
- Description
- ConfigMap containing data to use for the targets.
- Type
-
object
- Required
-
key
-
Property | Type | Description |
---|---|---|
|
| The key to select. |
|
|
Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Drop |
|
| Specify whether the ConfigMap or its key must be defined |
8.1.80. .spec.alerting.alertmanagers[].tlsConfig.cert.secret
- Description
- Secret containing data to use for the targets.
- Type
-
object
- Required
-
key
-
Property | Type | Description |
---|---|---|
|
| The key of the secret to select from. Must be a valid secret key. |
|
|
Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Drop |
|
| Specify whether the Secret or its key must be defined |
8.1.81. .spec.alerting.alertmanagers[].tlsConfig.keySecret
- Description
- Secret containing the client key file for the targets.
- Type
-
object
- Required
-
key
-
Property | Type | Description |
---|---|---|
|
| The key of the secret to select from. Must be a valid secret key. |
|
|
Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Drop |
|
| Specify whether the Secret or its key must be defined |
8.1.82. .spec.apiserverConfig
- Description
- APIServerConfig allows specifying a host and auth methods to access the Kuberntees API server. If null, Prometheus is assumed to run inside of the cluster: it will discover the API servers automatically and use the Pod’s CA certificate and bearer token file at /var/run/secrets/kubernetes.io/serviceaccount/.
- Type
-
object
- Required
-
host
-
Property | Type | Description |
---|---|---|
|
| Authorization section for the API server.
Cannot be set at the same time as |
|
| BasicAuth configuration for the API server.
Cannot be set at the same time as |
|
|
Warning: this field shouldn’t be used because the token value appears in clear-text. Prefer using Deprecated: this will be removed in a future release. |
|
| File to read bearer token for accessing apiserver.
Cannot be set at the same time as
Deprecated: this will be removed in a future release. Prefer using |
|
| Kubernetes API address consisting of a hostname or IP address followed by an optional port number. |
|
| TLS Config to use for the API server. |
8.1.83. .spec.apiserverConfig.authorization
- Description
Authorization section for the API server.
Cannot be set at the same time as
basicAuth
,bearerToken
, orbearerTokenFile
.- Type
-
object
Property | Type | Description |
---|---|---|
|
| Selects a key of a Secret in the namespace that contains the credentials for authentication. |
|
|
File to read a secret from, mutually exclusive with |
|
| Defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. Default: "Bearer" |
8.1.84. .spec.apiserverConfig.authorization.credentials
- Description
- Selects a key of a Secret in the namespace that contains the credentials for authentication.
- Type
-
object
- Required
-
key
-
Property | Type | Description |
---|---|---|
|
| The key of the secret to select from. Must be a valid secret key. |
|
|
Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Drop |
|
| Specify whether the Secret or its key must be defined |
8.1.85. .spec.apiserverConfig.basicAuth
- Description
BasicAuth configuration for the API server.
Cannot be set at the same time as
authorization
,bearerToken
, orbearerTokenFile
.- Type
-
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
8.1.86. .spec.apiserverConfig.basicAuth.password
- Description
-
password
specifies a key of a Secret containing the password for authentication. - Type
-
object
- Required
-
key
-
Property | Type | Description |
---|---|---|
|
| The key of the secret to select from. Must be a valid secret key. |
|
|
Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Drop |
|
| Specify whether the Secret or its key must be defined |
8.1.87. .spec.apiserverConfig.basicAuth.username
- Description
-
username
specifies a key of a Secret containing the username for authentication. - Type
-
object
- Required
-
key
-
Property | Type | Description |
---|---|---|
|
| The key of the secret to select from. Must be a valid secret key. |
|
|
Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Drop |
|
| Specify whether the Secret or its key must be defined |
8.1.88. .spec.apiserverConfig.tlsConfig
- Description
- TLS Config to use for the API server.
- Type
-
object
Property | Type | Description |
---|---|---|
|
| Certificate authority used when verifying server certificates. |
|
| Path to the CA cert in the Prometheus container to use for the targets. |
|
| Client certificate to present when doing client-authentication. |
|
| Path to the client cert file in the Prometheus container for the targets. |
|
| Disable target certificate validation. |
|
| Path to the client key file in the Prometheus container for the targets. |
|
| Secret containing the client key file for the targets. |
|
| Used to verify the hostname for the targets. |
8.1.89. .spec.apiserverConfig.tlsConfig.ca
- Description
- Certificate authority used when verifying server certificates.
- Type
-
object
Property | Type | Description |
---|---|---|
|
| ConfigMap containing data to use for the targets. |
|
| Secret containing data to use for the targets. |
8.1.90. .spec.apiserverConfig.tlsConfig.ca.configMap
- Description
- ConfigMap containing data to use for the targets.
- Type
-
object
- Required
-
key
-
Property | Type | Description |
---|---|---|
|
| The key to select. |
|
|
Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Drop |
|
| Specify whether the ConfigMap or its key must be defined |
8.1.91. .spec.apiserverConfig.tlsConfig.ca.secret
- Description
- Secret containing data to use for the targets.
- Type
-
object
- Required
-
key
-
Property | Type | Description |
---|---|---|
|
| The key of the secret to select from. Must be a valid secret key. |
|
|
Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Drop |
|
| Specify whether the Secret or its key must be defined |
8.1.92. .spec.apiserverConfig.tlsConfig.cert
- Description
- Client certificate to present when doing client-authentication.
- Type
-
object
Property | Type | Description |
---|---|---|
|
| ConfigMap containing data to use for the targets. |
|
| Secret containing data to use for the targets. |
8.1.93. .spec.apiserverConfig.tlsConfig.cert.configMap
- Description
- ConfigMap containing data to use for the targets.
- Type
-
object
- Required
-
key
-
Property | Type | Description |
---|---|---|
|
| The key to select. |
|
|
Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Drop |
|
| Specify whether the ConfigMap or its key must be defined |
8.1.94. .spec.apiserverConfig.tlsConfig.cert.secret
- Description
- Secret containing data to use for the targets.
- Type
-
object
- Required
-
key
-
Property | Type | Description |
---|---|---|
|
| The key of the secret to select from. Must be a valid secret key. |
|
|
Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Drop |
|
| Specify whether the Secret or its key must be defined |
8.1.95. .spec.apiserverConfig.tlsConfig.keySecret
- Description
- Secret containing the client key file for the targets.
- Type
-
object
- Required
-
key
-
Property | Type | Description |
---|---|---|
|
| The key of the secret to select from. Must be a valid secret key. |
|
|
Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Drop |
|
| Specify whether the Secret or its key must be defined |
8.1.96. .spec.arbitraryFSAccessThroughSMs
- Description
-
When true, ServiceMonitor, PodMonitor and Probe object are forbidden to reference arbitrary files on the file system of the 'prometheus' container. When a ServiceMonitor’s endpoint specifies a
bearerTokenFile
value (e.g. '/var/run/secrets/kubernetes.io/serviceaccount/token'), a malicious target can get access to the Prometheus service account’s token in the Prometheus' scrape request. Settingspec.arbitraryFSAccessThroughSM
to 'true' would prevent the attack. Users should instead provide the credentials using thespec.bearerTokenSecret
field. - Type
-
object
Property | Type | Description |
---|---|---|
|
|
8.1.97. .spec.containers
- Description
Containers allows injecting additional containers or modifying operator generated containers. This can be used to allow adding an authentication proxy to the Pods or to change the behavior of an operator generated container. Containers described here modify an operator generated container if they share the same name and modifications are done via a strategic merge patch.
The names of containers managed by the operator are: *
prometheus
*config-reloader
*thanos-sidecar
Overriding containers is entirely outside the scope of what the maintainers will support and by doing so, you accept that this behaviour may break at any time without notice.
- Type
-
array
8.1.98. .spec.containers[]
- Description
- A single application container that you want to run within a pod.
- Type
-
object
- Required
-
name
-
Property | Type | Description |
---|---|---|
|
| Arguments to the entrypoint. The container image’s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container’s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
|
| Entrypoint array. Not executed within a shell. The container image’s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container’s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
|
| List of environment variables to set in the container. Cannot be updated. |
|
| EnvVar represents an environment variable present in a Container. |
|
| List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. |
|
| EnvFromSource represents the source of a set of ConfigMaps |
|
| Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets. |
|
| Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images |
|
| Actions that the management system should take in response to container lifecycle events. Cannot be updated. |
|
| Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
| Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. |
|
| List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default "0.0.0.0" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. |
|
| ContainerPort represents a network port in a single container. |
|
| Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
| Resources resize policy for the container. |
|
| ContainerResizePolicy represents resource resize policy for the container. |
|
| Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
|
| RestartPolicy defines the restart behavior of individual containers in a pod. This field may only be set for init containers, and the only allowed value is "Always". For non-init containers or when this field is not specified, the restart behavior is defined by the Pod’s restart policy and the container type. Setting the RestartPolicy as "Always" for the init container will have the following effect: this init container will be continually restarted on exit until all regular containers have terminated. Once all regular containers have completed, all init containers with restartPolicy "Always" will be shut down. This lifecycle differs from normal init containers and is often referred to as a "sidecar" container. Although this init container still starts in the init container sequence, it does not wait for the container to complete before proceeding to the next init container. Instead, the next init container starts immediately after this init container is started, or after any startupProbe has successfully completed. |
|
| SecurityContext defines the security options the container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ |
|
| StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod’s lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
| Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. |
|
| Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false |
|
| Optional: Path at which the file to which the container’s termination message will be written is mounted into the container’s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. |
|
| Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. |
|
| Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. |
|
| volumeDevices is the list of block devices to be used by the container. |
|
| volumeDevice describes a mapping of a raw block device within a container. |
|
| Pod volumes to mount into the container’s filesystem. Cannot be updated. |
|
| VolumeMount describes a mounting of a Volume within a container. |
|
| Container’s working directory. If not specified, the container runtime’s default will be used, which might be configured in the container image. Cannot be updated. |
8.1.99. .spec.containers[].env
- Description
- List of environment variables to set in the container. Cannot be updated.
- Type
-
array
8.1.100. .spec.containers[].env[]
- Description
- EnvVar represents an environment variable present in a Container.
- Type
-
object
- Required
-
name
-
Property | Type | Description |
---|---|---|
|
| Name of the environment variable. Must be a C_IDENTIFIER. |
|
| Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "". |
|
| Source for the environment variable’s value. Cannot be used if value is not empty. |
8.1.101. .spec.containers[].env[].valueFrom
- Description
- Source for the environment variable’s value. Cannot be used if value is not empty.
- Type
-
object
Property | Type | Description |
---|---|---|
|
| Selects a key of a ConfigMap. |
|
|
Selects a field of the pod: supports metadata.name, metadata.namespace, |
|
| Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. |
|
| Selects a key of a secret in the pod’s namespace |
8.1.102. .spec.containers[].env[].valueFrom.configMapKeyRef
- Description
- Selects a key of a ConfigMap.
- Type
-
object
- Required
-
key
-
Property | Type | Description |
---|---|---|
|
| The key to select. |
|
|
Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Drop |
|
| Specify whether the ConfigMap or its key must be defined |
8.1.103. .spec.containers[].env[].valueFrom.fieldRef
- Description
-
Selects a field of the pod: supports metadata.name, metadata.namespace,
metadata.labels['<KEY>']
,metadata.annotations['<KEY>']
, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. - Type
-
object
- Required
-
fieldPath
-
Property | Type | Description |
---|---|---|
|
| Version of the schema the FieldPath is written in terms of, defaults to "v1". |
|
| Path of the field to select in the specified API version. |
8.1.104. .spec.containers[].env[].valueFrom.resourceFieldRef
- Description
- Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.
- Type
-
object
- Required
-
resource
-
Property | Type | Description |
---|---|---|
|
| Container name: required for volumes, optional for env vars |
|
| Specifies the output format of the exposed resources, defaults to "1" |
|
| Required: resource to select |
8.1.105. .spec.containers[].env[].valueFrom.secretKeyRef
- Description
- Selects a key of a secret in the pod’s namespace
- Type
-
object
- Required
-
key
-
Property | Type | Description |
---|---|---|
|
| The key of the secret to select from. Must be a valid secret key. |
|
|
Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Drop |
|
| Specify whether the Secret or its key must be defined |
8.1.106. .spec.containers[].envFrom
- Description
- List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.
- Type
-
array
8.1.107. .spec.containers[].envFrom[]
- Description
- EnvFromSource represents the source of a set of ConfigMaps
- Type
-
object
Property | Type | Description |
---|---|---|
|
| The ConfigMap to select from |
|
| An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. |
|
| The Secret to select from |
8.1.108. .spec.containers[].envFrom[].configMapRef
- Description
- The ConfigMap to select from
- Type
-
object
Property | Type | Description |
---|---|---|
|
|
Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Drop |
|
| Specify whether the ConfigMap must be defined |
8.1.109. .spec.containers[].envFrom[].secretRef
- Description
- The Secret to select from
- Type
-
object
Property | Type | Description |
---|---|---|
|
|
Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Drop |
|
| Specify whether the Secret must be defined |
8.1.110. .spec.containers[].lifecycle
- Description
- Actions that the management system should take in response to container lifecycle events. Cannot be updated.
- Type
-
object
Property | Type | Description |
---|---|---|
|
| PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks |
|
| PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The Pod’s termination grace period countdown begins before the PreStop hook is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod’s termination grace period (unless delayed by finalizers). Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks |
8.1.111. .spec.containers[].lifecycle.postStart
- Description
- PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
- Type
-
object
Property | Type | Description |
---|---|---|
|
| Exec specifies the action to take. |
|
| HTTPGet specifies the http request to perform. |
|
| Sleep represents the duration that the container should sleep before being terminated. |
|
| Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. |
8.1.112. .spec.containers[].lifecycle.postStart.exec
- Description
- Exec specifies the action to take.
- Type
-
object
Property | Type | Description |
---|---|---|
|
| Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container’s filesystem. The command is simply exec’d, it is not run inside a shell, so traditional shell instructions ('|', etc) won’t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. |
8.1.113. .spec.containers[].lifecycle.postStart.httpGet
- Description
- HTTPGet specifies the http request to perform.
- Type
-
object
- Required
-
port
-
Property | Type | Description |
---|---|---|
|
| Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. |
|
| Custom headers to set in the request. HTTP allows repeated headers. |
|
| HTTPHeader describes a custom header to be used in HTTP probes |
|
| Path to access on the HTTP server. |
|
| Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. |
|
| Scheme to use for connecting to the host. Defaults to HTTP. |
8.1.114. .spec.containers[].lifecycle.postStart.httpGet.httpHeaders
- Description
- Custom headers to set in the request. HTTP allows repeated headers.
- Type
-
array
8.1.115. .spec.containers[].lifecycle.postStart.httpGet.httpHeaders[]
- Description
- HTTPHeader describes a custom header to be used in HTTP probes
- Type
-
object
- Required
-
name
-
value
-
Property | Type | Description |
---|---|---|
|
| The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header. |
|
| The header field value |
8.1.116. .spec.containers[].lifecycle.postStart.sleep
- Description
- Sleep represents the duration that the container should sleep before being terminated.
- Type
-
object
- Required
-
seconds
-
Property | Type | Description |
---|---|---|
|
| Seconds is the number of seconds to sleep. |
8.1.117. .spec.containers[].lifecycle.postStart.tcpSocket
- Description
- Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified.
- Type
-
object
- Required
-
port
-
Property | Type | Description |
---|---|---|
|
| Optional: Host name to connect to, defaults to the pod IP. |
|
| Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. |
8.1.118. .spec.containers[].lifecycle.preStop
- Description
- PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The Pod’s termination grace period countdown begins before the PreStop hook is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod’s termination grace period (unless delayed by finalizers). Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
- Type
-
object
Property | Type | Description |
---|---|---|
|
| Exec specifies the action to take. |
|
| HTTPGet specifies the http request to perform. |
|
| Sleep represents the duration that the container should sleep before being terminated. |
|
| Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. |
8.1.119. .spec.containers[].lifecycle.preStop.exec
- Description
- Exec specifies the action to take.
- Type
-
object
Property | Type | Description |
---|---|---|
|
| Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container’s filesystem. The command is simply exec’d, it is not run inside a shell, so traditional shell instructions ('|', etc) won’t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. |
8.1.120. .spec.containers[].lifecycle.preStop.httpGet
- Description
- HTTPGet specifies the http request to perform.
- Type
-
object
- Required
-
port
-
Property | Type | Description |
---|---|---|
|
| Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. |
|
| Custom headers to set in the request. HTTP allows repeated headers. |
|
| HTTPHeader describes a custom header to be used in HTTP probes |
|
| Path to access on the HTTP server. |
|
| Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. |
|
| Scheme to use for connecting to the host. Defaults to HTTP. |
8.1.121. .spec.containers[].lifecycle.preStop.httpGet.httpHeaders
- Description
- Custom headers to set in the request. HTTP allows repeated headers.
- Type
-
array
8.1.122. .spec.containers[].lifecycle.preStop.httpGet.httpHeaders[]
- Description
- HTTPHeader describes a custom header to be used in HTTP probes
- Type
-
object
- Required
-
name
-
value
-
Property | Type | Description |
---|---|---|
|
| The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header. |
|
| The header field value |
8.1.123. .spec.containers[].lifecycle.preStop.sleep
- Description
- Sleep represents the duration that the container should sleep before being terminated.
- Type
-
object
- Required
-
seconds
-
Property | Type | Description |
---|---|---|
|
| Seconds is the number of seconds to sleep. |
8.1.124. .spec.containers[].lifecycle.preStop.tcpSocket
- Description
- Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified.
- Type
-
object
- Required
-
port
-
Property | Type | Description |
---|---|---|
|
| Optional: Host name to connect to, defaults to the pod IP. |
|
| Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. |
8.1.125. .spec.containers[].livenessProbe
- Description
- Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
- Type
-
object
Property | Type | Description |
---|---|---|
|
| Exec specifies the action to take. |
|
| Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. |
|
| GRPC specifies an action involving a GRPC port. |
|
| HTTPGet specifies the http request to perform. |
|
| Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
| How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. |
|
| Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. |
|
| TCPSocket specifies an action involving a TCP port. |
|
| Optional duration in seconds the pod needs to terminate gracefully upon probe failure. 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. If this value is nil, the pod’s terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. |
|
| Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
8.1.126. .spec.containers[].livenessProbe.exec
- Description
- Exec specifies the action to take.
- Type
-
object
Property | Type | Description |
---|---|---|
|
| Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container’s filesystem. The command is simply exec’d, it is not run inside a shell, so traditional shell instructions ('|', etc) won’t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. |
8.1.127. .spec.containers[].livenessProbe.grpc
- Description
- GRPC specifies an action involving a GRPC port.
- Type
-
object
- Required
-
port
-
Property | Type | Description |
---|---|---|
|
| Port number of the gRPC service. Number must be in the range 1 to 65535. |
|
| Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). If this is not specified, the default behavior is defined by gRPC. |
8.1.128. .spec.containers[].livenessProbe.httpGet
- Description
- HTTPGet specifies the http request to perform.
- Type
-
object
- Required
-
port
-
Property | Type | Description |
---|---|---|
|
| Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. |
|
| Custom headers to set in the request. HTTP allows repeated headers. |
|
| HTTPHeader describes a custom header to be used in HTTP probes |
|
| Path to access on the HTTP server. |
|
| Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. |
|
| Scheme to use for connecting to the host. Defaults to HTTP. |
8.1.129. .spec.containers[].livenessProbe.httpGet.httpHeaders
- Description
- Custom headers to set in the request. HTTP allows repeated headers.
- Type
-
array
8.1.130. .spec.containers[].livenessProbe.httpGet.httpHeaders[]
- Description
- HTTPHeader describes a custom header to be used in HTTP probes
- Type
-
object
- Required
-
name
-
value
-
Property | Type | Description |
---|---|---|
|
| The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header. |
|
| The header field value |
8.1.131. .spec.containers[].livenessProbe.tcpSocket
- Description
- TCPSocket specifies an action involving a TCP port.
- Type
-
object
- Required
-
port
-
Property | Type | Description |
---|---|---|
|
| Optional: Host name to connect to, defaults to the pod IP. |
|
| Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. |
8.1.132. .spec.containers[].ports
- Description
- List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default "0.0.0.0" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated.
- Type
-
array
8.1.133. .spec.containers[].ports[]
- Description
- ContainerPort represents a network port in a single container.
- Type
-
object
- Required
-
containerPort
-
Property | Type | Description |
---|---|---|
|
| Number of port to expose on the pod’s IP address. This must be a valid port number, 0 < x < 65536. |
|
| What host IP to bind the external port to. |
|
| Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. |
|
| If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. |
|
| Protocol for port. Must be UDP, TCP, or SCTP. Defaults to "TCP". |
8.1.134. .spec.containers[].readinessProbe
- Description
- Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
- Type
-
object
Property | Type | Description |
---|---|---|
|
| Exec specifies the action to take. |
|
| Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. |
|
| GRPC specifies an action involving a GRPC port. |
|
| HTTPGet specifies the http request to perform. |
|
| Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
| How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. |
|
| Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. |
|
| TCPSocket specifies an action involving a TCP port. |
|
| Optional duration in seconds the pod needs to terminate gracefully upon probe failure. 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. If this value is nil, the pod’s terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. |
|
| Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
8.1.135. .spec.containers[].readinessProbe.exec
- Description
- Exec specifies the action to take.
- Type
-
object
Property | Type | Description |
---|---|---|
|
| Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container’s filesystem. The command is simply exec’d, it is not run inside a shell, so traditional shell instructions ('|', etc) won’t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. |
8.1.136. .spec.containers[].readinessProbe.grpc
- Description
- GRPC specifies an action involving a GRPC port.
- Type
-
object
- Required
-
port
-
Property | Type | Description |
---|---|---|
|
| Port number of the gRPC service. Number must be in the range 1 to 65535. |
|
| Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). If this is not specified, the default behavior is defined by gRPC. |
8.1.137. .spec.containers[].readinessProbe.httpGet
- Description
- HTTPGet specifies the http request to perform.
- Type
-
object
- Required
-
port
-
Property | Type | Description |
---|---|---|
|
| Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. |
|
| Custom headers to set in the request. HTTP allows repeated headers. |
|
| HTTPHeader describes a custom header to be used in HTTP probes |
|
| Path to access on the HTTP server. |
|
| Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. |
|
| Scheme to use for connecting to the host. Defaults to HTTP. |
8.1.138. .spec.containers[].readinessProbe.httpGet.httpHeaders
- Description
- Custom headers to set in the request. HTTP allows repeated headers.
- Type
-
array
8.1.139. .spec.containers[].readinessProbe.httpGet.httpHeaders[]
- Description
- HTTPHeader describes a custom header to be used in HTTP probes
- Type
-
object
- Required
-
name
-
value
-
Property | Type | Description |
---|---|---|
|
| The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header. |
|
| The header field value |
8.1.140. .spec.containers[].readinessProbe.tcpSocket
- Description
- TCPSocket specifies an action involving a TCP port.
- Type
-
object
- Required
-
port
-
Property | Type | Description |
---|---|---|
|
| Optional: Host name to connect to, defaults to the pod IP. |
|
| Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. |
8.1.141. .spec.containers[].resizePolicy
- Description
- Resources resize policy for the container.
- Type
-
array
8.1.142. .spec.containers[].resizePolicy[]
- Description
- ContainerResizePolicy represents resource resize policy for the container.
- Type
-
object
- Required
-
resourceName
-
restartPolicy
-
Property | Type | Description |
---|---|---|
|
| Name of the resource to which this resource resize policy applies. Supported values: cpu, memory. |
|
| Restart policy to apply when specified resource is resized. If not specified, it defaults to NotRequired. |
8.1.143. .spec.containers[].resources
- Description
- Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
-
object
Property | Type | Description |
---|---|---|
|
| 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. |