kube-prometheus: Adjust to new Prometheus rule file CRD

89fc4e306972604eba2dcb961a6d29cc27a668ad introduced the new Prometheus
rule file custom resource definition. This patch adjusts the
kube-prometheus project to use the new custom resource definition.
This commit is contained in:
Max Leonard Inden
2018-06-04 17:13:23 +02:00
parent a47d97859a
commit 8f3b505049
5 changed files with 809 additions and 389 deletions

View File

@@ -7,7 +7,6 @@ local k = import 'ksonnet/ksonnet.beta.3/k.libsonnet';
versions+:: { versions+:: {
prometheusOperator: 'v0.19.0', prometheusOperator: 'v0.19.0',
configmapReloader: 'v0.0.1', configmapReloader: 'v0.0.1',
prometheusConfigReloader: 'v0.0.4',
}, },
imageRepos+:: { imageRepos+:: {
@@ -52,6 +51,7 @@ local k = import 'ksonnet/ksonnet.beta.3/k.libsonnet';
'prometheuses/finalizers', 'prometheuses/finalizers',
'alertmanagers/finalizers', 'alertmanagers/finalizers',
'servicemonitors', 'servicemonitors',
'rulefiles',
]) + ]) +
policyRule.withVerbs(['*']); policyRule.withVerbs(['*']);
@@ -119,7 +119,7 @@ local k = import 'ksonnet/ksonnet.beta.3/k.libsonnet';
container.withArgs([ container.withArgs([
'--kubelet-service=kube-system/kubelet', '--kubelet-service=kube-system/kubelet',
'--config-reloader-image=' + $._config.imageRepos.configmapReloader + ':' + $._config.versions.configmapReloader, '--config-reloader-image=' + $._config.imageRepos.configmapReloader + ':' + $._config.versions.configmapReloader,
'--prometheus-config-reloader=' + $._config.imageRepos.prometheusConfigReloader + ':' + $._config.versions.prometheusConfigReloader, '--prometheus-config-reloader=' + $._config.imageRepos.prometheusConfigReloader + ':' + $._config.versions.prometheusOperator,
]) + ]) +
container.mixin.resources.withRequests({ cpu: '100m', memory: '50Mi' }) + container.mixin.resources.withRequests({ cpu: '100m', memory: '50Mi' }) +
container.mixin.resources.withLimits({ cpu: '200m', memory: '100Mi' }); container.mixin.resources.withLimits({ cpu: '200m', memory: '100Mi' });

View File

@@ -40,11 +40,21 @@ local k = import 'ksonnet/ksonnet.beta.3/k.libsonnet';
service.mixin.metadata.withNamespace($._config.namespace) + service.mixin.metadata.withNamespace($._config.namespace) +
service.mixin.metadata.withLabels({ prometheus: $._config.prometheus.name }), service.mixin.metadata.withLabels({ prometheus: $._config.prometheus.name }),
rules: rules:
local configMap = k.core.v1.configMap; {
apiVersion: 'monitoring.coreos.com/v1',
configMap.new('prometheus-' + $._config.prometheus.name + '-rules', ({ 'all.rules.yaml': std.manifestYamlDoc($._config.prometheus.rules) } + $._config.prometheus.renderedRules)) + kind: 'RuleFile',
configMap.mixin.metadata.withLabels({ role: 'alert-rules', prometheus: $._config.prometheus.name }) + metadata: {
configMap.mixin.metadata.withNamespace($._config.namespace), labels: {
prometheus: $._config.prometheus.name,
role: 'alert-rules',
},
name: 'prometheus-' + $._config.prometheus.name + '-rules',
namespace: $._config.namespace,
},
spec: {
groups: $._config.prometheus.rules.groups,
},
},
roleBindingDefault: roleBindingDefault:
local roleBinding = k.rbac.v1.roleBinding; local roleBinding = k.rbac.v1.roleBinding;

View File

@@ -17,6 +17,7 @@ rules:
- prometheuses/finalizers - prometheuses/finalizers
- alertmanagers/finalizers - alertmanagers/finalizers
- servicemonitors - servicemonitors
- rulefiles
verbs: verbs:
- '*' - '*'
- apiGroups: - apiGroups:

View File

@@ -19,7 +19,7 @@ spec:
- args: - args:
- --kubelet-service=kube-system/kubelet - --kubelet-service=kube-system/kubelet
- --config-reloader-image=quay.io/coreos/configmap-reload:v0.0.1 - --config-reloader-image=quay.io/coreos/configmap-reload:v0.0.1
- --prometheus-config-reloader=quay.io/coreos/prometheus-config-reloader:v0.0.4 - --prometheus-config-reloader=quay.io/coreos/prometheus-config-reloader:v0.19.0
image: quay.io/coreos/prometheus-operator:v0.19.0 image: quay.io/coreos/prometheus-operator:v0.19.0
name: prometheus-operator name: prometheus-operator
ports: ports:

File diff suppressed because it is too large Load Diff