mirror of
https://github.com/wahyd4/helm-charts.git
synced 2026-08-09 04:26:02 +10:00
[kube-prometheus-stack] Update prometheus-operator to v0.43.0 (#280)
* [kube-prometheus-stack] Update prometheus-operator to v0.43.0 As part of updating prometheus operator to v0.43.0 - Updated CRDs - Updated RBAC - Updated docs - Removed tlsProxy and enabled native TLS support - Replaced deprecated fields in `Alertmanager` and `Prometheus` objects - Conditionally removed `--config-reloader-image` when using >=v0.43.0 Signed-off-by: Bismarck Paliz <bismarck.paliz@jet.com> * Removed `manageCrds` and `cleanupCustomResource` options Signed-off-by: Bismarck Paliz <bismarck.paliz@jet.com> * Remove `createCustomResource` option Signed-off-by: Bismarck Paliz <bismarck.paliz@jet.com> * More doc updates Signed-off-by: Bismarck Paliz <bismarck.paliz@jet.com> * Bumping version of kube-webhook-certgen to v1.5.0 Signed-off-by: Bismarck Paliz <bismarck.paliz@jet.com>
This commit is contained in:
@@ -17,8 +17,8 @@ name: kube-prometheus-stack
|
||||
sources:
|
||||
- https://github.com/prometheus-community/helm-charts
|
||||
- https://github.com/prometheus-operator/kube-prometheus
|
||||
version: 10.3.5
|
||||
appVersion: 0.42.1
|
||||
version: 11.0.0
|
||||
appVersion: 0.43.0
|
||||
tillerVersion: ">=2.12.0"
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
home: https://github.com/prometheus-operator/kube-prometheus
|
||||
|
||||
@@ -8,8 +8,8 @@ _Note: This chart was formerly named `prometheus-operator` chart, now renamed to
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Kubernetes 1.10+ with Beta APIs
|
||||
- Helm 2.12+ (If using Helm < 2.14, [see below for CRD workaround](#Helm-fails-to-create-CRDs))
|
||||
- Kubernetes 1.16+
|
||||
- Helm 2.12+ (If using Helm 2, [see below for CRD workaround](#Helm-fails-to-create-CRDs))
|
||||
|
||||
## Get Repo Info
|
||||
|
||||
@@ -40,7 +40,7 @@ _See [helm install](https://helm.sh/docs/helm/helm_install/) for command documen
|
||||
By default this chart installs additional, dependent charts:
|
||||
|
||||
- [stable/kube-state-metrics](https://github.com/helm/charts/tree/master/stable/kube-state-metrics)
|
||||
- [stable/prometheus-node-exporter](https://github.com/prometheus-community/helm-charts/tree/main/charts/prometheus-node-exporter)
|
||||
- [prometheus-community/prometheus-node-exporter](https://github.com/prometheus-community/helm-charts/tree/main/charts/prometheus-node-exporter)
|
||||
- [grafana/grafana](https://github.com/grafana/helm-charts/tree/main/charts/grafana)
|
||||
|
||||
To disable dependencies during installation, see [multiple releases](#multiple-releases) below.
|
||||
@@ -64,13 +64,14 @@ _See [helm uninstall](https://helm.sh/docs/helm/helm_uninstall/) for command doc
|
||||
CRDs created by this chart are not removed by default and should be manually cleaned up:
|
||||
|
||||
```console
|
||||
kubectl delete crd alertmanagerconfigs.monitoring.coreos.com
|
||||
kubectl delete crd alertmanagers.monitoring.coreos.com
|
||||
kubectl delete crd podmonitors.monitoring.coreos.com
|
||||
kubectl delete crd probes.monitoring.coreos.com
|
||||
kubectl delete crd prometheuses.monitoring.coreos.com
|
||||
kubectl delete crd prometheusrules.monitoring.coreos.com
|
||||
kubectl delete crd servicemonitors.monitoring.coreos.com
|
||||
kubectl delete crd podmonitors.monitoring.coreos.com
|
||||
kubectl delete crd alertmanagers.monitoring.coreos.com
|
||||
kubectl delete crd thanosrulers.monitoring.coreos.com
|
||||
kubectl delete crd probes.monitoring.coreos.com
|
||||
```
|
||||
|
||||
## Upgrading Chart
|
||||
@@ -88,11 +89,17 @@ A major chart version change (like v1.2.3 -> v2.0.0) indicates that there is an
|
||||
|
||||
### From 10.x to 11.x
|
||||
|
||||
Version 11 will remove the deprecated tlsProxy via ghostunnel in favor of native TLS support the prometheus-operator has gained with v0.39.0.
|
||||
Version 11 upgrades prometheus-operator from 0.42.x to 0.43.x. Starting with 0.43.x an additional `AlertmanagerConfigs` CRD is introduced. Helm does not automatically upgrade or install new CRDs on a chart upgrade, so you have to install the CRD manually before updating:
|
||||
|
||||
```console
|
||||
kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/release-0.43/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagerconfigs.yaml
|
||||
```
|
||||
|
||||
Version 11 removes the deprecated tlsProxy via ghostunnel in favor of native TLS support the prometheus-operator gained with v0.39.0.
|
||||
|
||||
### From 9.x to 10.x
|
||||
|
||||
Version 10 upgrades prometheus-operator to from 0.38.x 0.42.x. Starting with 0.40.x an additional `Probes` CRD is introduced. Helm does not automatically upgrade or install new CRDs on a chart upgrade, so you have to install the CRD manually before updating:
|
||||
Version 10 upgrades prometheus-operator from 0.38.x to 0.42.x. Starting with 0.40.x an additional `Probes` CRD is introduced. Helm does not automatically upgrade or install new CRDs on a chart upgrade, so you have to install the CRD manually before updating:
|
||||
|
||||
```console
|
||||
kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/release-0.42/example/prometheus-operator-crd/monitoring.coreos.com_probes.yaml
|
||||
@@ -106,13 +113,13 @@ Version 9 of the helm chart removes the existing `additionalScrapeConfigsExterna
|
||||
|
||||
Due to new template functions being used in the rules in version 8.x.x of the chart, an upgrade to Prometheus Operator and Prometheus is necessary in order to support them. First, upgrade to the latest version of 7.x.x
|
||||
|
||||
```sh
|
||||
```console
|
||||
helm upgrade [RELEASE_NAME] prometheus-community/kube-prometheus-stack --version 7.5.0
|
||||
```
|
||||
|
||||
Then upgrade to 8.x.x
|
||||
|
||||
```sh
|
||||
```console
|
||||
helm upgrade [RELEASE_NAME] prometheus-community/kube-prometheus-stack --version [8.x.x]
|
||||
```
|
||||
|
||||
@@ -158,22 +165,23 @@ Alternatively, you can disable the hooks by setting `prometheusOperator.admissio
|
||||
|
||||
### Helm fails to create CRDs
|
||||
|
||||
You should upgrade to Helm 2.14 + in order to avoid this issue. However, if you are stuck with an earlier Helm release you should instead use the following approach: Due to a bug in helm, it is possible for the 5 CRDs that are created by this chart to fail to get fully deployed before Helm attempts to create resources that require them. This affects all versions of Helm with a [potential fix pending](https://github.com/helm/helm/pull/5112). In order to work around this issue when installing the chart you will need to make sure all 5 CRDs exist in the cluster first and disable their previsioning by the chart:
|
||||
Version 10 updated the api version of the CRDs to `apiextensions.k8s.io/v1`, which Helm 2 is [unable](https://github.com/helm/helm/issues/6783) to install. You will need to make sure all 8 CRDs exist in the cluster first:
|
||||
|
||||
1. Create CRDs
|
||||
|
||||
```console
|
||||
kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/release-0.42/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagers.yaml
|
||||
kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/release-0.42/example/prometheus-operator-crd/monitoring.coreos.com_podmonitors.yaml
|
||||
kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/release-0.42/example/prometheus-operator-crd/monitoring.coreos.com_prometheuses.yaml
|
||||
kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/release-0.42/example/prometheus-operator-crd/monitoring.coreos.com_prometheusrules.yaml
|
||||
kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/release-0.42/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml
|
||||
kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/release-0.42/example/prometheus-operator-crd/monitoring.coreos.com_thanosrulers.yaml
|
||||
kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/release-0.42/example/prometheus-operator-crd/monitoring.coreos.com_probes.yaml
|
||||
kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/release-0.43/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagerconfigs.yaml
|
||||
kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/release-0.43/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagers.yaml
|
||||
kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/release-0.43/example/prometheus-operator-crd/monitoring.coreos.com_podmonitors.yaml
|
||||
kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/release-0.43/example/prometheus-operator-crd/monitoring.coreos.com_probes.yaml
|
||||
kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/release-0.43/example/prometheus-operator-crd/monitoring.coreos.com_prometheuses.yaml
|
||||
kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/release-0.43/example/prometheus-operator-crd/monitoring.coreos.com_prometheusrules.yaml
|
||||
kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/release-0.43/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml
|
||||
kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/release-0.43/example/prometheus-operator-crd/monitoring.coreos.com_thanosrulers.yaml
|
||||
```
|
||||
|
||||
2. Wait for CRDs to be created, which should only take a few seconds
|
||||
3. [Install](#install-chart) the chart, but disable the CRD provisioning by setting `prometheusOperator.createCustomResource` to `false`
|
||||
3. [Install](#install-chart) the chart
|
||||
|
||||
## PrometheusRules Admission Webhooks
|
||||
|
||||
@@ -264,7 +272,7 @@ If the **prometheus-operator** values are compatible with the new **kube-prometh
|
||||
kubectl delete service/prometheus-operator-kubelet -n kube-system
|
||||
```
|
||||
|
||||
You can choose to remove all your existing CRDs (ServiceMonitors, Podmonitors, etc.) if you want to. If you would like to keep these, you can set `prometheusOperator.createCustomResource` to `false` to disable CRD provisioning during the fresh installation.
|
||||
You can choose to remove all your existing CRDs (ServiceMonitors, Podmonitors, etc.) if you want to.
|
||||
|
||||
3. Remove current `spec.claimRef` values to change the PV's status from Released to Available.
|
||||
|
||||
@@ -272,7 +280,7 @@ If the **prometheus-operator** values are compatible with the new **kube-prometh
|
||||
kubectl patch pv/<PersistentVolume name> --type json -p='[{"op": "remove", "path": "/spec/claimRef"}]' -n monitoring
|
||||
```
|
||||
|
||||
**Note:** To execute the above command, the user must have a cluster wide permission. Please refer [Kubernetes RBAC](https://kubernetes.io/docs/reference/access-authn-authz/rbac/)
|
||||
**Note:** To execute the above command, the user must have a cluster wide permission. Please refer to [Kubernetes RBAC](https://kubernetes.io/docs/reference/access-authn-authz/rbac/)
|
||||
|
||||
After these steps, proceed to a fresh **kube-prometheus-stack** installation and make sure the current release of **kube-prometheus-stack** matching the `volumeClaimTemplate` values in the `values.yaml`.
|
||||
|
||||
@@ -324,10 +332,6 @@ The chart has added 3 [dependencies](#dependencies).
|
||||
- Node-Exporter, Kube-State-Metrics: These components are loaded as dependencies into the chart, and are relatively simple components
|
||||
- Grafana: The Grafana chart is more feature-rich than this chart - it contains a sidecar that is able to load data sources and dashboards from configmaps deployed into the same cluster. For more information check out the [documentation for the chart](https://github.com/helm/charts/tree/master/stable/grafana)
|
||||
|
||||
#### CoreOS CRDs
|
||||
|
||||
The CRDs are provisioned using crd-install hooks, rather than relying on a separate chart installation. If you already have these CRDs provisioned and don't want to remove them, you can disable the CRD creation by these hooks by setting `prometheusOperator.createCustomResource` to `false` (not required if using Helm v3).
|
||||
|
||||
#### Kubelet Service
|
||||
|
||||
Because the kubelet service has a new name in the chart, make sure to clean up the old kubelet service in the `kube-system` namespace to prevent counting container metrics twice.
|
||||
@@ -370,18 +374,12 @@ metadata:
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
dataSource: null
|
||||
resources:
|
||||
requests:
|
||||
storage: 1Gi
|
||||
storageClassName: prometheus
|
||||
volumeMode: Filesystem
|
||||
volumeName: pvc-prometheus-migration-prometheus-0
|
||||
status:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
capacity:
|
||||
storage: 1Gi
|
||||
```
|
||||
|
||||
The PVC will take ownership of the PV and when you create a release using a persistent volume claim template it will use the existing PVCs as they match the naming convention used by the chart. For other cloud providers similar approaches can be used.
|
||||
|
||||
@@ -31,8 +31,7 @@ prometheusOperator:
|
||||
enabled: true
|
||||
serviceMonitor:
|
||||
selfMonitor: false
|
||||
createCustomResource: false
|
||||
tlsProxy:
|
||||
tls:
|
||||
enabled: false
|
||||
admissionWebhooks:
|
||||
enabled: false
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
prometheusOperator:
|
||||
createCustomResource: false
|
||||
namespaces:
|
||||
releaseNamespace: true
|
||||
additional:
|
||||
|
||||
@@ -0,0 +1,901 @@
|
||||
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/release-0.43/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagerconfigs.yaml
|
||||
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.2.4
|
||||
creationTimestamp: null
|
||||
name: alertmanagerconfigs.monitoring.coreos.com
|
||||
spec:
|
||||
group: monitoring.coreos.com
|
||||
names:
|
||||
kind: AlertmanagerConfig
|
||||
listKind: AlertmanagerConfigList
|
||||
plural: alertmanagerconfigs
|
||||
singular: alertmanagerconfig
|
||||
scope: Namespaced
|
||||
versions:
|
||||
- name: v1alpha1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: AlertmanagerConfig defines a namespaced AlertmanagerConfig to
|
||||
be aggregated across multiple namespaces configuring one Alertmanager.
|
||||
properties:
|
||||
apiVersion:
|
||||
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'
|
||||
type: string
|
||||
kind:
|
||||
description: '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'
|
||||
type: string
|
||||
metadata:
|
||||
type: object
|
||||
spec:
|
||||
properties:
|
||||
inhibitRules:
|
||||
items:
|
||||
properties:
|
||||
equal:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
sourceMatch:
|
||||
items:
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
regex:
|
||||
type: boolean
|
||||
value:
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
- value
|
||||
type: object
|
||||
type: array
|
||||
targetMatch:
|
||||
items:
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
regex:
|
||||
type: boolean
|
||||
value:
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
- value
|
||||
type: object
|
||||
type: array
|
||||
type: object
|
||||
type: array
|
||||
receivers:
|
||||
items:
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
opsgenieConfigs:
|
||||
items:
|
||||
properties:
|
||||
apiKey:
|
||||
description: SecretKeySelector selects a key of a Secret.
|
||||
properties:
|
||||
key:
|
||||
description: The key of the secret to select from. Must
|
||||
be a valid secret key.
|
||||
type: string
|
||||
name:
|
||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
TODO: Add other useful fields. apiVersion, kind,
|
||||
uid?'
|
||||
type: string
|
||||
optional:
|
||||
description: Specify whether the Secret or its key
|
||||
must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
apiURL:
|
||||
type: string
|
||||
description:
|
||||
type: string
|
||||
details:
|
||||
items:
|
||||
properties:
|
||||
key:
|
||||
type: string
|
||||
value:
|
||||
type: string
|
||||
required:
|
||||
- key
|
||||
- value
|
||||
type: object
|
||||
type: array
|
||||
httpConfig:
|
||||
properties:
|
||||
basicAuth:
|
||||
description: 'BasicAuth allow an endpoint to authenticate
|
||||
over basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints'
|
||||
properties:
|
||||
password:
|
||||
description: The secret in the service monitor
|
||||
namespace that contains the password for authentication.
|
||||
properties:
|
||||
key:
|
||||
description: The key of the secret to select
|
||||
from. Must be a valid secret key.
|
||||
type: string
|
||||
name:
|
||||
description: 'Name of the referent. More info:
|
||||
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
TODO: Add other useful fields. apiVersion,
|
||||
kind, uid?'
|
||||
type: string
|
||||
optional:
|
||||
description: Specify whether the Secret or
|
||||
its key must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
username:
|
||||
description: The secret in the service monitor
|
||||
namespace that contains the username for authentication.
|
||||
properties:
|
||||
key:
|
||||
description: The key of the secret to select
|
||||
from. Must be a valid secret key.
|
||||
type: string
|
||||
name:
|
||||
description: 'Name of the referent. More info:
|
||||
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
TODO: Add other useful fields. apiVersion,
|
||||
kind, uid?'
|
||||
type: string
|
||||
optional:
|
||||
description: Specify whether the Secret or
|
||||
its key must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
type: object
|
||||
bearerTokenSecret:
|
||||
description: SecretKeySelector selects a key of a
|
||||
Secret.
|
||||
properties:
|
||||
key:
|
||||
description: The key of the secret to select from. Must
|
||||
be a valid secret key.
|
||||
type: string
|
||||
name:
|
||||
description: 'Name of the referent. More info:
|
||||
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
TODO: Add other useful fields. apiVersion, kind,
|
||||
uid?'
|
||||
type: string
|
||||
optional:
|
||||
description: Specify whether the Secret or its
|
||||
key must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
proxyURL:
|
||||
type: string
|
||||
tlsConfig:
|
||||
description: SafeTLSConfig specifies safe TLS configuration
|
||||
parameters.
|
||||
properties:
|
||||
ca:
|
||||
description: Struct containing the CA cert to
|
||||
use for the targets.
|
||||
properties:
|
||||
configMap:
|
||||
description: ConfigMap containing data to
|
||||
use for the targets.
|
||||
properties:
|
||||
key:
|
||||
description: The key to select.
|
||||
type: string
|
||||
name:
|
||||
description: 'Name of the referent. More
|
||||
info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
TODO: Add other useful fields. apiVersion,
|
||||
kind, uid?'
|
||||
type: string
|
||||
optional:
|
||||
description: Specify whether the ConfigMap
|
||||
or its key must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
secret:
|
||||
description: Secret containing data to use
|
||||
for the targets.
|
||||
properties:
|
||||
key:
|
||||
description: The key of the secret to
|
||||
select from. Must be a valid secret
|
||||
key.
|
||||
type: string
|
||||
name:
|
||||
description: 'Name of the referent. More
|
||||
info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
TODO: Add other useful fields. apiVersion,
|
||||
kind, uid?'
|
||||
type: string
|
||||
optional:
|
||||
description: Specify whether the Secret
|
||||
or its key must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
type: object
|
||||
cert:
|
||||
description: Struct containing the client cert
|
||||
file for the targets.
|
||||
properties:
|
||||
configMap:
|
||||
description: ConfigMap containing data to
|
||||
use for the targets.
|
||||
properties:
|
||||
key:
|
||||
description: The key to select.
|
||||
type: string
|
||||
name:
|
||||
description: 'Name of the referent. More
|
||||
info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
TODO: Add other useful fields. apiVersion,
|
||||
kind, uid?'
|
||||
type: string
|
||||
optional:
|
||||
description: Specify whether the ConfigMap
|
||||
or its key must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
secret:
|
||||
description: Secret containing data to use
|
||||
for the targets.
|
||||
properties:
|
||||
key:
|
||||
description: The key of the secret to
|
||||
select from. Must be a valid secret
|
||||
key.
|
||||
type: string
|
||||
name:
|
||||
description: 'Name of the referent. More
|
||||
info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
TODO: Add other useful fields. apiVersion,
|
||||
kind, uid?'
|
||||
type: string
|
||||
optional:
|
||||
description: Specify whether the Secret
|
||||
or its key must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
type: object
|
||||
insecureSkipVerify:
|
||||
description: Disable target certificate validation.
|
||||
type: boolean
|
||||
keySecret:
|
||||
description: Secret containing the client key
|
||||
file for the targets.
|
||||
properties:
|
||||
key:
|
||||
description: The key of the secret to select
|
||||
from. Must be a valid secret key.
|
||||
type: string
|
||||
name:
|
||||
description: 'Name of the referent. More info:
|
||||
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
TODO: Add other useful fields. apiVersion,
|
||||
kind, uid?'
|
||||
type: string
|
||||
optional:
|
||||
description: Specify whether the Secret or
|
||||
its key must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
serverName:
|
||||
description: Used to verify the hostname for the
|
||||
targets.
|
||||
type: string
|
||||
type: object
|
||||
type: object
|
||||
message:
|
||||
type: string
|
||||
note:
|
||||
type: string
|
||||
priority:
|
||||
type: string
|
||||
responders:
|
||||
items:
|
||||
properties:
|
||||
id:
|
||||
type: string
|
||||
name:
|
||||
type: string
|
||||
type:
|
||||
type: string
|
||||
username:
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
sendResolved:
|
||||
type: boolean
|
||||
source:
|
||||
type: string
|
||||
tags:
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
pagerDutyConfigs:
|
||||
items:
|
||||
properties:
|
||||
class:
|
||||
type: string
|
||||
client:
|
||||
type: string
|
||||
clientURL:
|
||||
type: string
|
||||
component:
|
||||
type: string
|
||||
description:
|
||||
type: string
|
||||
details:
|
||||
items:
|
||||
properties:
|
||||
key:
|
||||
type: string
|
||||
value:
|
||||
type: string
|
||||
required:
|
||||
- key
|
||||
- value
|
||||
type: object
|
||||
type: array
|
||||
group:
|
||||
type: string
|
||||
httpConfig:
|
||||
properties:
|
||||
basicAuth:
|
||||
description: 'BasicAuth allow an endpoint to authenticate
|
||||
over basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints'
|
||||
properties:
|
||||
password:
|
||||
description: The secret in the service monitor
|
||||
namespace that contains the password for authentication.
|
||||
properties:
|
||||
key:
|
||||
description: The key of the secret to select
|
||||
from. Must be a valid secret key.
|
||||
type: string
|
||||
name:
|
||||
description: 'Name of the referent. More info:
|
||||
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
TODO: Add other useful fields. apiVersion,
|
||||
kind, uid?'
|
||||
type: string
|
||||
optional:
|
||||
description: Specify whether the Secret or
|
||||
its key must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
username:
|
||||
description: The secret in the service monitor
|
||||
namespace that contains the username for authentication.
|
||||
properties:
|
||||
key:
|
||||
description: The key of the secret to select
|
||||
from. Must be a valid secret key.
|
||||
type: string
|
||||
name:
|
||||
description: 'Name of the referent. More info:
|
||||
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
TODO: Add other useful fields. apiVersion,
|
||||
kind, uid?'
|
||||
type: string
|
||||
optional:
|
||||
description: Specify whether the Secret or
|
||||
its key must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
type: object
|
||||
bearerTokenSecret:
|
||||
description: SecretKeySelector selects a key of a
|
||||
Secret.
|
||||
properties:
|
||||
key:
|
||||
description: The key of the secret to select from. Must
|
||||
be a valid secret key.
|
||||
type: string
|
||||
name:
|
||||
description: 'Name of the referent. More info:
|
||||
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
TODO: Add other useful fields. apiVersion, kind,
|
||||
uid?'
|
||||
type: string
|
||||
optional:
|
||||
description: Specify whether the Secret or its
|
||||
key must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
proxyURL:
|
||||
type: string
|
||||
tlsConfig:
|
||||
description: SafeTLSConfig specifies safe TLS configuration
|
||||
parameters.
|
||||
properties:
|
||||
ca:
|
||||
description: Struct containing the CA cert to
|
||||
use for the targets.
|
||||
properties:
|
||||
configMap:
|
||||
description: ConfigMap containing data to
|
||||
use for the targets.
|
||||
properties:
|
||||
key:
|
||||
description: The key to select.
|
||||
type: string
|
||||
name:
|
||||
description: 'Name of the referent. More
|
||||
info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
TODO: Add other useful fields. apiVersion,
|
||||
kind, uid?'
|
||||
type: string
|
||||
optional:
|
||||
description: Specify whether the ConfigMap
|
||||
or its key must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
secret:
|
||||
description: Secret containing data to use
|
||||
for the targets.
|
||||
properties:
|
||||
key:
|
||||
description: The key of the secret to
|
||||
select from. Must be a valid secret
|
||||
key.
|
||||
type: string
|
||||
name:
|
||||
description: 'Name of the referent. More
|
||||
info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
TODO: Add other useful fields. apiVersion,
|
||||
kind, uid?'
|
||||
type: string
|
||||
optional:
|
||||
description: Specify whether the Secret
|
||||
or its key must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
type: object
|
||||
cert:
|
||||
description: Struct containing the client cert
|
||||
file for the targets.
|
||||
properties:
|
||||
configMap:
|
||||
description: ConfigMap containing data to
|
||||
use for the targets.
|
||||
properties:
|
||||
key:
|
||||
description: The key to select.
|
||||
type: string
|
||||
name:
|
||||
description: 'Name of the referent. More
|
||||
info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
TODO: Add other useful fields. apiVersion,
|
||||
kind, uid?'
|
||||
type: string
|
||||
optional:
|
||||
description: Specify whether the ConfigMap
|
||||
or its key must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
secret:
|
||||
description: Secret containing data to use
|
||||
for the targets.
|
||||
properties:
|
||||
key:
|
||||
description: The key of the secret to
|
||||
select from. Must be a valid secret
|
||||
key.
|
||||
type: string
|
||||
name:
|
||||
description: 'Name of the referent. More
|
||||
info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
TODO: Add other useful fields. apiVersion,
|
||||
kind, uid?'
|
||||
type: string
|
||||
optional:
|
||||
description: Specify whether the Secret
|
||||
or its key must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
type: object
|
||||
insecureSkipVerify:
|
||||
description: Disable target certificate validation.
|
||||
type: boolean
|
||||
keySecret:
|
||||
description: Secret containing the client key
|
||||
file for the targets.
|
||||
properties:
|
||||
key:
|
||||
description: The key of the secret to select
|
||||
from. Must be a valid secret key.
|
||||
type: string
|
||||
name:
|
||||
description: 'Name of the referent. More info:
|
||||
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
TODO: Add other useful fields. apiVersion,
|
||||
kind, uid?'
|
||||
type: string
|
||||
optional:
|
||||
description: Specify whether the Secret or
|
||||
its key must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
serverName:
|
||||
description: Used to verify the hostname for the
|
||||
targets.
|
||||
type: string
|
||||
type: object
|
||||
type: object
|
||||
routingKey:
|
||||
description: SecretKeySelector selects a key of a Secret.
|
||||
properties:
|
||||
key:
|
||||
description: The key of the secret to select from. Must
|
||||
be a valid secret key.
|
||||
type: string
|
||||
name:
|
||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
TODO: Add other useful fields. apiVersion, kind,
|
||||
uid?'
|
||||
type: string
|
||||
optional:
|
||||
description: Specify whether the Secret or its key
|
||||
must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
sendResolved:
|
||||
type: boolean
|
||||
serviceKey:
|
||||
description: SecretKeySelector selects a key of a Secret.
|
||||
properties:
|
||||
key:
|
||||
description: The key of the secret to select from. Must
|
||||
be a valid secret key.
|
||||
type: string
|
||||
name:
|
||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
TODO: Add other useful fields. apiVersion, kind,
|
||||
uid?'
|
||||
type: string
|
||||
optional:
|
||||
description: Specify whether the Secret or its key
|
||||
must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
severity:
|
||||
type: string
|
||||
url:
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
webhookConfigs:
|
||||
items:
|
||||
properties:
|
||||
httpConfig:
|
||||
properties:
|
||||
basicAuth:
|
||||
description: 'BasicAuth allow an endpoint to authenticate
|
||||
over basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints'
|
||||
properties:
|
||||
password:
|
||||
description: The secret in the service monitor
|
||||
namespace that contains the password for authentication.
|
||||
properties:
|
||||
key:
|
||||
description: The key of the secret to select
|
||||
from. Must be a valid secret key.
|
||||
type: string
|
||||
name:
|
||||
description: 'Name of the referent. More info:
|
||||
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
TODO: Add other useful fields. apiVersion,
|
||||
kind, uid?'
|
||||
type: string
|
||||
optional:
|
||||
description: Specify whether the Secret or
|
||||
its key must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
username:
|
||||
description: The secret in the service monitor
|
||||
namespace that contains the username for authentication.
|
||||
properties:
|
||||
key:
|
||||
description: The key of the secret to select
|
||||
from. Must be a valid secret key.
|
||||
type: string
|
||||
name:
|
||||
description: 'Name of the referent. More info:
|
||||
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
TODO: Add other useful fields. apiVersion,
|
||||
kind, uid?'
|
||||
type: string
|
||||
optional:
|
||||
description: Specify whether the Secret or
|
||||
its key must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
type: object
|
||||
bearerTokenSecret:
|
||||
description: SecretKeySelector selects a key of a
|
||||
Secret.
|
||||
properties:
|
||||
key:
|
||||
description: The key of the secret to select from. Must
|
||||
be a valid secret key.
|
||||
type: string
|
||||
name:
|
||||
description: 'Name of the referent. More info:
|
||||
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
TODO: Add other useful fields. apiVersion, kind,
|
||||
uid?'
|
||||
type: string
|
||||
optional:
|
||||
description: Specify whether the Secret or its
|
||||
key must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
proxyURL:
|
||||
type: string
|
||||
tlsConfig:
|
||||
description: SafeTLSConfig specifies safe TLS configuration
|
||||
parameters.
|
||||
properties:
|
||||
ca:
|
||||
description: Struct containing the CA cert to
|
||||
use for the targets.
|
||||
properties:
|
||||
configMap:
|
||||
description: ConfigMap containing data to
|
||||
use for the targets.
|
||||
properties:
|
||||
key:
|
||||
description: The key to select.
|
||||
type: string
|
||||
name:
|
||||
description: 'Name of the referent. More
|
||||
info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
TODO: Add other useful fields. apiVersion,
|
||||
kind, uid?'
|
||||
type: string
|
||||
optional:
|
||||
description: Specify whether the ConfigMap
|
||||
or its key must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
secret:
|
||||
description: Secret containing data to use
|
||||
for the targets.
|
||||
properties:
|
||||
key:
|
||||
description: The key of the secret to
|
||||
select from. Must be a valid secret
|
||||
key.
|
||||
type: string
|
||||
name:
|
||||
description: 'Name of the referent. More
|
||||
info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
TODO: Add other useful fields. apiVersion,
|
||||
kind, uid?'
|
||||
type: string
|
||||
optional:
|
||||
description: Specify whether the Secret
|
||||
or its key must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
type: object
|
||||
cert:
|
||||
description: Struct containing the client cert
|
||||
file for the targets.
|
||||
properties:
|
||||
configMap:
|
||||
description: ConfigMap containing data to
|
||||
use for the targets.
|
||||
properties:
|
||||
key:
|
||||
description: The key to select.
|
||||
type: string
|
||||
name:
|
||||
description: 'Name of the referent. More
|
||||
info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
TODO: Add other useful fields. apiVersion,
|
||||
kind, uid?'
|
||||
type: string
|
||||
optional:
|
||||
description: Specify whether the ConfigMap
|
||||
or its key must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
secret:
|
||||
description: Secret containing data to use
|
||||
for the targets.
|
||||
properties:
|
||||
key:
|
||||
description: The key of the secret to
|
||||
select from. Must be a valid secret
|
||||
key.
|
||||
type: string
|
||||
name:
|
||||
description: 'Name of the referent. More
|
||||
info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
TODO: Add other useful fields. apiVersion,
|
||||
kind, uid?'
|
||||
type: string
|
||||
optional:
|
||||
description: Specify whether the Secret
|
||||
or its key must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
type: object
|
||||
insecureSkipVerify:
|
||||
description: Disable target certificate validation.
|
||||
type: boolean
|
||||
keySecret:
|
||||
description: Secret containing the client key
|
||||
file for the targets.
|
||||
properties:
|
||||
key:
|
||||
description: The key of the secret to select
|
||||
from. Must be a valid secret key.
|
||||
type: string
|
||||
name:
|
||||
description: 'Name of the referent. More info:
|
||||
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
TODO: Add other useful fields. apiVersion,
|
||||
kind, uid?'
|
||||
type: string
|
||||
optional:
|
||||
description: Specify whether the Secret or
|
||||
its key must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
serverName:
|
||||
description: Used to verify the hostname for the
|
||||
targets.
|
||||
type: string
|
||||
type: object
|
||||
type: object
|
||||
maxAlerts:
|
||||
format: int32
|
||||
type: integer
|
||||
sendResolved:
|
||||
type: boolean
|
||||
url:
|
||||
type: string
|
||||
urlSecret:
|
||||
description: SecretKeySelector selects a key of a Secret.
|
||||
properties:
|
||||
key:
|
||||
description: The key of the secret to select from. Must
|
||||
be a valid secret key.
|
||||
type: string
|
||||
name:
|
||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
TODO: Add other useful fields. apiVersion, kind,
|
||||
uid?'
|
||||
type: string
|
||||
optional:
|
||||
description: Specify whether the Secret or its key
|
||||
must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
type: object
|
||||
type: array
|
||||
required:
|
||||
- name
|
||||
type: object
|
||||
type: array
|
||||
route:
|
||||
properties:
|
||||
continue:
|
||||
type: boolean
|
||||
groupBy:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
groupInterval:
|
||||
type: string
|
||||
groupWait:
|
||||
type: string
|
||||
matchers:
|
||||
items:
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
regex:
|
||||
type: boolean
|
||||
value:
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
- value
|
||||
type: object
|
||||
type: array
|
||||
receiver:
|
||||
type: string
|
||||
repeatInterval:
|
||||
type: string
|
||||
routes:
|
||||
items:
|
||||
type: object
|
||||
type: array
|
||||
type: object
|
||||
type: object
|
||||
required:
|
||||
- spec
|
||||
type: object
|
||||
served: true
|
||||
storage: true
|
||||
status:
|
||||
acceptedNames:
|
||||
kind: ""
|
||||
plural: ""
|
||||
conditions: []
|
||||
storedVersions: []
|
||||
+192
-3
@@ -1,3 +1,4 @@
|
||||
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/release-0.43/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagers.yaml
|
||||
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
@@ -5,7 +6,6 @@ kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.2.4
|
||||
helm.sh/hook: crd-install
|
||||
creationTimestamp: null
|
||||
name: alertmanagers.monitoring.coreos.com
|
||||
spec:
|
||||
@@ -647,6 +647,96 @@ spec:
|
||||
type: array
|
||||
type: object
|
||||
type: object
|
||||
alertmanagerConfigNamespaceSelector:
|
||||
description: Namespaces to be selected for AlertmanagerConfig discovery.
|
||||
If nil, only check own namespace.
|
||||
properties:
|
||||
matchExpressions:
|
||||
description: matchExpressions is a list of label selector requirements.
|
||||
The requirements are ANDed.
|
||||
items:
|
||||
description: A label selector requirement is a selector that
|
||||
contains values, a key, and an operator that relates the key
|
||||
and values.
|
||||
properties:
|
||||
key:
|
||||
description: key is the label key that the selector applies
|
||||
to.
|
||||
type: string
|
||||
operator:
|
||||
description: operator represents a key's relationship to
|
||||
a set of values. Valid operators are In, NotIn, Exists
|
||||
and DoesNotExist.
|
||||
type: string
|
||||
values:
|
||||
description: 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.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
required:
|
||||
- key
|
||||
- operator
|
||||
type: object
|
||||
type: array
|
||||
matchLabels:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: 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.
|
||||
type: object
|
||||
type: object
|
||||
alertmanagerConfigSelector:
|
||||
description: AlertmanagerConfigs to be selected for to merge and configure
|
||||
Alertmanager with.
|
||||
properties:
|
||||
matchExpressions:
|
||||
description: matchExpressions is a list of label selector requirements.
|
||||
The requirements are ANDed.
|
||||
items:
|
||||
description: A label selector requirement is a selector that
|
||||
contains values, a key, and an operator that relates the key
|
||||
and values.
|
||||
properties:
|
||||
key:
|
||||
description: key is the label key that the selector applies
|
||||
to.
|
||||
type: string
|
||||
operator:
|
||||
description: operator represents a key's relationship to
|
||||
a set of values. Valid operators are In, NotIn, Exists
|
||||
and DoesNotExist.
|
||||
type: string
|
||||
values:
|
||||
description: 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.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
required:
|
||||
- key
|
||||
- operator
|
||||
type: object
|
||||
type: array
|
||||
matchLabels:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: 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.
|
||||
type: object
|
||||
type: object
|
||||
baseImage:
|
||||
description: 'Base image that is used to deploy pods, without tag.
|
||||
Deprecated: use ''image'' instead'
|
||||
@@ -670,9 +760,14 @@ spec:
|
||||
The secret is mounted into /etc/alertmanager/config.
|
||||
type: string
|
||||
containers:
|
||||
description: Containers allows injecting additional containers. This
|
||||
description: 'Containers allows injecting additional containers. This
|
||||
is meant to allow adding an authentication proxy to an Alertmanager
|
||||
pod.
|
||||
pod. Containers described here modify an operator generated container
|
||||
if they share the same name and modifications are done via a strategic
|
||||
merge patch. The current container names are: `alertmanager` and
|
||||
`config-reloader`. 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.'
|
||||
items:
|
||||
description: A single application container that you want to run
|
||||
within a pod.
|
||||
@@ -3335,6 +3430,100 @@ spec:
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
topologySpreadConstraints:
|
||||
description: If specified, the pod's topology spread constraints.
|
||||
items:
|
||||
description: TopologySpreadConstraint specifies how to spread matching
|
||||
pods among the given topology.
|
||||
properties:
|
||||
labelSelector:
|
||||
description: LabelSelector is used to find matching pods. Pods
|
||||
that match this label selector are counted to determine the
|
||||
number of pods in their corresponding topology domain.
|
||||
properties:
|
||||
matchExpressions:
|
||||
description: matchExpressions is a list of label selector
|
||||
requirements. The requirements are ANDed.
|
||||
items:
|
||||
description: A label selector requirement is a selector
|
||||
that contains values, a key, and an operator that relates
|
||||
the key and values.
|
||||
properties:
|
||||
key:
|
||||
description: key is the label key that the selector
|
||||
applies to.
|
||||
type: string
|
||||
operator:
|
||||
description: operator represents a key's relationship
|
||||
to a set of values. Valid operators are In, NotIn,
|
||||
Exists and DoesNotExist.
|
||||
type: string
|
||||
values:
|
||||
description: 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.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
required:
|
||||
- key
|
||||
- operator
|
||||
type: object
|
||||
type: array
|
||||
matchLabels:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: 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.
|
||||
type: object
|
||||
type: object
|
||||
maxSkew:
|
||||
description: 'MaxSkew describes the degree to which pods may
|
||||
be unevenly distributed. It''s the maximum permitted difference
|
||||
between the number of matching pods in any two topology domains
|
||||
of a given topology type. For example, in a 3-zone cluster,
|
||||
MaxSkew is set to 1, and pods with the same labelSelector
|
||||
spread as 1/1/0: | zone1 | zone2 | zone3 | | P | P | |
|
||||
- if MaxSkew is 1, incoming pod can only be scheduled to zone3
|
||||
to become 1/1/1; scheduling it onto zone1(zone2) would make
|
||||
the ActualSkew(2-0) on zone1(zone2) violate MaxSkew(1). -
|
||||
if MaxSkew is 2, incoming pod can be scheduled onto any zone.
|
||||
It''s a required field. Default value is 1 and 0 is not allowed.'
|
||||
format: int32
|
||||
type: integer
|
||||
topologyKey:
|
||||
description: TopologyKey is the key of node labels. Nodes that
|
||||
have a label with this key and identical values are considered
|
||||
to be in the same topology. We consider each <key, value>
|
||||
as a "bucket", and try to put balanced number of pods into
|
||||
each bucket. It's a required field.
|
||||
type: string
|
||||
whenUnsatisfiable:
|
||||
description: 'WhenUnsatisfiable indicates how to deal with a
|
||||
pod if it doesn''t satisfy the spread constraint. - DoNotSchedule
|
||||
(default) tells the scheduler not to schedule it - ScheduleAnyway
|
||||
tells the scheduler to still schedule it It''s considered
|
||||
as "Unsatisfiable" if and only if placing incoming pod on
|
||||
any topology violates "MaxSkew". For example, in a 3-zone
|
||||
cluster, MaxSkew is set to 1, and pods with the same labelSelector
|
||||
spread as 3/1/1: | zone1 | zone2 | zone3 | | P P P | P | P |
|
||||
If WhenUnsatisfiable is set to DoNotSchedule, incoming pod
|
||||
can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2)
|
||||
as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1). In
|
||||
other words, the cluster can still be imbalanced, but scheduler
|
||||
won''t make it *more* imbalanced. It''s a required field.'
|
||||
type: string
|
||||
required:
|
||||
- maxSkew
|
||||
- topologyKey
|
||||
- whenUnsatisfiable
|
||||
type: object
|
||||
type: array
|
||||
version:
|
||||
description: Version the cluster should be on.
|
||||
type: string
|
||||
+184
-1
@@ -1,3 +1,4 @@
|
||||
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/release-0.43/example/prometheus-operator-crd/monitoring.coreos.com_podmonitors.yaml
|
||||
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
@@ -5,7 +6,6 @@ kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.2.4
|
||||
helm.sh/hook: crd-install
|
||||
creationTimestamp: null
|
||||
name: podmonitors.monitoring.coreos.com
|
||||
spec:
|
||||
@@ -61,6 +61,69 @@ spec:
|
||||
description: PodMetricsEndpoint defines a scrapeable endpoint of
|
||||
a Kubernetes Pod serving Prometheus metrics.
|
||||
properties:
|
||||
basicAuth:
|
||||
description: 'BasicAuth allow an endpoint to authenticate over
|
||||
basic authentication. More info: https://prometheus.io/docs/operating/configuration/#endpoint'
|
||||
properties:
|
||||
password:
|
||||
description: The secret in the service monitor namespace
|
||||
that contains the password for authentication.
|
||||
properties:
|
||||
key:
|
||||
description: The key of the secret to select from. Must
|
||||
be a valid secret key.
|
||||
type: string
|
||||
name:
|
||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||
type: string
|
||||
optional:
|
||||
description: Specify whether the Secret or its key must
|
||||
be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
username:
|
||||
description: The secret in the service monitor namespace
|
||||
that contains the username for authentication.
|
||||
properties:
|
||||
key:
|
||||
description: The key of the secret to select from. Must
|
||||
be a valid secret key.
|
||||
type: string
|
||||
name:
|
||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||
type: string
|
||||
optional:
|
||||
description: Specify whether the Secret or its key must
|
||||
be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
type: object
|
||||
bearerTokenSecret:
|
||||
description: Secret to mount to read bearer token for scraping
|
||||
targets. The secret needs to be in the same namespace as the
|
||||
pod monitor and accessible by the Prometheus Operator.
|
||||
properties:
|
||||
key:
|
||||
description: The key of the secret to select from. Must
|
||||
be a valid secret key.
|
||||
type: string
|
||||
name:
|
||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||
type: string
|
||||
optional:
|
||||
description: Specify whether the Secret or its key must
|
||||
be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
honorLabels:
|
||||
description: HonorLabels chooses the metric's labels on collisions
|
||||
with target labels.
|
||||
@@ -194,6 +257,121 @@ spec:
|
||||
- type: string
|
||||
description: 'Deprecated: Use ''port'' instead.'
|
||||
x-kubernetes-int-or-string: true
|
||||
tlsConfig:
|
||||
description: TLS configuration to use when scraping the endpoint.
|
||||
properties:
|
||||
ca:
|
||||
description: Struct containing the CA cert to use for the
|
||||
targets.
|
||||
properties:
|
||||
configMap:
|
||||
description: ConfigMap containing data to use for the
|
||||
targets.
|
||||
properties:
|
||||
key:
|
||||
description: The key to select.
|
||||
type: string
|
||||
name:
|
||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
TODO: Add other useful fields. apiVersion, kind,
|
||||
uid?'
|
||||
type: string
|
||||
optional:
|
||||
description: Specify whether the ConfigMap or its
|
||||
key must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
secret:
|
||||
description: Secret containing data to use for the targets.
|
||||
properties:
|
||||
key:
|
||||
description: The key of the secret to select from. Must
|
||||
be a valid secret key.
|
||||
type: string
|
||||
name:
|
||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
TODO: Add other useful fields. apiVersion, kind,
|
||||
uid?'
|
||||
type: string
|
||||
optional:
|
||||
description: Specify whether the Secret or its key
|
||||
must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
type: object
|
||||
cert:
|
||||
description: Struct containing the client cert file for
|
||||
the targets.
|
||||
properties:
|
||||
configMap:
|
||||
description: ConfigMap containing data to use for the
|
||||
targets.
|
||||
properties:
|
||||
key:
|
||||
description: The key to select.
|
||||
type: string
|
||||
name:
|
||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
TODO: Add other useful fields. apiVersion, kind,
|
||||
uid?'
|
||||
type: string
|
||||
optional:
|
||||
description: Specify whether the ConfigMap or its
|
||||
key must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
secret:
|
||||
description: Secret containing data to use for the targets.
|
||||
properties:
|
||||
key:
|
||||
description: The key of the secret to select from. Must
|
||||
be a valid secret key.
|
||||
type: string
|
||||
name:
|
||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
TODO: Add other useful fields. apiVersion, kind,
|
||||
uid?'
|
||||
type: string
|
||||
optional:
|
||||
description: Specify whether the Secret or its key
|
||||
must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
type: object
|
||||
insecureSkipVerify:
|
||||
description: Disable target certificate validation.
|
||||
type: boolean
|
||||
keySecret:
|
||||
description: Secret containing the client key file for the
|
||||
targets.
|
||||
properties:
|
||||
key:
|
||||
description: The key of the secret to select from. Must
|
||||
be a valid secret key.
|
||||
type: string
|
||||
name:
|
||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||
type: string
|
||||
optional:
|
||||
description: Specify whether the Secret or its key must
|
||||
be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
serverName:
|
||||
description: Used to verify the hostname for the targets.
|
||||
type: string
|
||||
type: object
|
||||
type: object
|
||||
type: array
|
||||
podTargetLabels:
|
||||
@@ -251,6 +429,11 @@ spec:
|
||||
are ANDed.
|
||||
type: object
|
||||
type: object
|
||||
targetLimit:
|
||||
description: TargetLimit defines a limit on the number of scraped
|
||||
targets that will be accepted.
|
||||
format: int64
|
||||
type: integer
|
||||
required:
|
||||
- podMetricsEndpoints
|
||||
- selector
|
||||
+1
-1
@@ -1,3 +1,4 @@
|
||||
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/release-0.43/example/prometheus-operator-crd/monitoring.coreos.com_probes.yaml
|
||||
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
@@ -5,7 +6,6 @@ kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.2.4
|
||||
helm.sh/hook: crd-install
|
||||
creationTimestamp: null
|
||||
name: probes.monitoring.coreos.com
|
||||
spec:
|
||||
+123
-11
@@ -1,3 +1,4 @@
|
||||
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/release-0.43/example/prometheus-operator-crd/monitoring.coreos.com_prometheuses.yaml
|
||||
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
@@ -5,7 +6,6 @@ kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.2.4
|
||||
helm.sh/hook: crd-install
|
||||
creationTimestamp: null
|
||||
name: prometheuses.monitoring.coreos.com
|
||||
spec:
|
||||
@@ -768,7 +768,7 @@ spec:
|
||||
description: TLS Config to use for alertmanager connection.
|
||||
properties:
|
||||
ca:
|
||||
description: Stuct containing the CA cert to use for
|
||||
description: Struct containing the CA cert to use for
|
||||
the targets.
|
||||
properties:
|
||||
configMap:
|
||||
@@ -975,7 +975,8 @@ spec:
|
||||
description: TLS Config to use for accessing apiserver.
|
||||
properties:
|
||||
ca:
|
||||
description: Stuct containing the CA cert to use for the targets.
|
||||
description: Struct containing the CA cert to use for the
|
||||
targets.
|
||||
properties:
|
||||
configMap:
|
||||
description: ConfigMap containing data to use for the
|
||||
@@ -1126,11 +1127,10 @@ spec:
|
||||
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
|
||||
current container names are: `prometheus`, `prometheus-config-reloader`,
|
||||
`rules-configmap-reloader`, and `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.'
|
||||
current container names are: `prometheus`, `config-reloader`, and
|
||||
`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.'
|
||||
items:
|
||||
description: A single application container that you want to run
|
||||
within a pod.
|
||||
@@ -2199,6 +2199,15 @@ spec:
|
||||
value will be taken instead.
|
||||
format: int64
|
||||
type: integer
|
||||
enforcedTargetLimit:
|
||||
description: EnforcedTargetLimit defines a global limit on the number
|
||||
of scraped targets. This overrides any TargetLimit set per ServiceMonitor
|
||||
or/and PodMonitor. It is meant to be used by admins to enforce the
|
||||
TargetLimit to keep overall number of targets under the desired
|
||||
limit. Note that if TargetLimit is higher that value will be taken
|
||||
instead.
|
||||
format: int64
|
||||
type: integer
|
||||
evaluationInterval:
|
||||
description: Interval between consecutive evaluations.
|
||||
type: string
|
||||
@@ -3673,7 +3682,7 @@ spec:
|
||||
description: TLS Config to use for remote read.
|
||||
properties:
|
||||
ca:
|
||||
description: Stuct containing the CA cert to use for the
|
||||
description: Struct containing the CA cert to use for the
|
||||
targets.
|
||||
properties:
|
||||
configMap:
|
||||
@@ -3910,7 +3919,7 @@ spec:
|
||||
description: TLS Config to use for remote write.
|
||||
properties:
|
||||
ca:
|
||||
description: Stuct containing the CA cert to use for the
|
||||
description: Struct containing the CA cert to use for the
|
||||
targets.
|
||||
properties:
|
||||
configMap:
|
||||
@@ -4764,7 +4773,8 @@ spec:
|
||||
Maps to the ''--grpc-server-tls-*'' CLI args.'
|
||||
properties:
|
||||
ca:
|
||||
description: Stuct containing the CA cert to use for the targets.
|
||||
description: Struct containing the CA cert to use for the
|
||||
targets.
|
||||
properties:
|
||||
configMap:
|
||||
description: ConfigMap containing data to use for the
|
||||
@@ -5024,6 +5034,100 @@ spec:
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
topologySpreadConstraints:
|
||||
description: If specified, the pod's topology spread constraints.
|
||||
items:
|
||||
description: TopologySpreadConstraint specifies how to spread matching
|
||||
pods among the given topology.
|
||||
properties:
|
||||
labelSelector:
|
||||
description: LabelSelector is used to find matching pods. Pods
|
||||
that match this label selector are counted to determine the
|
||||
number of pods in their corresponding topology domain.
|
||||
properties:
|
||||
matchExpressions:
|
||||
description: matchExpressions is a list of label selector
|
||||
requirements. The requirements are ANDed.
|
||||
items:
|
||||
description: A label selector requirement is a selector
|
||||
that contains values, a key, and an operator that relates
|
||||
the key and values.
|
||||
properties:
|
||||
key:
|
||||
description: key is the label key that the selector
|
||||
applies to.
|
||||
type: string
|
||||
operator:
|
||||
description: operator represents a key's relationship
|
||||
to a set of values. Valid operators are In, NotIn,
|
||||
Exists and DoesNotExist.
|
||||
type: string
|
||||
values:
|
||||
description: 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.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
required:
|
||||
- key
|
||||
- operator
|
||||
type: object
|
||||
type: array
|
||||
matchLabels:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: 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.
|
||||
type: object
|
||||
type: object
|
||||
maxSkew:
|
||||
description: 'MaxSkew describes the degree to which pods may
|
||||
be unevenly distributed. It''s the maximum permitted difference
|
||||
between the number of matching pods in any two topology domains
|
||||
of a given topology type. For example, in a 3-zone cluster,
|
||||
MaxSkew is set to 1, and pods with the same labelSelector
|
||||
spread as 1/1/0: | zone1 | zone2 | zone3 | | P | P | |
|
||||
- if MaxSkew is 1, incoming pod can only be scheduled to zone3
|
||||
to become 1/1/1; scheduling it onto zone1(zone2) would make
|
||||
the ActualSkew(2-0) on zone1(zone2) violate MaxSkew(1). -
|
||||
if MaxSkew is 2, incoming pod can be scheduled onto any zone.
|
||||
It''s a required field. Default value is 1 and 0 is not allowed.'
|
||||
format: int32
|
||||
type: integer
|
||||
topologyKey:
|
||||
description: TopologyKey is the key of node labels. Nodes that
|
||||
have a label with this key and identical values are considered
|
||||
to be in the same topology. We consider each <key, value>
|
||||
as a "bucket", and try to put balanced number of pods into
|
||||
each bucket. It's a required field.
|
||||
type: string
|
||||
whenUnsatisfiable:
|
||||
description: 'WhenUnsatisfiable indicates how to deal with a
|
||||
pod if it doesn''t satisfy the spread constraint. - DoNotSchedule
|
||||
(default) tells the scheduler not to schedule it - ScheduleAnyway
|
||||
tells the scheduler to still schedule it It''s considered
|
||||
as "Unsatisfiable" if and only if placing incoming pod on
|
||||
any topology violates "MaxSkew". For example, in a 3-zone
|
||||
cluster, MaxSkew is set to 1, and pods with the same labelSelector
|
||||
spread as 3/1/1: | zone1 | zone2 | zone3 | | P P P | P | P |
|
||||
If WhenUnsatisfiable is set to DoNotSchedule, incoming pod
|
||||
can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2)
|
||||
as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1). In
|
||||
other words, the cluster can still be imbalanced, but scheduler
|
||||
won''t make it *more* imbalanced. It''s a required field.'
|
||||
type: string
|
||||
required:
|
||||
- maxSkew
|
||||
- topologyKey
|
||||
- whenUnsatisfiable
|
||||
type: object
|
||||
type: array
|
||||
version:
|
||||
description: Version of Prometheus to be deployed.
|
||||
type: string
|
||||
@@ -6271,6 +6375,14 @@ spec:
|
||||
description: Enable compression of the write-ahead log using Snappy.
|
||||
This flag is only available in versions of Prometheus >= 2.11.0.
|
||||
type: boolean
|
||||
web:
|
||||
description: WebSpec defines the web command line flags when starting
|
||||
Prometheus.
|
||||
properties:
|
||||
pageTitle:
|
||||
description: The prometheus web page title
|
||||
type: string
|
||||
type: object
|
||||
type: object
|
||||
status:
|
||||
description: 'Most recent observed status of the Prometheus cluster. Read-only.
|
||||
@@ -1,3 +1,4 @@
|
||||
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/release-0.43/example/prometheus-operator-crd/monitoring.coreos.com_prometheusrules.yaml
|
||||
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
@@ -5,7 +6,6 @@ kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.2.4
|
||||
helm.sh/hook: crd-install
|
||||
creationTimestamp: null
|
||||
name: prometheusrules.monitoring.coreos.com
|
||||
spec:
|
||||
|
||||
+7
-2
@@ -1,3 +1,4 @@
|
||||
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/release-0.43/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml
|
||||
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
@@ -5,7 +6,6 @@ kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.2.4
|
||||
helm.sh/hook: crd-install
|
||||
creationTimestamp: null
|
||||
name: servicemonitors.monitoring.coreos.com
|
||||
spec:
|
||||
@@ -249,7 +249,7 @@ spec:
|
||||
description: TLS configuration to use when scraping the endpoint
|
||||
properties:
|
||||
ca:
|
||||
description: Stuct containing the CA cert to use for the
|
||||
description: Struct containing the CA cert to use for the
|
||||
targets.
|
||||
properties:
|
||||
configMap:
|
||||
@@ -452,6 +452,11 @@ spec:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
targetLimit:
|
||||
description: TargetLimit defines a limit on the number of scraped
|
||||
targets that will be accepted.
|
||||
format: int64
|
||||
type: integer
|
||||
required:
|
||||
- endpoints
|
||||
- selector
|
||||
@@ -1,3 +1,4 @@
|
||||
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/release-0.43/example/prometheus-operator-crd/monitoring.coreos.com_thanosrulers.yaml
|
||||
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
@@ -5,7 +6,6 @@ kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.2.4
|
||||
helm.sh/hook: crd-install
|
||||
creationTimestamp: null
|
||||
name: thanosrulers.monitoring.coreos.com
|
||||
spec:
|
||||
@@ -675,7 +675,7 @@ spec:
|
||||
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
|
||||
current container names are: `thanos-ruler` and `rules-configmap-reloader`.
|
||||
current container names are: `thanos-ruler` and `config-reloader`.
|
||||
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.'
|
||||
@@ -1741,7 +1741,7 @@ spec:
|
||||
the ''--grpc-server-tls-*'' CLI args.'
|
||||
properties:
|
||||
ca:
|
||||
description: Stuct containing the CA cert to use for the targets.
|
||||
description: Struct containing the CA cert to use for the targets.
|
||||
properties:
|
||||
configMap:
|
||||
description: ConfigMap containing data to use for the targets.
|
||||
@@ -3595,6 +3595,100 @@ spec:
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
topologySpreadConstraints:
|
||||
description: If specified, the pod's topology spread constraints.
|
||||
items:
|
||||
description: TopologySpreadConstraint specifies how to spread matching
|
||||
pods among the given topology.
|
||||
properties:
|
||||
labelSelector:
|
||||
description: LabelSelector is used to find matching pods. Pods
|
||||
that match this label selector are counted to determine the
|
||||
number of pods in their corresponding topology domain.
|
||||
properties:
|
||||
matchExpressions:
|
||||
description: matchExpressions is a list of label selector
|
||||
requirements. The requirements are ANDed.
|
||||
items:
|
||||
description: A label selector requirement is a selector
|
||||
that contains values, a key, and an operator that relates
|
||||
the key and values.
|
||||
properties:
|
||||
key:
|
||||
description: key is the label key that the selector
|
||||
applies to.
|
||||
type: string
|
||||
operator:
|
||||
description: operator represents a key's relationship
|
||||
to a set of values. Valid operators are In, NotIn,
|
||||
Exists and DoesNotExist.
|
||||
type: string
|
||||
values:
|
||||
description: 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.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
required:
|
||||
- key
|
||||
- operator
|
||||
type: object
|
||||
type: array
|
||||
matchLabels:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: 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.
|
||||
type: object
|
||||
type: object
|
||||
maxSkew:
|
||||
description: 'MaxSkew describes the degree to which pods may
|
||||
be unevenly distributed. It''s the maximum permitted difference
|
||||
between the number of matching pods in any two topology domains
|
||||
of a given topology type. For example, in a 3-zone cluster,
|
||||
MaxSkew is set to 1, and pods with the same labelSelector
|
||||
spread as 1/1/0: | zone1 | zone2 | zone3 | | P | P | |
|
||||
- if MaxSkew is 1, incoming pod can only be scheduled to zone3
|
||||
to become 1/1/1; scheduling it onto zone1(zone2) would make
|
||||
the ActualSkew(2-0) on zone1(zone2) violate MaxSkew(1). -
|
||||
if MaxSkew is 2, incoming pod can be scheduled onto any zone.
|
||||
It''s a required field. Default value is 1 and 0 is not allowed.'
|
||||
format: int32
|
||||
type: integer
|
||||
topologyKey:
|
||||
description: TopologyKey is the key of node labels. Nodes that
|
||||
have a label with this key and identical values are considered
|
||||
to be in the same topology. We consider each <key, value>
|
||||
as a "bucket", and try to put balanced number of pods into
|
||||
each bucket. It's a required field.
|
||||
type: string
|
||||
whenUnsatisfiable:
|
||||
description: 'WhenUnsatisfiable indicates how to deal with a
|
||||
pod if it doesn''t satisfy the spread constraint. - DoNotSchedule
|
||||
(default) tells the scheduler not to schedule it - ScheduleAnyway
|
||||
tells the scheduler to still schedule it It''s considered
|
||||
as "Unsatisfiable" if and only if placing incoming pod on
|
||||
any topology violates "MaxSkew". For example, in a 3-zone
|
||||
cluster, MaxSkew is set to 1, and pods with the same labelSelector
|
||||
spread as 3/1/1: | zone1 | zone2 | zone3 | | P P P | P | P |
|
||||
If WhenUnsatisfiable is set to DoNotSchedule, incoming pod
|
||||
can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2)
|
||||
as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1). In
|
||||
other words, the cluster can still be imbalanced, but scheduler
|
||||
won''t make it *more* imbalanced. It''s a required field.'
|
||||
type: string
|
||||
required:
|
||||
- maxSkew
|
||||
- topologyKey
|
||||
- whenUnsatisfiable
|
||||
type: object
|
||||
type: array
|
||||
tracingConfig:
|
||||
description: TracingConfig configures tracing in Thanos. This is an
|
||||
experimental feature, it may change in any upcoming release in a
|
||||
|
||||
@@ -9,7 +9,7 @@ metadata:
|
||||
{{ include "kube-prometheus-stack.labels" . | indent 4 }}
|
||||
spec:
|
||||
{{- if .Values.alertmanager.alertmanagerSpec.image }}
|
||||
baseImage: {{ .Values.alertmanager.alertmanagerSpec.image.repository }}
|
||||
image: {{ .Values.alertmanager.alertmanagerSpec.image.repository }}:{{ .Values.alertmanager.alertmanagerSpec.image.tag }}
|
||||
version: {{ .Values.alertmanager.alertmanagerSpec.image.tag }}
|
||||
{{- if .Values.alertmanager.alertmanagerSpec.image.sha }}
|
||||
sha: {{ .Values.alertmanager.alertmanagerSpec.image.sha }}
|
||||
|
||||
@@ -1,50 +0,0 @@
|
||||
{{- if and .Values.prometheusOperator.enabled .Values.prometheusOperator.cleanupCustomResource }}
|
||||
apiVersion: batch/v1
|
||||
kind: Job
|
||||
metadata:
|
||||
name: {{ template "kube-prometheus-stack.fullname" . }}-operator-cleanup
|
||||
namespace: {{ template "kube-prometheus-stack.namespace" . }}
|
||||
annotations:
|
||||
"helm.sh/hook": pre-delete
|
||||
"helm.sh/hook-weight": "3"
|
||||
"helm.sh/hook-delete-policy": hook-succeeded
|
||||
labels:
|
||||
app: {{ template "kube-prometheus-stack.name" . }}-operator
|
||||
{{ include "kube-prometheus-stack.labels" . | indent 4 }}
|
||||
spec:
|
||||
template:
|
||||
metadata:
|
||||
name: {{ template "kube-prometheus-stack.fullname" . }}-operator-cleanup
|
||||
labels:
|
||||
app: {{ template "kube-prometheus-stack.name" . }}-operator
|
||||
{{ include "kube-prometheus-stack.labels" . | indent 8 }}
|
||||
spec:
|
||||
{{- if .Values.global.rbac.create }}
|
||||
serviceAccountName: {{ template "kube-prometheus-stack.operator.serviceAccountName" . }}
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: kubectl
|
||||
{{- if .Values.prometheusOperator.kubectlImage.sha }}
|
||||
image: "{{ .Values.prometheusOperator.kubectlImage.repository }}:{{ .Values.prometheusOperator.kubectlImage.tag }}@sha256:{{ .Values.prometheusOperator.kubectlImage.sha }}"
|
||||
{{- else }}
|
||||
image: "{{ .Values.prometheusOperator.kubectlImage.repository }}:{{ .Values.prometheusOperator.kubectlImage.tag }}"
|
||||
{{- end }}
|
||||
imagePullPolicy: "{{ .Values.prometheusOperator.kubectlImage.pullPolicy }}"
|
||||
command:
|
||||
- /bin/sh
|
||||
- -c
|
||||
- >
|
||||
kubectl delete alertmanager --all;
|
||||
kubectl delete prometheus --all;
|
||||
kubectl delete prometheusrule --all;
|
||||
kubectl delete servicemonitor --all;
|
||||
sleep 10;
|
||||
kubectl delete crd alertmanagers.monitoring.coreos.com;
|
||||
kubectl delete crd prometheuses.monitoring.coreos.com;
|
||||
kubectl delete crd prometheusrules.monitoring.coreos.com;
|
||||
kubectl delete crd servicemonitors.monitoring.coreos.com;
|
||||
kubectl delete crd podmonitors.monitoring.coreos.com;
|
||||
kubectl delete crd thanosrulers.monitoring.coreos.com;
|
||||
kubectl delete crd probes.monitoring.coreos.com;
|
||||
restartPolicy: OnFailure
|
||||
{{- end }}
|
||||
@@ -7,28 +7,20 @@ metadata:
|
||||
app: {{ template "kube-prometheus-stack.name" . }}-operator
|
||||
{{ include "kube-prometheus-stack.labels" . | indent 4 }}
|
||||
rules:
|
||||
{{- if or .Values.prometheusOperator.manageCrds .Values.prometheusOperator.cleanupCustomResource }}
|
||||
- apiGroups:
|
||||
- apiextensions.k8s.io
|
||||
resources:
|
||||
- customresourcedefinitions
|
||||
verbs:
|
||||
- '*'
|
||||
{{- end }}
|
||||
- apiGroups:
|
||||
- monitoring.coreos.com
|
||||
resources:
|
||||
- alertmanagers
|
||||
- prometheuses
|
||||
- thanosrulers
|
||||
- prometheuses/finalizers
|
||||
- alertmanagers/finalizers
|
||||
- alertmanagerconfigs
|
||||
- prometheuses
|
||||
- prometheuses/finalizers
|
||||
- thanosrulers
|
||||
- thanosrulers/finalizers
|
||||
- servicemonitors
|
||||
- podmonitors
|
||||
- prometheusrules
|
||||
- probes
|
||||
- probes/finalizers
|
||||
- prometheusrules
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
@@ -77,4 +69,12 @@ rules:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- networking.k8s.io
|
||||
resources:
|
||||
- ingresses
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
{{- end }}
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
{{- if and .Values.prometheusOperator.enabled .Values.prometheusOperator.createCustomResource -}}
|
||||
{{- range $path, $bytes := .Files.Glob "crds/*.yaml" }}
|
||||
{{ $.Files.Get $path }}
|
||||
---
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -39,11 +39,6 @@ spec:
|
||||
{{- end }}
|
||||
imagePullPolicy: "{{ .Values.prometheusOperator.image.pullPolicy }}"
|
||||
args:
|
||||
# Empty if statement to catch non-semver master tags that do not need the --manage-crds flag
|
||||
{{- if regexMatch "master.*" .Values.prometheusOperator.image.tag -}}
|
||||
{{- else if (semverCompare "< v0.39.0" .Values.prometheusOperator.image.tag) -}}
|
||||
- --manage-crds={{ .Values.prometheusOperator.manageCrds }}
|
||||
{{- end }}
|
||||
{{- if .Values.prometheusOperator.kubeletService.enabled }}
|
||||
- --kubelet-service={{ .Values.prometheusOperator.kubeletService.namespace }}/{{ template "kube-prometheus-stack.fullname" . }}-kubelet
|
||||
{{- end }}
|
||||
@@ -70,11 +65,15 @@ spec:
|
||||
{{- else }}
|
||||
- --prometheus-config-reloader={{ .Values.prometheusOperator.prometheusConfigReloaderImage.repository }}:{{ .Values.prometheusOperator.prometheusConfigReloaderImage.tag }}
|
||||
{{- end }}
|
||||
# Empty if statement to catch non-semver master tags that do not need the --config-reloader-image flag
|
||||
{{- if regexMatch "master.*" .Values.prometheusOperator.image.tag -}}
|
||||
{{- else if (semverCompare "< v0.43.0" .Values.prometheusOperator.image.tag) -}}
|
||||
{{- if .Values.prometheusOperator.configmapReloadImage.sha }}
|
||||
- --config-reloader-image={{ .Values.prometheusOperator.configmapReloadImage.repository }}:{{ .Values.prometheusOperator.configmapReloadImage.tag }}@sha256:{{ .Values.prometheusOperator.configmapReloadImage.sha }}
|
||||
{{- else }}
|
||||
- --config-reloader-image={{ .Values.prometheusOperator.configmapReloadImage.repository }}:{{ .Values.prometheusOperator.configmapReloadImage.tag }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
- --config-reloader-cpu={{ .Values.prometheusOperator.configReloaderCpu }}
|
||||
- --config-reloader-memory={{ .Values.prometheusOperator.configReloaderMemory }}
|
||||
{{- if .Values.prometheusOperator.alertmanagerInstanceNamespaces }}
|
||||
@@ -109,41 +108,13 @@ spec:
|
||||
readOnlyRootFilesystem: true
|
||||
{{- if .Values.prometheusOperator.tls.enabled }}
|
||||
volumeMounts:
|
||||
- name: tls-proxy-secret
|
||||
- name: tls-secret
|
||||
mountPath: /cert
|
||||
readOnly: true
|
||||
{{- end }}
|
||||
{{- if .Values.prometheusOperator.tlsProxy.enabled }}
|
||||
- name: tls-proxy
|
||||
{{- if .Values.prometheusOperator.tlsProxy.image.sha }}
|
||||
image: {{ .Values.prometheusOperator.tlsProxy.image.repository }}:{{ .Values.prometheusOperator.tlsProxy.image.tag }}@sha256:{{ .Values.prometheusOperator.tlsProxy.image.sha }}
|
||||
{{- else }}
|
||||
image: {{ .Values.prometheusOperator.tlsProxy.image.repository }}:{{ .Values.prometheusOperator.tlsProxy.image.tag }}
|
||||
{{- end }}
|
||||
imagePullPolicy: {{ .Values.prometheusOperator.tlsProxy.image.pullPolicy }}
|
||||
args:
|
||||
- server
|
||||
- --listen=:8443
|
||||
- --target=127.0.0.1:8080
|
||||
- --key=cert/key
|
||||
- --cert=cert/cert
|
||||
- --disable-authentication
|
||||
resources:
|
||||
{{ toYaml .Values.prometheusOperator.tlsProxy.resources | indent 12 }}
|
||||
volumeMounts:
|
||||
- name: tls-proxy-secret
|
||||
mountPath: /cert
|
||||
readOnly: true
|
||||
ports:
|
||||
- containerPort: 8443
|
||||
name: https
|
||||
securityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
readOnlyRootFilesystem: true
|
||||
{{- end }}
|
||||
{{- if or .Values.prometheusOperator.tlsProxy.enabled .Values.prometheusOperator.tls.enabled }}
|
||||
{{- if .Values.prometheusOperator.tls.enabled }}
|
||||
volumes:
|
||||
- name: tls-proxy-secret
|
||||
- name: tls-secret
|
||||
secret:
|
||||
defaultMode: 420
|
||||
secretName: {{ template "kube-prometheus-stack.fullname" . }}-admission
|
||||
|
||||
@@ -40,7 +40,7 @@ spec:
|
||||
port: 8080
|
||||
targetPort: http
|
||||
{{- end }}
|
||||
{{- if or .Values.prometheusOperator.tlsProxy.enabled .Values.prometheusOperator.tls.enabled }}
|
||||
{{- if .Values.prometheusOperator.tls.enabled }}
|
||||
- name: https
|
||||
{{- if eq .Values.prometheusOperator.service.type "NodePort"}}
|
||||
nodePort: {{ .Values.prometheusOperator.service.nodePortTls }}
|
||||
|
||||
@@ -7,30 +7,21 @@ metadata:
|
||||
app: {{ template "kube-prometheus-stack.name" . }}-prometheus
|
||||
{{ include "kube-prometheus-stack.labels" . | indent 4 }}
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- nodes/metrics
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
# This permission are not in the kube-prometheus repo
|
||||
# they're grabbed from https://github.com/prometheus/prometheus/blob/master/documentation/examples/rbac-setup.yml
|
||||
- apiGroups: [""]
|
||||
resources:
|
||||
- nodes
|
||||
- nodes/proxy
|
||||
- nodes/metrics
|
||||
- services
|
||||
- endpoints
|
||||
- pods
|
||||
verbs: ["get", "list", "watch"]
|
||||
- apiGroups:
|
||||
- extensions
|
||||
- "networking.k8s.io"
|
||||
resources:
|
||||
- ingresses
|
||||
verbs: ["get", "list", "watch"]
|
||||
- nonResourceURLs: ["/metrics"]
|
||||
- nonResourceURLs: ["/metrics", "/metrics/cadvisor"]
|
||||
verbs: ["get"]
|
||||
{{- end }}
|
||||
|
||||
@@ -32,7 +32,7 @@ spec:
|
||||
{{ toYaml .Values.prometheus.prometheusSpec.apiserverConfig | indent 4}}
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.prometheusSpec.image }}
|
||||
baseImage: {{ .Values.prometheus.prometheusSpec.image.repository }}
|
||||
image: {{ .Values.prometheus.prometheusSpec.image.repository }}:{{ .Values.prometheus.prometheusSpec.image.tag }}
|
||||
version: {{ .Values.prometheus.prometheusSpec.image.tag }}
|
||||
{{- if .Values.prometheus.prometheusSpec.image.sha }}
|
||||
sha: {{ .Values.prometheus.prometheusSpec.image.sha }}
|
||||
|
||||
@@ -1157,23 +1157,9 @@ prometheus-node-exporter:
|
||||
prometheusOperator:
|
||||
enabled: true
|
||||
|
||||
# If true prometheus operator will create and update its CRDs on startup
|
||||
# Only for prometheusOperator.image.tag < v0.39.0
|
||||
manageCrds: true
|
||||
|
||||
# This is deprecated and will be removed in v11 of the chart. Please use native TLS support below.
|
||||
tlsProxy:
|
||||
enabled: true
|
||||
image:
|
||||
repository: squareup/ghostunnel
|
||||
tag: v1.5.2
|
||||
sha: ""
|
||||
pullPolicy: IfNotPresent
|
||||
resources: {}
|
||||
|
||||
# Prometheus-Operator v0.39.0 and later support TLS natively. To preserve compatibility with tlsProxy, the secret tls-proxy-secret is reused
|
||||
# Prometheus-Operator v0.39.0 and later support TLS natively.
|
||||
tls:
|
||||
enabled: false
|
||||
enabled: true
|
||||
|
||||
## Admission webhook support for PrometheusRules resources added in Prometheus Operator 0.30 can be enabled to prevent incorrectly formatted
|
||||
## rules from making their way into prometheus and potentially preventing the container from starting
|
||||
@@ -1188,7 +1174,7 @@ prometheusOperator:
|
||||
enabled: true
|
||||
image:
|
||||
repository: jettech/kube-webhook-certgen
|
||||
tag: v1.2.1
|
||||
tag: v1.5.0
|
||||
sha: ""
|
||||
pullPolicy: IfNotPresent
|
||||
resources: {}
|
||||
@@ -1260,14 +1246,6 @@ prometheusOperator:
|
||||
##
|
||||
externalIPs: []
|
||||
|
||||
## Deploy CRDs used by Prometheus Operator.
|
||||
##
|
||||
createCustomResource: true
|
||||
|
||||
## Attempt to clean up CRDs created by Prometheus Operator.
|
||||
##
|
||||
cleanupCustomResource: false
|
||||
|
||||
## Labels to add to the operator pod
|
||||
##
|
||||
podLabels: {}
|
||||
@@ -1373,7 +1351,7 @@ prometheusOperator:
|
||||
##
|
||||
image:
|
||||
repository: quay.io/prometheus-operator/prometheus-operator
|
||||
tag: v0.42.1
|
||||
tag: v0.43.0
|
||||
sha: ""
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
@@ -1388,7 +1366,7 @@ prometheusOperator:
|
||||
##
|
||||
prometheusConfigReloaderImage:
|
||||
repository: quay.io/prometheus-operator/prometheus-config-reloader
|
||||
tag: v0.42.1
|
||||
tag: v0.43.0
|
||||
sha: ""
|
||||
|
||||
## Set the prometheus config reloader side-car CPU limit
|
||||
@@ -1652,7 +1630,7 @@ prometheus:
|
||||
##
|
||||
image:
|
||||
repository: quay.io/prometheus/prometheus
|
||||
tag: v2.21.0
|
||||
tag: v2.22.0
|
||||
sha: ""
|
||||
|
||||
## Tolerations for use with node taints
|
||||
|
||||
Reference in New Issue
Block a user