diff --git a/stable/prometheus-operator/Chart.yaml b/stable/prometheus-operator/Chart.yaml index c560114a23..72dc7150f2 100644 --- a/stable/prometheus-operator/Chart.yaml +++ b/stable/prometheus-operator/Chart.yaml @@ -9,7 +9,7 @@ name: prometheus-operator sources: - https://github.com/coreos/prometheus-operator - https://coreos.com/operators/prometheus -version: 1.8.0 +version: 1.8.1 appVersion: 0.26.0 home: https://github.com/coreos/prometheus-operator keywords: diff --git a/stable/prometheus-operator/README.md b/stable/prometheus-operator/README.md index 914b67d630..dcab697a61 100644 --- a/stable/prometheus-operator/README.md +++ b/stable/prometheus-operator/README.md @@ -152,6 +152,7 @@ The following tables lists the configurable parameters of the prometheus-operato | `prometheus.prometheusSpec.secrets` | Secrets is a list of Secrets in the same namespace as the Prometheus object, which shall be mounted into the Prometheus Pods. The Secrets are mounted into /etc/prometheus/secrets/. Secrets changes after initial creation of a Prometheus object are not reflected in the running Pods. To change the secrets mounted into the Prometheus Pods, the object must be deleted and recreated with the new list of secrets. | `[]` | | `prometheus.prometheusSpec.configMaps` | ConfigMaps is a list of ConfigMaps in the same namespace as the Prometheus object, which shall be mounted into the Prometheus Pods. The ConfigMaps are mounted into /etc/prometheus/configmaps/ | `[]` | |`prometheus.prometheusSpec.podAntiAffinity` | Pod anti-affinity can prevent the scheduler from placing Prometheus replicas on the same node. The default value "soft" means that the scheduler should *prefer* to not schedule two replica pods onto the same node but no guarantee is provided. The value "hard" means that the scheduler is *required* to not schedule two replica pods onto the same node. The value "" will disable pod anti-affinity so that no anti-affinity rules will be configured. | `""` | +|`prometheus.prometheusSpec.podAntiAffinityTopologyKey` | If anti-affinity is enabled sets the topologyKey to use for anti-affinity. This can be changed to, for example `failure-domain.beta.kubernetes.io/zone`| `kubernetes.io/hostname` | | `prometheus.prometheusSpec.tolerations` | If specified, the pod's tolerations. | `[]` | | `prometheus.prometheusSpec.remoteWrite` | If specified, the remote_write spec. This is an experimental feature, it may change in any upcoming release in a breaking way. | `[]` | | `prometheus.prometheusSpec.remoteRead` | If specified, the remote_read spec. This is an experimental feature, it may change in any upcoming release in a breaking way. | `[]` | @@ -203,6 +204,7 @@ The following tables lists the configurable parameters of the prometheus-operato | `alertmanager.alertmanagerSpec.nodeSelector` | Define which Nodes the Pods are scheduled on. | `{}` | | `alertmanager.alertmanagerSpec.resources` | Define resources requests and limits for single Pods. | `{}` | | `alertmanager.alertmanagerSpec.podAntiAffinity` | Pod anti-affinity can prevent the scheduler from placing Prometheus replicas on the same node. The default value "soft" means that the scheduler should *prefer* to not schedule two replica pods onto the same node but no guarantee is provided. The value "hard" means that the scheduler is *required* to not schedule two replica pods onto the same node. The value "" will disable pod anti-affinity so that no anti-affinity rules will be configured. | `""` | +|`prometheus.prometheusSpec.podAntiAffinityTopologyKey` | If anti-affinity is enabled sets the topologyKey to use for anti-affinity. This can be changed to, for example `failure-domain.beta.kubernetes.io/zone`| `kubernetes.io/hostname` | | `alertmanager.alertmanagerSpec.tolerations` | If specified, the pod's tolerations. | `[]` | | `alertmanager.alertmanagerSpec.securityContext` | SecurityContext holds pod-level security attributes and common container settings. This defaults to non root user with uid 1000 and gid 2000 in order to support migration from operator version < 0.26 | `{"runAsNonRoot": true, "runAsUser": 1000, "fsGroup": 2000}` | | `alertmanager.alertmanagerSpec.listenLocal` | ListenLocal makes the Alertmanager server listen on loopback, so that it does not bind against the Pod IP. Note this is only for the Alertmanager UI, not the gossip communication. | `false` | diff --git a/stable/prometheus-operator/ci/test-values.yaml b/stable/prometheus-operator/ci/test-values.yaml index 8398d4f70e..f8bcd8ab16 100644 --- a/stable/prometheus-operator/ci/test-values.yaml +++ b/stable/prometheus-operator/ci/test-values.yaml @@ -129,11 +129,19 @@ alertmanager: ## service: annotations: {} - ## Port to expose on each node - ## Only used if service.type is 'NodePort' - ## - nodePort: 30903 + labels: {} + clusterIP: "" + ## Port to expose on each node + ## Only used if service.type is 'NodePort' + ## + nodePort: 30903 + ## List of IP addresses at which the Prometheus server service is available + ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips + ## + externalIPs: [] + loadBalancerIP: "" + loadBalancerSourceRanges: [] ## Service type ## type: ClusterIP @@ -227,6 +235,11 @@ alertmanager: ## podAntiAffinity: "" + ## If anti-affinity is enabled sets the topologyKey to use for anti-affinity. + ## This can be changed to, for example, failure-domain.beta.kubernetes.io/zone + ## + podAntiAffinityTopologyKey: kubernetes.io/hostname + ## If specified, the pod's tolerations. ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ ## @@ -480,19 +493,39 @@ prometheusOperator: ## Configuration for Prometheus operator service ## service: - ## Port to expose on each node - ## Only used if service.type is 'NodePort' - ## + annotations: {} + labels: {} + clusterIP: "" + + ## Port to expose on each node + ## Only used if service.type is 'NodePort' + ## nodePort: 38080 - ## Service type - ## + + ## Loadbalancer IP + ## Only use if service.type is "loadbalancer" + ## + loadBalancerIP: "" + loadBalancerSourceRanges: [] + + ## Service type + ## NodepPort, ClusterIP, loadbalancer + ## type: ClusterIP + ## List of IP addresses at which the Prometheus server service is available + ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips + ## + externalIPs: [] + ## Deploy CRDs used by Prometheus Operator. ## createCustomResource: true + ## Customize CRDs API Group + crdApiGroup: monitoring.coreos.com + ## Attempt to clean up CRDs created by Prometheus Operator. ## cleanupCustomResource: true @@ -600,12 +633,23 @@ prometheus: ## service: annotations: {} + labels: {} + clusterIP: "" + + ## List of IP addresses at which the Prometheus server service is available + ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips + ## + externalIPs: [] ## Port to expose on each node ## Only used if service.type is 'NodePort' ## nodePort: 39090 + ## Loadbalancer IP + ## Only use if service.type is "loadbalancer" + loadBalancerIP: "" + loadBalancerSourceRanges: [] ## Service type ## type: ClusterIP @@ -808,6 +852,11 @@ prometheus: ## The value "" will disable pod anti-affinity so that no anti-affinity rules will be configured. podAntiAffinity: "" + ## If anti-affinity is enabled sets the topologyKey to use for anti-affinity. + ## This can be changed to, for example, failure-domain.beta.kubernetes.io/zone + ## + podAntiAffinityTopologyKey: kubernetes.io/hostname + ## The remote_read spec configuration for Prometheus. ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#remotereadspec remoteRead: {} diff --git a/stable/prometheus-operator/templates/alertmanager/alertmanager.yaml b/stable/prometheus-operator/templates/alertmanager/alertmanager.yaml index 6446646697..8a78d43442 100644 --- a/stable/prometheus-operator/templates/alertmanager/alertmanager.yaml +++ b/stable/prometheus-operator/templates/alertmanager/alertmanager.yaml @@ -62,7 +62,7 @@ spec: affinity: podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: - - topologyKey: kubernetes.io/hostname + - topologyKey: {{ .Values.prometheus.alertmanagerSpec.podAntiAffinityTopologyKey }} labelSelector: matchLabels: app: alertmanager @@ -73,7 +73,7 @@ spec: preferredDuringSchedulingIgnoredDuringExecution: - weight: 100 podAffinityTerm: - topologyKey: kubernetes.io/hostname + topologyKey: {{ .Values.prometheus.alertmanagerSpec.podAntiAffinityTopologyKey }} labelSelector: matchLabels: app: alertmanager diff --git a/stable/prometheus-operator/templates/prometheus/prometheus.yaml b/stable/prometheus-operator/templates/prometheus/prometheus.yaml index 509142e2be..f528b2e151 100644 --- a/stable/prometheus-operator/templates/prometheus/prometheus.yaml +++ b/stable/prometheus-operator/templates/prometheus/prometheus.yaml @@ -119,7 +119,7 @@ spec: affinity: podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: - - topologyKey: kubernetes.io/hostname + - topologyKey: {{ .Values.prometheus.prometheusSpec.podAntiAffinityTopologyKey }} labelSelector: matchLabels: app: prometheus @@ -130,7 +130,7 @@ spec: preferredDuringSchedulingIgnoredDuringExecution: - weight: 100 podAffinityTerm: - topologyKey: kubernetes.io/hostname + topologyKey: {{ .Values.prometheus.prometheusSpec.podAntiAffinityTopologyKey }} labelSelector: matchLabels: app: prometheus diff --git a/stable/prometheus-operator/values.yaml b/stable/prometheus-operator/values.yaml index 20b25696e6..ecf931c212 100644 --- a/stable/prometheus-operator/values.yaml +++ b/stable/prometheus-operator/values.yaml @@ -235,6 +235,11 @@ alertmanager: ## podAntiAffinity: "" + ## If anti-affinity is enabled sets the topologyKey to use for anti-affinity. + ## This can be changed to, for example, failure-domain.beta.kubernetes.io/zone + ## + podAntiAffinityTopologyKey: kubernetes.io/hostname + ## If specified, the pod's tolerations. ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ ## @@ -847,6 +852,11 @@ prometheus: ## The value "" will disable pod anti-affinity so that no anti-affinity rules will be configured. podAntiAffinity: "" + ## If anti-affinity is enabled sets the topologyKey to use for anti-affinity. + ## This can be changed to, for example, failure-domain.beta.kubernetes.io/zone + ## + podAntiAffinityTopologyKey: kubernetes.io/hostname + ## The remote_read spec configuration for Prometheus. ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#remotereadspec remoteRead: {}