44 lines
1.3 KiB
Jsonnet
44 lines
1.3 KiB
Jsonnet
local k = import "ksonnet.beta.3/k.libsonnet";
|
|
|
|
local container = k.core.v1.pod.mixin.spec.containersType;
|
|
local resourceRequirements = container.mixin.resourcesType;
|
|
local selector = k.apps.v1beta2.deployment.mixin.spec.selectorType;
|
|
|
|
local resources = resourceRequirements.new() +
|
|
resourceRequirements.withRequests({memory: "400Mi"});
|
|
|
|
{
|
|
new(namespace)::
|
|
{
|
|
apiVersion: "monitoring.coreos.com/v1",
|
|
kind: "Prometheus",
|
|
metadata: {
|
|
name: "k8s",
|
|
namespace: namespace,
|
|
labels: {
|
|
prometheus: "k8s",
|
|
},
|
|
},
|
|
spec: {
|
|
replicas: 2,
|
|
version: "v2.2.1",
|
|
serviceAccountName: "prometheus-k8s",
|
|
serviceMonitorSelector: selector.withMatchExpressions({key: "k8s-app", operator: "Exists"}),
|
|
ruleSelector: selector.withMatchLabels({
|
|
role: "alert-rules",
|
|
prometheus: "k8s",
|
|
}),
|
|
resources: resources,
|
|
alerting: {
|
|
alertmanagers: [
|
|
{
|
|
namespace: "monitoring",
|
|
name: "alertmanager-main",
|
|
port: "web",
|
|
},
|
|
],
|
|
},
|
|
},
|
|
}
|
|
}
|