Add support for Kubespray clusters
This commit is contained in:
10
README.md
10
README.md
@@ -328,7 +328,7 @@ Jsonnet is a turing complete language, any logic can be reflected in it. It also
|
|||||||
|
|
||||||
### Cluster Creation Tools
|
### Cluster Creation Tools
|
||||||
|
|
||||||
A common example is that not all Kubernetes clusters are created exactly the same way, meaning the configuration to monitor them may be slightly different. For [kubeadm](examples/jsonnet-snippets/kubeadm.jsonnet) and [bootkube](examples/jsonnet-snippets/bootkube.jsonnet) and [kops](examples/jsonnet-snippets/kops.jsonnet) clusters there are mixins available to easily configure these:
|
A common example is that not all Kubernetes clusters are created exactly the same way, meaning the configuration to monitor them may be slightly different. For [kubeadm](examples/jsonnet-snippets/kubeadm.jsonnet), [bootkube](examples/jsonnet-snippets/bootkube.jsonnet), [kops](examples/jsonnet-snippets/kops.jsonnet) and [kubespray](examples/jsonnet-snippets/kubespray.jsonnet) clusters there are mixins available to easily configure these:
|
||||||
|
|
||||||
kubeadm:
|
kubeadm:
|
||||||
|
|
||||||
@@ -354,6 +354,14 @@ kops:
|
|||||||
(import 'kube-prometheus/kube-prometheus-kops.libsonnet')
|
(import 'kube-prometheus/kube-prometheus-kops.libsonnet')
|
||||||
```
|
```
|
||||||
|
|
||||||
|
kubespray:
|
||||||
|
|
||||||
|
[embedmd]:# (examples/jsonnet-snippets/kubespray.jsonnet)
|
||||||
|
```jsonnet
|
||||||
|
(import 'kube-prometheus/kube-prometheus.libsonnet') +
|
||||||
|
(import 'kube-prometheus/kube-prometheus-kubespray.libsonnet')
|
||||||
|
```
|
||||||
|
|
||||||
### Internal Registry
|
### Internal Registry
|
||||||
|
|
||||||
Some Kubernetes installations source all their images from an internal registry. kube-prometheus supports this use case and helps the user synchronize every image it uses to the internal registry and generate manifests pointing at the internal registry.
|
Some Kubernetes installations source all their images from an internal registry. kube-prometheus supports this use case and helps the user synchronize every image it uses to the internal registry and generate manifests pointing at the internal registry.
|
||||||
|
2
examples/jsonnet-snippets/kubespray.jsonnet
Normal file
2
examples/jsonnet-snippets/kubespray.jsonnet
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
(import 'kube-prometheus/kube-prometheus.libsonnet') +
|
||||||
|
(import 'kube-prometheus/kube-prometheus-kubespray.libsonnet')
|
18
jsonnet/kube-prometheus/kube-prometheus-kubespray.libsonnet
Normal file
18
jsonnet/kube-prometheus/kube-prometheus-kubespray.libsonnet
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
local k = import 'ksonnet/ksonnet.beta.3/k.libsonnet';
|
||||||
|
local service = k.core.v1.service;
|
||||||
|
local servicePort = k.core.v1.service.mixin.spec.portsType;
|
||||||
|
|
||||||
|
{
|
||||||
|
prometheus+: {
|
||||||
|
kubeControllerManagerPrometheusDiscoveryService:
|
||||||
|
service.new('kube-controller-manager-prometheus-discovery', { 'k8s-app': 'kube-controller-manager' }, servicePort.newNamed('http-metrics', 10252, 10252)) +
|
||||||
|
service.mixin.metadata.withNamespace('kube-system') +
|
||||||
|
service.mixin.metadata.withLabels({ 'k8s-app': 'kube-controller-manager' }) +
|
||||||
|
service.mixin.spec.withClusterIp('None'),
|
||||||
|
kubeSchedulerPrometheusDiscoveryService:
|
||||||
|
service.new('kube-scheduler-prometheus-discovery', { 'k8s-app': 'kube-scheduler' }, servicePort.newNamed('http-metrics', 10251, 10251)) +
|
||||||
|
service.mixin.metadata.withNamespace('kube-system') +
|
||||||
|
service.mixin.metadata.withLabels({ 'k8s-app': 'kube-scheduler' }) +
|
||||||
|
service.mixin.spec.withClusterIp('None'),
|
||||||
|
},
|
||||||
|
}
|
Reference in New Issue
Block a user