mirror of
https://github.com/prometheus-operator/kube-prometheus.git
synced 2025-10-23 05:01:02 +02:00
fix references to old variables and to other files
Signed-off-by: paulfantom <pawel@krupa.net.pl>
This commit is contained in:
parent
b70eb1c49c
commit
2913c866bb
@ -25,11 +25,11 @@ local kp =
|
|||||||
{ 'prometheus-operator-serviceMonitor': kp.prometheusOperator.serviceMonitor } +
|
{ 'prometheus-operator-serviceMonitor': kp.prometheusOperator.serviceMonitor } +
|
||||||
{ 'prometheus-operator-prometheusRule': kp.prometheusOperator.prometheusRule } +
|
{ 'prometheus-operator-prometheusRule': kp.prometheusOperator.prometheusRule } +
|
||||||
{ 'kube-prometheus-prometheusRule': kp.kubePrometheus.prometheusRule } +
|
{ 'kube-prometheus-prometheusRule': kp.kubePrometheus.prometheusRule } +
|
||||||
{ ['node-exporter-' + name]: kp.nodeExporter[name] for name in std.objectFields(kp.nodeExporter) } +
|
|
||||||
{ ['blackbox-exporter-' + name]: kp.blackboxExporter[name] for name in std.objectFields(kp.blackboxExporter) } +
|
|
||||||
{ ['kube-state-metrics-' + name]: kp.kubeStateMetrics[name] for name in std.objectFields(kp.kubeStateMetrics) } +
|
|
||||||
{ ['alertmanager-' + name]: kp.alertmanager[name] for name in std.objectFields(kp.alertmanager) } +
|
{ ['alertmanager-' + name]: kp.alertmanager[name] for name in std.objectFields(kp.alertmanager) } +
|
||||||
{ ['prometheus-' + name]: kp.prometheus[name] for name in std.objectFields(kp.prometheus) } +
|
{ ['blackbox-exporter-' + name]: kp.blackboxExporter[name] for name in std.objectFields(kp.blackboxExporter) } +
|
||||||
{ ['prometheus-adapter-' + name]: kp.prometheusAdapter[name] for name in std.objectFields(kp.prometheusAdapter) } +
|
|
||||||
{ ['grafana-' + name]: kp.grafana[name] for name in std.objectFields(kp.grafana) } +
|
{ ['grafana-' + name]: kp.grafana[name] for name in std.objectFields(kp.grafana) } +
|
||||||
|
{ ['kube-state-metrics-' + name]: kp.kubeStateMetrics[name] for name in std.objectFields(kp.kubeStateMetrics) } +
|
||||||
{ ['kubernetes-' + name]: kp.kubernetesMixin[name] for name in std.objectFields(kp.kubernetesMixin) }
|
{ ['kubernetes-' + name]: kp.kubernetesMixin[name] for name in std.objectFields(kp.kubernetesMixin) }
|
||||||
|
{ ['node-exporter-' + name]: kp.nodeExporter[name] for name in std.objectFields(kp.nodeExporter) } +
|
||||||
|
{ ['prometheus-' + name]: kp.prometheus[name] for name in std.objectFields(kp.prometheus) } +
|
||||||
|
{ ['prometheus-adapter-' + name]: kp.prometheusAdapter[name] for name in std.objectFields(kp.prometheusAdapter) }
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
local kp = (import 'kube-prometheus/kube-prometheus.libsonnet') + {
|
local kp = (import 'kube-prometheus/main.libsonnet') + {
|
||||||
_config+:: {
|
values+:: {
|
||||||
|
common+: {
|
||||||
namespace: 'monitoring',
|
namespace: 'monitoring',
|
||||||
|
},
|
||||||
prometheus+:: {
|
prometheus+:: {
|
||||||
namespaces+: ['my-namespace', 'my-second-namespace'],
|
namespaces+: ['my-namespace', 'my-second-namespace'],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
prometheus+:: {
|
prometheus+: {
|
||||||
serviceMonitorMyNamespace: {
|
serviceMonitorMyNamespace: {
|
||||||
apiVersion: 'monitoring.coreos.com/v1',
|
apiVersion: 'monitoring.coreos.com/v1',
|
||||||
kind: 'ServiceMonitor',
|
kind: 'ServiceMonitor',
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
local kp = (import 'kube-prometheus/kube-prometheus.libsonnet') + {
|
local kp = (import 'kube-prometheus/main.libsonnet') + {
|
||||||
_config+:: {
|
values+:: {
|
||||||
|
common+: {
|
||||||
namespace: 'monitoring',
|
namespace: 'monitoring',
|
||||||
|
},
|
||||||
|
|
||||||
prometheus+:: {
|
prometheus+:: {
|
||||||
namespaces+: ['my-namespace', 'my-second-namespace'],
|
namespaces+: ['my-namespace', 'my-second-namespace'],
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
((import 'kube-prometheus/kube-prometheus.libsonnet') + {
|
((import 'kube-prometheus/main.libsonnet') + {
|
||||||
_config+:: {
|
_config+:: {
|
||||||
alertmanager+: {
|
alertmanager+: {
|
||||||
config: importstr 'alertmanager-config.yaml',
|
config: importstr 'alertmanager-config.yaml',
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
((import 'kube-prometheus/kube-prometheus.libsonnet') + {
|
((import 'kube-prometheus/main.libsonnet') + {
|
||||||
_config+:: {
|
values+:: {
|
||||||
alertmanager+: {
|
alertmanager+: {
|
||||||
config: |||
|
config: |||
|
||||||
global:
|
global:
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
local kp = (import 'kube-prometheus/kube-prometheus.libsonnet') +
|
local kp = (import 'kube-prometheus/main.libsonnet') +
|
||||||
(import 'kube-prometheus/kube-prometheus-all-namespaces.libsonnet') + {
|
(import 'kube-prometheus/addons/all-namespaces.libsonnet') + {
|
||||||
_config+:: {
|
values+:: {
|
||||||
|
common+: {
|
||||||
namespace: 'monitoring',
|
namespace: 'monitoring',
|
||||||
|
},
|
||||||
prometheus+:: {
|
prometheus+: {
|
||||||
namespaces: [],
|
namespaces: [],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
local kp = (import 'kube-prometheus/kube-prometheus.libsonnet') + {
|
local kp = (import 'kube-prometheus/main.libsonnet') + {
|
||||||
|
values+:: {
|
||||||
_config+:: {
|
common+: {
|
||||||
namespace: 'monitoring',
|
namespace: 'monitoring',
|
||||||
},
|
},
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
[kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus)] +
|
[kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus)] +
|
||||||
|
@ -1,9 +1,13 @@
|
|||||||
local kp = (import 'kube-prometheus/kube-prometheus.libsonnet') +
|
local kp = (import 'kube-prometheus/main.libsonnet') +
|
||||||
(import 'kube-prometheus/kube-prometheus-eks.libsonnet') + {
|
(import 'kube-prometheus/platforms/eks.libsonnet') + {
|
||||||
_config+:: {
|
values+:: {
|
||||||
|
common+: {
|
||||||
namespace: 'monitoring',
|
namespace: 'monitoring',
|
||||||
},
|
},
|
||||||
prometheusRules+:: {
|
},
|
||||||
|
prometheus+: {
|
||||||
|
prometheusRuleEksCNI+: {
|
||||||
|
spec+: {
|
||||||
groups+: [
|
groups+: [
|
||||||
{
|
{
|
||||||
name: 'example-group',
|
name: 'example-group',
|
||||||
@ -16,6 +20,8 @@ local kp = (import 'kube-prometheus/kube-prometheus.libsonnet') +
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
{ ['00namespace-' + name]: kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus) } +
|
{ ['00namespace-' + name]: kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus) } +
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
local kp = (import 'kube-prometheus/kube-prometheus.libsonnet') +
|
local kp = (import 'kube-prometheus/main.libsonnet') +
|
||||||
(import 'kube-prometheus/kube-prometheus-static-etcd.libsonnet') + {
|
(import 'kube-prometheus/addons/static-etcd.libsonnet') + {
|
||||||
_config+:: {
|
values+:: {
|
||||||
|
common+: {
|
||||||
namespace: 'monitoring',
|
namespace: 'monitoring',
|
||||||
|
},
|
||||||
etcd+:: {
|
etcd+:: {
|
||||||
ips: ['127.0.0.1'],
|
ips: ['127.0.0.1'],
|
||||||
clientCA: importstr 'etcd-client-ca.crt',
|
clientCA: importstr 'etcd-client-ca.crt',
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
local kp = (import 'kube-prometheus/kube-prometheus.libsonnet') +
|
local kp = (import 'kube-prometheus/main.libsonnet') +
|
||||||
(import 'kube-prometheus/kube-prometheus-static-etcd.libsonnet') + {
|
(import 'kube-prometheus/addons/static-etcd.libsonnet') + {
|
||||||
_config+:: {
|
values+:: {
|
||||||
|
common+: {
|
||||||
namespace: 'monitoring',
|
namespace: 'monitoring',
|
||||||
|
},
|
||||||
|
|
||||||
// Reference info: https://github.com/coreos/kube-prometheus/blob/master/README.md#static-etcd-configuration
|
// Reference info: https://github.com/coreos/kube-prometheus/blob/master/README.md#static-etcd-configuration
|
||||||
etcd+:: {
|
etcd+:: {
|
||||||
|
@ -5,7 +5,7 @@ local prometheus = grafana.prometheus;
|
|||||||
local template = grafana.template;
|
local template = grafana.template;
|
||||||
local graphPanel = grafana.graphPanel;
|
local graphPanel = grafana.graphPanel;
|
||||||
|
|
||||||
local kp = (import 'kube-prometheus/kube-prometheus.libsonnet') + {
|
local kp = (import 'kube-prometheus/main.libsonnet') + {
|
||||||
_config+:: {
|
_config+:: {
|
||||||
namespace: 'monitoring',
|
namespace: 'monitoring',
|
||||||
},
|
},
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
local kp = (import 'kube-prometheus/kube-prometheus.libsonnet') + {
|
local kp = (import 'kube-prometheus/main.libsonnet') + {
|
||||||
_config+:: {
|
_config+:: {
|
||||||
namespace: 'monitoring',
|
namespace: 'monitoring',
|
||||||
},
|
},
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
local kp = (import 'kube-prometheus/kube-prometheus.libsonnet') + {
|
local kp = (import 'kube-prometheus/main.libsonnet') + {
|
||||||
_config+:: {
|
_config+:: {
|
||||||
namespace: 'monitoring',
|
namespace: 'monitoring',
|
||||||
},
|
},
|
||||||
|
@ -14,10 +14,12 @@ local ingress(name, namespace, rules) = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
local kp =
|
local kp =
|
||||||
(import 'kube-prometheus/kube-prometheus.libsonnet') +
|
(import 'kube-prometheus/main.libsonnet') +
|
||||||
{
|
{
|
||||||
_config+:: {
|
values+:: {
|
||||||
|
common+: {
|
||||||
namespace: 'monitoring',
|
namespace: 'monitoring',
|
||||||
|
},
|
||||||
grafana+:: {
|
grafana+:: {
|
||||||
config+: {
|
config+: {
|
||||||
sections+: {
|
sections+: {
|
||||||
@ -47,7 +49,7 @@ local kp =
|
|||||||
ingress+:: {
|
ingress+:: {
|
||||||
'alertmanager-main': ingress(
|
'alertmanager-main': ingress(
|
||||||
'alertmanager-main',
|
'alertmanager-main',
|
||||||
$._config.namespace,
|
$.values.common.namespace,
|
||||||
[{
|
[{
|
||||||
host: 'alertmanager.example.com',
|
host: 'alertmanager.example.com',
|
||||||
http: {
|
http: {
|
||||||
@ -64,7 +66,7 @@ local kp =
|
|||||||
),
|
),
|
||||||
grafana: ingress(
|
grafana: ingress(
|
||||||
'grafana',
|
'grafana',
|
||||||
$._config.namespace,
|
$.values.common.namespace,
|
||||||
[{
|
[{
|
||||||
host: 'grafana.example.com',
|
host: 'grafana.example.com',
|
||||||
http: {
|
http: {
|
||||||
@ -81,7 +83,7 @@ local kp =
|
|||||||
),
|
),
|
||||||
'prometheus-k8s': ingress(
|
'prometheus-k8s': ingress(
|
||||||
'prometheus-k8s',
|
'prometheus-k8s',
|
||||||
$._config.namespace,
|
$.values.common.namespace,
|
||||||
[{
|
[{
|
||||||
host: 'prometheus.example.com',
|
host: 'prometheus.example.com',
|
||||||
http: {
|
http: {
|
||||||
@ -105,7 +107,7 @@ local kp =
|
|||||||
kind: 'Secret',
|
kind: 'Secret',
|
||||||
metadata: {
|
metadata: {
|
||||||
name: 'basic-auth',
|
name: 'basic-auth',
|
||||||
namespace: $._config.namespace,
|
namespace: $.values.common.namespace,
|
||||||
},
|
},
|
||||||
data: { auth: std.base64(importstr 'auth') },
|
data: { auth: std.base64(importstr 'auth') },
|
||||||
type: 'Opaque',
|
type: 'Opaque',
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
local mixin = import 'kube-prometheus/kube-prometheus-config-mixins.libsonnet';
|
local mixin = import 'kube-prometheus/addons/config-mixins.libsonnet';
|
||||||
local kp = (import 'kube-prometheus/kube-prometheus.libsonnet') + {
|
local kp = (import 'kube-prometheus/main.libsonnet') + {
|
||||||
_config+:: {
|
values+:: {
|
||||||
|
common+: {
|
||||||
namespace: 'monitoring',
|
namespace: 'monitoring',
|
||||||
},
|
},
|
||||||
|
},
|
||||||
} + mixin.withImageRepository('internal-registry.com/organization');
|
} + mixin.withImageRepository('internal-registry.com/organization');
|
||||||
|
|
||||||
{ ['00namespace-' + name]: kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus) } +
|
{ ['00namespace-' + name]: kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus) } +
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
((import 'kube-prometheus/kube-prometheus.libsonnet') + {
|
((import 'kube-prometheus/main.libsonnet') + {
|
||||||
nodeExporter+: {
|
nodeExporter+: {
|
||||||
daemonset+: {
|
daemonset+: {
|
||||||
metadata+: {
|
metadata+: {
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
local kp =
|
local kp =
|
||||||
(import 'kube-prometheus/kube-prometheus.libsonnet') +
|
(import 'kube-prometheus/main.libsonnet') +
|
||||||
(import 'kube-prometheus/kube-prometheus-kubeadm.libsonnet') +
|
(import 'kube-prometheus/platforms/kubeadm.libsonnet') +
|
||||||
// Note that NodePort type services is likely not a good idea for your production use case, it is only used for demonstration purposes here.
|
// Note that NodePort type services is likely not a good idea for your production use case, it is only used for demonstration purposes here.
|
||||||
(import 'kube-prometheus/kube-prometheus-node-ports.libsonnet') +
|
(import 'kube-prometheus/addons/node-ports.libsonnet') +
|
||||||
{
|
{
|
||||||
_config+:: {
|
values+:: {
|
||||||
|
common+: {
|
||||||
namespace: 'monitoring',
|
namespace: 'monitoring',
|
||||||
|
},
|
||||||
alertmanager+:: {
|
alertmanager+:: {
|
||||||
config: importstr 'alertmanager-config.yaml',
|
config: importstr 'alertmanager-config.yaml',
|
||||||
},
|
},
|
||||||
@ -22,7 +24,7 @@ local kp =
|
|||||||
// For simplicity, each of the following values for 'externalUrl':
|
// For simplicity, each of the following values for 'externalUrl':
|
||||||
// * assume that `minikube ip` prints "192.168.99.100"
|
// * assume that `minikube ip` prints "192.168.99.100"
|
||||||
// * hard-code the NodePort for each app
|
// * hard-code the NodePort for each app
|
||||||
prometheus+:: {
|
prometheus+: {
|
||||||
prometheus+: {
|
prometheus+: {
|
||||||
// Reference info: https://coreos.com/operators/prometheus/docs/latest/api.html#prometheusspec
|
// Reference info: https://coreos.com/operators/prometheus/docs/latest/api.html#prometheusspec
|
||||||
spec+: {
|
spec+: {
|
||||||
|
@ -1,8 +1,12 @@
|
|||||||
local kp = (import 'kube-prometheus/kube-prometheus.libsonnet') + {
|
local kp = (import 'kube-prometheus/main.libsonnet') + {
|
||||||
_config+:: {
|
values+:: {
|
||||||
|
common+: {
|
||||||
namespace: 'monitoring',
|
namespace: 'monitoring',
|
||||||
},
|
},
|
||||||
prometheusAlerts+:: {
|
},
|
||||||
|
prometheus+: {
|
||||||
|
prometheusRule+: {
|
||||||
|
spec+: {
|
||||||
groups+: [
|
groups+: [
|
||||||
{
|
{
|
||||||
name: 'example-group',
|
name: 'example-group',
|
||||||
@ -21,6 +25,8 @@ local kp = (import 'kube-prometheus/kube-prometheus.libsonnet') + {
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
{ ['00namespace-' + name]: kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus) } +
|
{ ['00namespace-' + name]: kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus) } +
|
||||||
|
@ -1,8 +1,12 @@
|
|||||||
local kp = (import 'kube-prometheus/kube-prometheus.libsonnet') + {
|
local kp = (import 'kube-prometheus/main.libsonnet') + {
|
||||||
_config+:: {
|
values+:: {
|
||||||
|
common+: {
|
||||||
namespace: 'monitoring',
|
namespace: 'monitoring',
|
||||||
},
|
},
|
||||||
prometheusRules+:: {
|
},
|
||||||
|
prometheus+: {
|
||||||
|
prometheusRule+: {
|
||||||
|
spec+: {
|
||||||
groups+: [
|
groups+: [
|
||||||
{
|
{
|
||||||
name: 'example-group',
|
name: 'example-group',
|
||||||
@ -15,6 +19,8 @@ local kp = (import 'kube-prometheus/kube-prometheus.libsonnet') + {
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
{ ['00namespace-' + name]: kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus) } +
|
{ ['00namespace-' + name]: kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus) } +
|
||||||
|
@ -1,10 +1,16 @@
|
|||||||
local kp = (import 'kube-prometheus/kube-prometheus.libsonnet') + {
|
local kp = (import 'kube-prometheus/main.libsonnet') + {
|
||||||
_config+:: {
|
values+:: {
|
||||||
|
common+: {
|
||||||
namespace: 'monitoring',
|
namespace: 'monitoring',
|
||||||
},
|
},
|
||||||
prometheusAlerts+:: {
|
},
|
||||||
|
prometheus+: {
|
||||||
|
prometheusRule+: {
|
||||||
|
spec+: {
|
||||||
groups+: (import 'existingrule.json').groups,
|
groups+: (import 'existingrule.json').groups,
|
||||||
},
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
{ ['00namespace-' + name]: kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus) } +
|
{ ['00namespace-' + name]: kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus) } +
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
((import 'kube-prometheus/kube-prometheus.libsonnet') + {
|
((import 'kube-prometheus/main.libsonnet') + {
|
||||||
prometheus+: {
|
prometheus+: {
|
||||||
prometheus+: {
|
prometheus+: {
|
||||||
metadata+: {
|
metadata+: {
|
||||||
|
@ -1,15 +1,17 @@
|
|||||||
local kp =
|
local kp =
|
||||||
(import 'kube-prometheus/kube-prometheus.libsonnet') +
|
(import 'kube-prometheus/main.libsonnet') +
|
||||||
// Uncomment the following imports to enable its patches
|
// Uncomment the following imports to enable its patches
|
||||||
// (import 'kube-prometheus/kube-prometheus-anti-affinity.libsonnet') +
|
// (import 'kube-prometheus/addons/anti-affinity.libsonnet') +
|
||||||
// (import 'kube-prometheus/kube-prometheus-managed-cluster.libsonnet') +
|
// (import 'kube-prometheus/addons/managed-cluster.libsonnet') +
|
||||||
// (import 'kube-prometheus/kube-prometheus-node-ports.libsonnet') +
|
// (import 'kube-prometheus/addons/node-ports.libsonnet') +
|
||||||
// (import 'kube-prometheus/kube-prometheus-static-etcd.libsonnet') +
|
// (import 'kube-prometheus/addons/static-etcd.libsonnet') +
|
||||||
// (import 'kube-prometheus/kube-prometheus-thanos-sidecar.libsonnet') +
|
// (import 'kube-prometheus/addons/thanos-sidecar.libsonnet') +
|
||||||
{
|
{
|
||||||
_config+:: {
|
values+:: {
|
||||||
|
common+: {
|
||||||
namespace: 'monitoring',
|
namespace: 'monitoring',
|
||||||
},
|
},
|
||||||
|
},
|
||||||
|
|
||||||
prometheus+:: {
|
prometheus+:: {
|
||||||
prometheus+: {
|
prometheus+: {
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
local kp = (import 'kube-prometheus/kube-prometheus.libsonnet') +
|
local kp = (import 'kube-prometheus/main.libsonnet') +
|
||||||
(import 'kube-prometheus/kube-prometheus-strip-limits.libsonnet') + {
|
(import 'kube-prometheus/addons/strip-limits.libsonnet') + {
|
||||||
_config+:: {
|
values+:: {
|
||||||
|
common+: {
|
||||||
namespace: 'monitoring',
|
namespace: 'monitoring',
|
||||||
},
|
},
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
{ ['00namespace-' + name]: kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus) } +
|
{ ['00namespace-' + name]: kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus) } +
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
{
|
{
|
||||||
_config+:: {
|
prometheus+: {
|
||||||
tolerations+:: [
|
prometheus+: {
|
||||||
|
spec+: {
|
||||||
|
tolerations: [
|
||||||
{
|
{
|
||||||
key: 'key1',
|
key: 'key1',
|
||||||
operator: 'Equal',
|
operator: 'Equal',
|
||||||
@ -13,12 +15,6 @@
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
prometheus+: {
|
|
||||||
prometheus+: {
|
|
||||||
spec+: {
|
|
||||||
tolerations: [t for t in $._config.tolerations],
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,13 @@
|
|||||||
local kp = (import 'kube-prometheus/kube-prometheus.libsonnet') +
|
local kp = (import 'kube-prometheus/main.libsonnet') +
|
||||||
(import 'kube-prometheus/kube-prometheus-weave-net.libsonnet') + {
|
(import 'kube-prometheus/addons/weave-net.libsonnet') + {
|
||||||
_config+:: {
|
values+:: {
|
||||||
|
common+: {
|
||||||
namespace: 'monitoring',
|
namespace: 'monitoring',
|
||||||
},
|
},
|
||||||
prometheusAlerts+:: {
|
},
|
||||||
|
prometheus+: {
|
||||||
|
prometheusRule+: {
|
||||||
|
spec+: {
|
||||||
groups: std.map(
|
groups: std.map(
|
||||||
function(group)
|
function(group)
|
||||||
if group.name == 'weave-net' then
|
if group.name == 'weave-net' then
|
||||||
@ -29,6 +33,8 @@ local kp = (import 'kube-prometheus/kube-prometheus.libsonnet') +
|
|||||||
super.groups
|
super.groups
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
{ ['00namespace-' + name]: kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus) } +
|
{ ['00namespace-' + name]: kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus) } +
|
||||||
|
@ -25,14 +25,14 @@
|
|||||||
alertmanager+:: {
|
alertmanager+:: {
|
||||||
alertmanager+: {
|
alertmanager+: {
|
||||||
spec+:
|
spec+:
|
||||||
antiaffinity('alertmanager', [$._config.alertmanager.name], $._config.namespace),
|
antiaffinity('alertmanager', [$.values.alertmanager.name], $.values.common.namespace),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
prometheus+:: {
|
prometheus+:: {
|
||||||
prometheus+: {
|
prometheus+: {
|
||||||
spec+:
|
spec+:
|
||||||
antiaffinity('prometheus', [$._config.prometheus.name], $._config.namespace),
|
antiaffinity('prometheus', [$.values.prometheus.name], $.values.common.namespace),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
local l = import 'image.libsonnet';
|
local l = import 'lib/lib.libsonnet';
|
||||||
|
|
||||||
// withImageRepository is a mixin that replaces all images prefixes by repository. eg.
|
// withImageRepository is a mixin that replaces all images prefixes by repository. eg.
|
||||||
// quay.io/coreos/addon-resizer -> $repository/addon-resizer
|
// quay.io/coreos/addon-resizer -> $repository/addon-resizer
|
||||||
|
@ -2,9 +2,9 @@
|
|||||||
// For more details on usage visit https://github.com/DirectXMan12/k8s-prometheus-adapter#quick-links
|
// For more details on usage visit https://github.com/DirectXMan12/k8s-prometheus-adapter#quick-links
|
||||||
|
|
||||||
{
|
{
|
||||||
_config+:: {
|
values+:: {
|
||||||
prometheusAdapter+:: {
|
prometheusAdapter+: {
|
||||||
namespace: $._config.namespace,
|
namespace: $.values.common.namespace,
|
||||||
// Rules for custom-metrics
|
// Rules for custom-metrics
|
||||||
config+:: {
|
config+:: {
|
||||||
rules+: [
|
rules+: [
|
||||||
@ -88,7 +88,7 @@
|
|||||||
spec: {
|
spec: {
|
||||||
service: {
|
service: {
|
||||||
name: $.prometheusAdapter.service.metadata.name,
|
name: $.prometheusAdapter.service.metadata.name,
|
||||||
namespace: $._config.prometheusAdapter.namespace,
|
namespace: $.values.prometheusAdapter.namespace,
|
||||||
},
|
},
|
||||||
group: 'custom.metrics.k8s.io',
|
group: 'custom.metrics.k8s.io',
|
||||||
version: 'v1beta1',
|
version: 'v1beta1',
|
||||||
@ -106,7 +106,7 @@
|
|||||||
spec: {
|
spec: {
|
||||||
service: {
|
service: {
|
||||||
name: $.prometheusAdapter.service.metadata.name,
|
name: $.prometheusAdapter.service.metadata.name,
|
||||||
namespace: $._config.prometheusAdapter.namespace,
|
namespace: $.values.prometheusAdapter.namespace,
|
||||||
},
|
},
|
||||||
group: 'custom.metrics.k8s.io',
|
group: 'custom.metrics.k8s.io',
|
||||||
version: 'v1beta2',
|
version: 'v1beta2',
|
||||||
@ -141,7 +141,7 @@
|
|||||||
subjects: [{
|
subjects: [{
|
||||||
kind: 'ServiceAccount',
|
kind: 'ServiceAccount',
|
||||||
name: $.prometheusAdapter.serviceAccount.metadata.name,
|
name: $.prometheusAdapter.serviceAccount.metadata.name,
|
||||||
namespace: $._config.prometheusAdapter.namespace,
|
namespace: $.values.prometheusAdapter.namespace,
|
||||||
}],
|
}],
|
||||||
},
|
},
|
||||||
customMetricsClusterRoleBindingHPA: {
|
customMetricsClusterRoleBindingHPA: {
|
||||||
|
@ -2,9 +2,9 @@
|
|||||||
// For more details on usage visit https://github.com/DirectXMan12/k8s-prometheus-adapter#quick-links
|
// For more details on usage visit https://github.com/DirectXMan12/k8s-prometheus-adapter#quick-links
|
||||||
|
|
||||||
{
|
{
|
||||||
_config+:: {
|
values+:: {
|
||||||
prometheusAdapter+:: {
|
prometheusAdapter+: {
|
||||||
namespace: $._config.namespace,
|
namespace: $.values.common.namespace,
|
||||||
// Rules for external-metrics
|
// Rules for external-metrics
|
||||||
config+:: {
|
config+:: {
|
||||||
externalRules+: [
|
externalRules+: [
|
||||||
@ -24,7 +24,7 @@
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
prometheusAdapter+:: {
|
prometheusAdapter+: {
|
||||||
externalMetricsApiService: {
|
externalMetricsApiService: {
|
||||||
apiVersion: 'apiregistration.k8s.io/v1',
|
apiVersion: 'apiregistration.k8s.io/v1',
|
||||||
kind: 'APIService',
|
kind: 'APIService',
|
||||||
@ -34,7 +34,7 @@
|
|||||||
spec: {
|
spec: {
|
||||||
service: {
|
service: {
|
||||||
name: $.prometheusAdapter.service.metadata.name,
|
name: $.prometheusAdapter.service.metadata.name,
|
||||||
namespace: $._config.prometheusAdapter.namespace,
|
namespace: $.values.prometheusAdapter.namespace,
|
||||||
},
|
},
|
||||||
group: 'external.metrics.k8s.io',
|
group: 'external.metrics.k8s.io',
|
||||||
version: 'v1beta1',
|
version: 'v1beta1',
|
||||||
@ -70,7 +70,7 @@
|
|||||||
subjects: [{
|
subjects: [{
|
||||||
kind: 'ServiceAccount',
|
kind: 'ServiceAccount',
|
||||||
name: $.prometheusAdapter.serviceAccount.metadata.name,
|
name: $.prometheusAdapter.serviceAccount.metadata.name,
|
||||||
namespace: $._config.prometheusAdapter.namespace,
|
namespace: $.values.prometheusAdapter.namespace,
|
||||||
}],
|
}],
|
||||||
},
|
},
|
||||||
externalMetricsClusterRoleBindingHPA: {
|
externalMetricsClusterRoleBindingHPA: {
|
||||||
|
@ -1,21 +0,0 @@
|
|||||||
// imageName extracts the image name from a fully qualified image string. eg.
|
|
||||||
// quay.io/coreos/addon-resizer -> addon-resizer
|
|
||||||
// grafana/grafana -> grafana
|
|
||||||
local imageName(image) =
|
|
||||||
local parts = std.split(image, '/');
|
|
||||||
local len = std.length(parts);
|
|
||||||
if len == 3 then
|
|
||||||
// registry.com/org/image
|
|
||||||
parts[2]
|
|
||||||
else if len == 2 then
|
|
||||||
// org/image
|
|
||||||
parts[1]
|
|
||||||
else if len == 1 then
|
|
||||||
// image, ie. busybox
|
|
||||||
parts[0]
|
|
||||||
else
|
|
||||||
error 'unknown image format: ' + image;
|
|
||||||
|
|
||||||
{
|
|
||||||
imageName:: imageName,
|
|
||||||
}
|
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
prometheus+:: {
|
prometheus+: {
|
||||||
serviceMonitorKubelet+:
|
serviceMonitorKubelet+:
|
||||||
{
|
{
|
||||||
spec+: {
|
spec+: {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
_config+:: {
|
values+:: {
|
||||||
versions+:: { clusterVerticalAutoscaler: '0.8.1' },
|
versions+:: { clusterVerticalAutoscaler: '0.8.1' },
|
||||||
imageRepos+:: { clusterVerticalAutoscaler: 'gcr.io/google_containers/cpvpa-amd64' },
|
imageRepos+:: { clusterVerticalAutoscaler: 'gcr.io/google_containers/cpvpa-amd64' },
|
||||||
|
|
||||||
@ -29,7 +29,7 @@
|
|||||||
kind: 'ClusterRole',
|
kind: 'ClusterRole',
|
||||||
name: 'ksm-autoscaler',
|
name: 'ksm-autoscaler',
|
||||||
},
|
},
|
||||||
subjects: [{ kind: 'ServiceAccount', name: 'ksm-autoscaler', namespace: $._config.namespace }],
|
subjects: [{ kind: 'ServiceAccount', name: 'ksm-autoscaler', namespace: $.values.common.namespace }],
|
||||||
},
|
},
|
||||||
|
|
||||||
roleBinding: {
|
roleBinding: {
|
||||||
@ -37,7 +37,7 @@
|
|||||||
kind: 'RoleBinding',
|
kind: 'RoleBinding',
|
||||||
metadata: {
|
metadata: {
|
||||||
name: 'ksm-autoscaler',
|
name: 'ksm-autoscaler',
|
||||||
namespace: $._config.namespace,
|
namespace: $.values.common.namespace,
|
||||||
},
|
},
|
||||||
roleRef: {
|
roleRef: {
|
||||||
apiGroup: 'rbac.authorization.k8s.io',
|
apiGroup: 'rbac.authorization.k8s.io',
|
||||||
@ -52,7 +52,7 @@
|
|||||||
kind: 'Role',
|
kind: 'Role',
|
||||||
metadata: {
|
metadata: {
|
||||||
name: 'ksm-autoscaler',
|
name: 'ksm-autoscaler',
|
||||||
namespace: $._config.namespace,
|
namespace: $.values.common.namespace,
|
||||||
},
|
},
|
||||||
rules: [
|
rules: [
|
||||||
{
|
{
|
||||||
@ -75,7 +75,7 @@
|
|||||||
kind: 'ServiceAccount',
|
kind: 'ServiceAccount',
|
||||||
metadata: {
|
metadata: {
|
||||||
name: 'ksm-autoscaler',
|
name: 'ksm-autoscaler',
|
||||||
namespace: $._config.namespace,
|
namespace: $.values.common.namespace,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -83,14 +83,14 @@
|
|||||||
local podLabels = { app: 'ksm-autoscaler' };
|
local podLabels = { app: 'ksm-autoscaler' };
|
||||||
local c = {
|
local c = {
|
||||||
name: 'ksm-autoscaler',
|
name: 'ksm-autoscaler',
|
||||||
image: $._config.imageRepos.clusterVerticalAutoscaler + ':v' + $._config.versions.clusterVerticalAutoscaler,
|
image: $.values.imageRepos.clusterVerticalAutoscaler + ':v' + $.values.versions.clusterVerticalAutoscaler,
|
||||||
args: [
|
args: [
|
||||||
'/cpvpa',
|
'/cpvpa',
|
||||||
'--target=deployment/kube-state-metrics',
|
'--target=deployment/kube-state-metrics',
|
||||||
'--namespace=' + $._config.namespace,
|
'--namespace=' + $.values.common.namespace,
|
||||||
'--logtostderr=true',
|
'--logtostderr=true',
|
||||||
'--poll-period-seconds=10',
|
'--poll-period-seconds=10',
|
||||||
'--default-config={"kube-state-metrics":{"requests":{"cpu":{"base":"' + $._config.kubeStateMetrics.baseCPU + '","step":"' + $._config.kubeStateMetrics.stepCPU + '","nodesPerStep":1},"memory":{"base":"' + $._config.kubeStateMetrics.baseMemory + '","step":"' + $._config.kubeStateMetrics.stepMemory + '","nodesPerStep":1}},"limits":{"cpu":{"base":"' + $._config.kubeStateMetrics.baseCPU + '","step":"' + $._config.kubeStateMetrics.stepCPU + '","nodesPerStep":1},"memory":{"base":"' + $._config.kubeStateMetrics.baseMemory + '","step":"' + $._config.kubeStateMetrics.stepMemory + '","nodesPerStep":1}}}}',
|
'--default-config={"kube-state-metrics":{"requests":{"cpu":{"base":"' + $.values.kubeStateMetrics.baseCPU + '","step":"' + $.values.kubeStateMetrics.stepCPU + '","nodesPerStep":1},"memory":{"base":"' + $.values.kubeStateMetrics.baseMemory + '","step":"' + $.values.kubeStateMetrics.stepMemory + '","nodesPerStep":1}},"limits":{"cpu":{"base":"' + $.values.kubeStateMetrics.baseCPU + '","step":"' + $.values.kubeStateMetrics.stepCPU + '","nodesPerStep":1},"memory":{"base":"' + $.values.kubeStateMetrics.baseMemory + '","step":"' + $.values.kubeStateMetrics.stepMemory + '","nodesPerStep":1}}}}',
|
||||||
],
|
],
|
||||||
resources: {
|
resources: {
|
||||||
requests: { cpu: '20m', memory: '10Mi' },
|
requests: { cpu: '20m', memory: '10Mi' },
|
||||||
@ -102,7 +102,7 @@
|
|||||||
kind: 'Deployment',
|
kind: 'Deployment',
|
||||||
metadata: {
|
metadata: {
|
||||||
name: 'ksm-autoscaler',
|
name: 'ksm-autoscaler',
|
||||||
namespace: $._config.namespace,
|
namespace: $.values.common.namespace,
|
||||||
labels: podLabels,
|
labels: podLabels,
|
||||||
},
|
},
|
||||||
spec: {
|
spec: {
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
// Disable scrape jobs, service monitors, and alert groups for these components by overwriting 'main.libsonnet' defaults
|
// Disable scrape jobs, service monitors, and alert groups for these components by overwriting 'main.libsonnet' defaults
|
||||||
|
|
||||||
{
|
{
|
||||||
_config+:: {
|
values+:: {
|
||||||
// This snippet walks the original object (super.jobs, set as temp var j) and creates a replacement jobs object
|
// This snippet walks the original object (super.jobs, set as temp var j) and creates a replacement jobs object
|
||||||
// excluding any members of the set specified (eg: controller and scheduler).
|
// excluding any members of the set specified (eg: controller and scheduler).
|
||||||
local j = super.jobs,
|
local j = super.jobs,
|
||||||
@ -13,7 +13,7 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
// Skip alerting rules too
|
// Skip alerting rules too
|
||||||
prometheus+:: {
|
prometheus+: {
|
||||||
rules+:: {
|
rules+:: {
|
||||||
local g = super.groups,
|
local g = super.groups,
|
||||||
groups: [
|
groups: [
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
(import 'github.com/etcd-io/etcd/Documentation/etcd-mixin/mixin.libsonnet') + {
|
(import 'github.com/etcd-io/etcd/Documentation/etcd-mixin/mixin.libsonnet') + {
|
||||||
_config+:: {
|
values+:: {
|
||||||
etcd: {
|
etcd: {
|
||||||
ips: [],
|
ips: [],
|
||||||
clientCA: null,
|
clientCA: null,
|
||||||
@ -36,7 +36,7 @@
|
|||||||
subsets: [{
|
subsets: [{
|
||||||
addresses: [
|
addresses: [
|
||||||
{ ip: etcdIP }
|
{ ip: etcdIP }
|
||||||
for etcdIP in $._config.etcd.ips
|
for etcdIP in $.values.etcd.ips
|
||||||
],
|
],
|
||||||
ports: [
|
ports: [
|
||||||
{ name: 'metrics', port: 2379, protocol: 'TCP' },
|
{ name: 'metrics', port: 2379, protocol: 'TCP' },
|
||||||
@ -65,8 +65,8 @@
|
|||||||
caFile: '/etc/prometheus/secrets/kube-etcd-client-certs/etcd-client-ca.crt',
|
caFile: '/etc/prometheus/secrets/kube-etcd-client-certs/etcd-client-ca.crt',
|
||||||
keyFile: '/etc/prometheus/secrets/kube-etcd-client-certs/etcd-client.key',
|
keyFile: '/etc/prometheus/secrets/kube-etcd-client-certs/etcd-client.key',
|
||||||
certFile: '/etc/prometheus/secrets/kube-etcd-client-certs/etcd-client.crt',
|
certFile: '/etc/prometheus/secrets/kube-etcd-client-certs/etcd-client.crt',
|
||||||
[if $._config.etcd.serverName != null then 'serverName']: $._config.etcd.serverName,
|
[if $.values.etcd.serverName != null then 'serverName']: $.values.etcd.serverName,
|
||||||
[if $._config.etcd.insecureSkipVerify != null then 'insecureSkipVerify']: $._config.etcd.insecureSkipVerify,
|
[if $.values.etcd.insecureSkipVerify != null then 'insecureSkipVerify']: $.values.etcd.insecureSkipVerify,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@ -84,12 +84,12 @@
|
|||||||
type: 'Opaque',
|
type: 'Opaque',
|
||||||
metadata: {
|
metadata: {
|
||||||
name: 'kube-etcd-client-certs',
|
name: 'kube-etcd-client-certs',
|
||||||
namespace: $._config.namespace,
|
namespace: $.values.common.namespace,
|
||||||
},
|
},
|
||||||
data: {
|
data: {
|
||||||
'etcd-client-ca.crt': std.base64($._config.etcd.clientCA),
|
'etcd-client-ca.crt': std.base64($.values.etcd.clientCA),
|
||||||
'etcd-client.key': std.base64($._config.etcd.clientKey),
|
'etcd-client.key': std.base64($.values.etcd.clientKey),
|
||||||
'etcd-client.crt': std.base64($._config.etcd.clientCert),
|
'etcd-client.crt': std.base64($.values.etcd.clientCert),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
prometheus+: {
|
prometheus+: {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
(import 'github.com/thanos-io/thanos/mixin/alerts/sidecar.libsonnet') +
|
(import 'github.com/thanos-io/thanos/mixin/alerts/sidecar.libsonnet') +
|
||||||
{
|
{
|
||||||
_config+:: {
|
values+:: {
|
||||||
versions+:: { thanos: 'v0.14.0' },
|
versions+:: { thanos: 'v0.14.0' },
|
||||||
imageRepos+:: { thanos: 'quay.io/thanos/thanos' },
|
imageRepos+:: { thanos: 'quay.io/thanos/thanos' },
|
||||||
thanos+:: {
|
thanos+:: {
|
||||||
@ -10,7 +10,7 @@
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
prometheus+:: {
|
prometheus+: {
|
||||||
local p = self,
|
local p = self,
|
||||||
|
|
||||||
// Add the grpc port to the Prometheus service to be able to query it with the Thanos Querier
|
// Add the grpc port to the Prometheus service to be able to query it with the Thanos Querier
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
_config+:: {
|
values+:: {
|
||||||
eks: {
|
eks: {
|
||||||
minimumAvailableIPs: 10,
|
minimumAvailableIPs: 10,
|
||||||
minimumAvailableIPsTime: '10m',
|
minimumAvailableIPsTime: '10m',
|
||||||
@ -39,7 +39,7 @@
|
|||||||
kind: 'ServiceMonitor',
|
kind: 'ServiceMonitor',
|
||||||
metadata: {
|
metadata: {
|
||||||
name: 'awsekscni',
|
name: 'awsekscni',
|
||||||
namespace: $._config.namespace,
|
namespace: $.values.common.namespace,
|
||||||
labels: {
|
labels: {
|
||||||
'app.kubernetes.io/name': 'eks-cni',
|
'app.kubernetes.io/name': 'eks-cni',
|
||||||
},
|
},
|
||||||
@ -65,25 +65,34 @@
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
prometheusRuleEksCNI: {
|
||||||
|
apiVersion: 'monitoring.coreos.com/v1',
|
||||||
|
kind: 'PrometheusRule',
|
||||||
|
metadata: {
|
||||||
|
labels: $.prometheus.config.commonLabels + $.prometheus.config.mixin.ruleLabels,
|
||||||
|
name: 'eks-rules',
|
||||||
|
namespace: $.prometheus.config.namespace,
|
||||||
},
|
},
|
||||||
prometheusRules+: {
|
spec: {
|
||||||
groups+: [
|
groups: [
|
||||||
{
|
{
|
||||||
name: 'kube-prometheus-eks.rules',
|
name: 'kube-prometheus-eks.rules',
|
||||||
rules: [
|
rules: [
|
||||||
{
|
{
|
||||||
expr: 'sum by(instance) (awscni_ip_max) - sum by(instance) (awscni_assigned_ip_addresses) < %s' % $._config.eks.minimumAvailableIPs,
|
expr: 'sum by(instance) (awscni_ip_max) - sum by(instance) (awscni_assigned_ip_addresses) < %s' % $.values.eks.minimumAvailableIPs,
|
||||||
labels: {
|
labels: {
|
||||||
severity: 'critical',
|
severity: 'critical',
|
||||||
},
|
},
|
||||||
annotations: {
|
annotations: {
|
||||||
message: 'Instance {{ $labels.instance }} has less than 10 IPs available.',
|
message: 'Instance {{ $labels.instance }} has less than 10 IPs available.',
|
||||||
},
|
},
|
||||||
'for': $._config.eks.minimumAvailableIPsTime,
|
'for': $.values.eks.minimumAvailableIPsTime,
|
||||||
alert: 'EksAvailableIPs',
|
alert: 'EksAvailableIPs',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user