Add prometheus admin flag feature to helm, kube-prometheus and jsonnet files

This commit is contained in:
Purandare, Aditya
2019-01-16 01:36:32 +05:30
parent 682809c0fb
commit e3b989ccd3
6 changed files with 16 additions and 0 deletions

View File

@@ -143,6 +143,8 @@ In order to update the kube-prometheus dependency, simply use the jsonnet-bundle
e.g. of how to compile the manifests: `./build.sh example.jsonnet` e.g. of how to compile the manifests: `./build.sh example.jsonnet`
> before compiling, install `gojsontoyaml` tool with `go get github.com/brancz/gojsontoyaml`
Here's [example.jsonnet](example.jsonnet): Here's [example.jsonnet](example.jsonnet):
[embedmd]:# (example.jsonnet) [embedmd]:# (example.jsonnet)
@@ -279,6 +281,7 @@ These are the available fields with their respective default values:
names: 'k8s', names: 'k8s',
replicas: 2, replicas: 2,
rules: {}, rules: {},
enableAdminApi: 'true',
}, },
alertmanager+:: { alertmanager+:: {

View File

@@ -2,6 +2,10 @@ local kp = (import 'kube-prometheus/kube-prometheus.libsonnet') + {
_config+:: { _config+:: {
namespace: 'monitoring', namespace: 'monitoring',
}, },
prometheus+:: {
name: 'k8s',
enableAdminApi: 'true',
},
}; };
{ ['00namespace-' + name]: kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus) } + { ['00namespace-' + name]: kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus) } +

View File

@@ -82,6 +82,8 @@ local configMapList = k.core.v1.configMapList;
prometheusSelector: 'job="prometheus-k8s"', prometheusSelector: 'job="prometheus-k8s"',
prometheusOperatorSelector: 'job="prometheus-operator"', prometheusOperatorSelector: 'job="prometheus-operator"',
enableAdminApi: 'true',
jobs: { jobs: {
Kubelet: $._config.kubeletSelector, Kubelet: $._config.kubeletSelector,
KubeScheduler: $._config.kubeSchedulerSelector, KubeScheduler: $._config.kubeSchedulerSelector,
@@ -97,6 +99,7 @@ local configMapList = k.core.v1.configMapList;
prometheus+:: { prometheus+:: {
rules: $.prometheusRules + $.prometheusAlerts, rules: $.prometheusRules + $.prometheusAlerts,
enableAdminApi: $._config.enableAdminApi,
}, },
grafana+:: { grafana+:: {

View File

@@ -18,6 +18,7 @@ local k = import 'ksonnet/ksonnet.beta.3/k.libsonnet';
prometheus+:: { prometheus+:: {
name: 'k8s', name: 'k8s',
enableAdminApi: 'true',
replicas: 2, replicas: 2,
rules: {}, rules: {},
renderedRules: {}, renderedRules: {},
@@ -168,6 +169,7 @@ local k = import 'ksonnet/ksonnet.beta.3/k.libsonnet';
replicas: $._config.prometheus.replicas, replicas: $._config.prometheus.replicas,
version: $._config.versions.prometheus, version: $._config.versions.prometheus,
baseImage: $._config.imageRepos.prometheus, baseImage: $._config.imageRepos.prometheus,
enableAdminApi: $._config.prometheus.enableAdminApi,
serviceAccountName: 'prometheus-' + $._config.prometheus.name, serviceAccountName: 'prometheus-' + $._config.prometheus.name,
serviceMonitorSelector: {}, serviceMonitorSelector: {},
serviceMonitorNamespaceSelector: {}, serviceMonitorNamespaceSelector: {},

View File

@@ -1538,6 +1538,9 @@ spec:
required: required:
- name - name
type: array type: array
enableAdminApi:
description: Enable access to prometheus web admin API. More info: https://prometheus.io/docs/prometheus/latest/querying/api/#tsdb-admin-apis
type: boolean
evaluationInterval: evaluationInterval:
description: Interval between consecutive evaluations. description: Interval between consecutive evaluations.
type: string type: string

View File

@@ -12,6 +12,7 @@ spec:
namespace: monitoring namespace: monitoring
port: web port: web
baseImage: quay.io/prometheus/prometheus baseImage: quay.io/prometheus/prometheus
enableAdminApi: true
nodeSelector: nodeSelector:
beta.kubernetes.io/os: linux beta.kubernetes.io/os: linux
replicas: 2 replicas: 2