mirror of
https://github.com/prometheus-operator/kube-prometheus.git
synced 2025-08-26 17:01:50 +02:00
jsonnet: create function responsible for prometheus-adapter objects
This commit is contained in:
parent
6248e73890
commit
d4999048fc
@ -3,6 +3,8 @@ local kubeRbacProxyContainer = import './kube-rbac-proxy/containerMixin.libsonne
|
|||||||
local nodeExporter = import './node-exporter/node-exporter.libsonnet';
|
local nodeExporter = import './node-exporter/node-exporter.libsonnet';
|
||||||
local alertmanager = import './alertmanager/alertmanager.libsonnet';
|
local alertmanager = import './alertmanager/alertmanager.libsonnet';
|
||||||
|
|
||||||
|
local prometheusAdapter = import './prometheus-adapter/prometheus-adapter.libsonnet';
|
||||||
|
|
||||||
(import 'github.com/brancz/kubernetes-grafana/grafana/grafana.libsonnet') +
|
(import 'github.com/brancz/kubernetes-grafana/grafana/grafana.libsonnet') +
|
||||||
(import './kube-state-metrics/kube-state-metrics.libsonnet') +
|
(import './kube-state-metrics/kube-state-metrics.libsonnet') +
|
||||||
(import 'github.com/kubernetes/kube-state-metrics/jsonnet/kube-state-metrics-mixin/mixin.libsonnet') +
|
(import 'github.com/kubernetes/kube-state-metrics/jsonnet/kube-state-metrics-mixin/mixin.libsonnet') +
|
||||||
@ -12,7 +14,6 @@ local alertmanager = import './alertmanager/alertmanager.libsonnet';
|
|||||||
(import 'github.com/prometheus-operator/prometheus-operator/jsonnet/prometheus-operator/prometheus-operator.libsonnet') +
|
(import 'github.com/prometheus-operator/prometheus-operator/jsonnet/prometheus-operator/prometheus-operator.libsonnet') +
|
||||||
(import 'github.com/prometheus-operator/prometheus-operator/jsonnet/mixin/mixin.libsonnet') +
|
(import 'github.com/prometheus-operator/prometheus-operator/jsonnet/mixin/mixin.libsonnet') +
|
||||||
(import './prometheus/prometheus.libsonnet') +
|
(import './prometheus/prometheus.libsonnet') +
|
||||||
(import './prometheus-adapter/prometheus-adapter.libsonnet') +
|
|
||||||
(import 'github.com/kubernetes-monitoring/kubernetes-mixin/mixin.libsonnet') +
|
(import 'github.com/kubernetes-monitoring/kubernetes-mixin/mixin.libsonnet') +
|
||||||
(import 'github.com/prometheus/prometheus/documentation/prometheus-mixin/mixin.libsonnet') +
|
(import 'github.com/prometheus/prometheus/documentation/prometheus-mixin/mixin.libsonnet') +
|
||||||
(import './alerts/alerts.libsonnet') +
|
(import './alerts/alerts.libsonnet') +
|
||||||
@ -29,6 +30,12 @@ local alertmanager = import './alertmanager/alertmanager.libsonnet';
|
|||||||
version: '0.21.0',
|
version: '0.21.0',
|
||||||
image: 'quay.io/prometheus/alertmanager:v0.21.0',
|
image: 'quay.io/prometheus/alertmanager:v0.21.0',
|
||||||
}),
|
}),
|
||||||
|
prometheusAdapter: prometheusAdapter({
|
||||||
|
namespace: $._config.namespace,
|
||||||
|
version: '0.8.2',
|
||||||
|
image: 'directxman12/k8s-prometheus-adapter:v0.8.2',
|
||||||
|
prometheusURL: 'http://prometheus-' + $._config.prometheus.name + '.' + $._config.namespace + '.svc.cluster.local:9090/',
|
||||||
|
}),
|
||||||
kubePrometheus+:: {
|
kubePrometheus+:: {
|
||||||
namespace: {
|
namespace: {
|
||||||
apiVersion: 'v1',
|
apiVersion: 'v1',
|
||||||
|
@ -1,191 +1,198 @@
|
|||||||
{
|
local defaults = {
|
||||||
_config+:: {
|
local defaults = self,
|
||||||
namespace: 'default',
|
name: 'prometheus-adapter',
|
||||||
|
namespace: error 'must provide namespace',
|
||||||
|
version: error 'must provide version',
|
||||||
|
image: error 'must provide image',
|
||||||
|
resources: {
|
||||||
|
requests: { cpu: '102m', memory: '180Mi' },
|
||||||
|
limits: { cpu: '250m', memory: '180Mi' },
|
||||||
|
},
|
||||||
|
listenAddress: '127.0.0.1',
|
||||||
|
port: 9100,
|
||||||
|
commonLabels:: {
|
||||||
|
'app.kubernetes.io/name': 'prometheus-adapter',
|
||||||
|
'app.kubernetes.io/version': defaults.version,
|
||||||
|
'app.kubernetes.io/component': 'metrics-adapter',
|
||||||
|
'app.kubernetes.io/part-of': 'kube-prometheus',
|
||||||
|
},
|
||||||
|
selectorLabels:: {
|
||||||
|
[labelName]: defaults.commonLabels[labelName]
|
||||||
|
for labelName in std.objectFields(defaults.commonLabels)
|
||||||
|
if !std.setMember(labelName, ['app.kubernetes.io/version'])
|
||||||
|
},
|
||||||
|
|
||||||
versions+:: { prometheusAdapter: 'v0.8.2' },
|
prometheusURL: error 'must provide prometheusURL',
|
||||||
imageRepos+:: { prometheusAdapter: 'directxman12/k8s-prometheus-adapter' },
|
config: {
|
||||||
|
resourceRules: {
|
||||||
prometheusAdapter+:: {
|
cpu: {
|
||||||
name: 'prometheus-adapter',
|
containerQuery: 'sum(irate(container_cpu_usage_seconds_total{<<.LabelMatchers>>,container!="POD",container!="",pod!=""}[5m])) by (<<.GroupBy>>)',
|
||||||
namespace: $._config.namespace,
|
nodeQuery: 'sum(1 - irate(node_cpu_seconds_total{mode="idle"}[5m]) * on(namespace, pod) group_left(node) node_namespace_pod:kube_pod_info:{<<.LabelMatchers>>}) by (<<.GroupBy>>)',
|
||||||
labels: {
|
resources: {
|
||||||
'app.kubernetes.io/name': 'prometheus-adapter',
|
overrides: {
|
||||||
'app.kubernetes.io/version': $._config.versions.prometheusAdapter,
|
node: { resource: 'node' },
|
||||||
'app.kubernetes.io/component': 'metrics-adapter',
|
namespace: { resource: 'namespace' },
|
||||||
'app.kubernetes.io/part-of': 'kube-prometheus',
|
pod: { resource: 'pod' },
|
||||||
},
|
|
||||||
selectorLabels: {
|
|
||||||
[labelName]: $._config.prometheusAdapter.labels[labelName]
|
|
||||||
for labelName in std.objectFields($._config.prometheusAdapter.labels)
|
|
||||||
if !std.setMember(labelName, ['app.kubernetes.io/version'])
|
|
||||||
},
|
|
||||||
prometheusURL: 'http://prometheus-' + $._config.prometheus.name + '.' + $._config.namespace + '.svc.cluster.local:9090/',
|
|
||||||
config: {
|
|
||||||
resourceRules: {
|
|
||||||
cpu: {
|
|
||||||
containerQuery: 'sum(irate(container_cpu_usage_seconds_total{<<.LabelMatchers>>,container!="POD",container!="",pod!=""}[5m])) by (<<.GroupBy>>)',
|
|
||||||
nodeQuery: 'sum(1 - irate(node_cpu_seconds_total{mode="idle"}[5m]) * on(namespace, pod) group_left(node) node_namespace_pod:kube_pod_info:{<<.LabelMatchers>>}) by (<<.GroupBy>>)',
|
|
||||||
resources: {
|
|
||||||
overrides: {
|
|
||||||
node: { resource: 'node' },
|
|
||||||
namespace: { resource: 'namespace' },
|
|
||||||
pod: { resource: 'pod' },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
containerLabel: 'container',
|
|
||||||
},
|
},
|
||||||
memory: {
|
|
||||||
containerQuery: 'sum(container_memory_working_set_bytes{<<.LabelMatchers>>,container!="POD",container!="",pod!=""}) by (<<.GroupBy>>)',
|
|
||||||
nodeQuery: 'sum(node_memory_MemTotal_bytes{job="node-exporter",<<.LabelMatchers>>} - node_memory_MemAvailable_bytes{job="node-exporter",<<.LabelMatchers>>}) by (<<.GroupBy>>)',
|
|
||||||
resources: {
|
|
||||||
overrides: {
|
|
||||||
instance: { resource: 'node' },
|
|
||||||
namespace: { resource: 'namespace' },
|
|
||||||
pod: { resource: 'pod' },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
containerLabel: 'container',
|
|
||||||
},
|
|
||||||
window: '5m',
|
|
||||||
},
|
},
|
||||||
|
containerLabel: 'container',
|
||||||
},
|
},
|
||||||
|
memory: {
|
||||||
|
containerQuery: 'sum(container_memory_working_set_bytes{<<.LabelMatchers>>,container!="POD",container!="",pod!=""}) by (<<.GroupBy>>)',
|
||||||
|
nodeQuery: 'sum(node_memory_MemTotal_bytes{job="node-exporter",<<.LabelMatchers>>} - node_memory_MemAvailable_bytes{job="node-exporter",<<.LabelMatchers>>}) by (<<.GroupBy>>)',
|
||||||
|
resources: {
|
||||||
|
overrides: {
|
||||||
|
instance: { resource: 'node' },
|
||||||
|
namespace: { resource: 'namespace' },
|
||||||
|
pod: { resource: 'pod' },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
containerLabel: 'container',
|
||||||
|
},
|
||||||
|
window: '5m',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
function(params) {
|
||||||
|
local pa = self,
|
||||||
|
config:: defaults + params,
|
||||||
|
// Safety check
|
||||||
|
assert std.isObject(pa.config.resources),
|
||||||
|
|
||||||
|
apiService: {
|
||||||
|
apiVersion: 'apiregistration.k8s.io/v1',
|
||||||
|
kind: 'APIService',
|
||||||
|
metadata: {
|
||||||
|
name: 'v1beta1.metrics.k8s.io',
|
||||||
|
labels: pa.config.commonLabels,
|
||||||
|
},
|
||||||
|
spec: {
|
||||||
|
service: {
|
||||||
|
name: $.service.metadata.name,
|
||||||
|
namespace: pa.config.namespace,
|
||||||
|
},
|
||||||
|
group: 'metrics.k8s.io',
|
||||||
|
version: 'v1beta1',
|
||||||
|
insecureSkipTLSVerify: true,
|
||||||
|
groupPriorityMinimum: 100,
|
||||||
|
versionPriority: 100,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
prometheusAdapter+:: {
|
configMap: {
|
||||||
apiService: {
|
apiVersion: 'v1',
|
||||||
apiVersion: 'apiregistration.k8s.io/v1',
|
kind: 'ConfigMap',
|
||||||
kind: 'APIService',
|
metadata: {
|
||||||
metadata: {
|
name: 'adapter-config',
|
||||||
name: 'v1beta1.metrics.k8s.io',
|
namespace: pa.config.namespace,
|
||||||
labels: $._config.prometheusAdapter.labels,
|
labels: pa.config.commonLabels,
|
||||||
},
|
|
||||||
spec: {
|
|
||||||
service: {
|
|
||||||
name: $.prometheusAdapter.service.metadata.name,
|
|
||||||
namespace: $._config.prometheusAdapter.namespace,
|
|
||||||
},
|
|
||||||
group: 'metrics.k8s.io',
|
|
||||||
version: 'v1beta1',
|
|
||||||
insecureSkipTLSVerify: true,
|
|
||||||
groupPriorityMinimum: 100,
|
|
||||||
versionPriority: 100,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
|
data: { 'config.yaml': std.manifestYamlDoc(pa.config.config) },
|
||||||
|
},
|
||||||
|
|
||||||
configMap: {
|
serviceMonitor: {
|
||||||
apiVersion: 'v1',
|
apiVersion: 'monitoring.coreos.com/v1',
|
||||||
kind: 'ConfigMap',
|
kind: 'ServiceMonitor',
|
||||||
metadata: {
|
metadata: {
|
||||||
name: 'adapter-config',
|
name: pa.config.name,
|
||||||
namespace: $._config.prometheusAdapter.namespace,
|
namespace: pa.config.namespace,
|
||||||
labels: $._config.prometheusAdapter.labels,
|
labels: pa.config.commonLabels,
|
||||||
},
|
|
||||||
data: { 'config.yaml': std.manifestYamlDoc($._config.prometheusAdapter.config) },
|
|
||||||
},
|
},
|
||||||
|
spec: {
|
||||||
serviceMonitor: {
|
selector: {
|
||||||
apiVersion: 'monitoring.coreos.com/v1',
|
matchLabels: pa.config.selectorLabels,
|
||||||
kind: 'ServiceMonitor',
|
|
||||||
metadata: {
|
|
||||||
name: $._config.prometheusAdapter.name,
|
|
||||||
namespace: $._config.prometheusAdapter.namespace,
|
|
||||||
labels: $._config.prometheusAdapter.labels,
|
|
||||||
},
|
},
|
||||||
spec: {
|
endpoints: [
|
||||||
selector: {
|
{
|
||||||
matchLabels: $._config.prometheusAdapter.selectorLabels,
|
port: 'https',
|
||||||
},
|
interval: '30s',
|
||||||
endpoints: [
|
scheme: 'https',
|
||||||
{
|
tlsConfig: {
|
||||||
port: 'https',
|
insecureSkipVerify: true,
|
||||||
interval: '30s',
|
|
||||||
scheme: 'https',
|
|
||||||
tlsConfig: {
|
|
||||||
insecureSkipVerify: true,
|
|
||||||
},
|
|
||||||
bearerTokenFile: '/var/run/secrets/kubernetes.io/serviceaccount/token',
|
|
||||||
},
|
},
|
||||||
],
|
bearerTokenFile: '/var/run/secrets/kubernetes.io/serviceaccount/token',
|
||||||
},
|
},
|
||||||
|
],
|
||||||
},
|
},
|
||||||
|
},
|
||||||
|
|
||||||
service: {
|
service: {
|
||||||
apiVersion: 'v1',
|
apiVersion: 'v1',
|
||||||
kind: 'Service',
|
kind: 'Service',
|
||||||
|
metadata: {
|
||||||
|
name: pa.config.name,
|
||||||
|
namespace: pa.config.namespace,
|
||||||
|
labels: pa.config.commonLabels,
|
||||||
|
},
|
||||||
|
spec: {
|
||||||
|
ports: [
|
||||||
|
{ name: 'https', targetPort: 6443, port: 443 },
|
||||||
|
],
|
||||||
|
selector: pa.config.selectorLabels,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
deployment:
|
||||||
|
local c = {
|
||||||
|
name: pa.config.name,
|
||||||
|
image: pa.config.image,
|
||||||
|
args: [
|
||||||
|
'--cert-dir=/var/run/serving-cert',
|
||||||
|
'--config=/etc/adapter/config.yaml',
|
||||||
|
'--logtostderr=true',
|
||||||
|
'--metrics-relist-interval=1m',
|
||||||
|
'--prometheus-url=' + pa.config.prometheusURL,
|
||||||
|
'--secure-port=6443',
|
||||||
|
],
|
||||||
|
ports: [{ containerPort: 6443 }],
|
||||||
|
volumeMounts: [
|
||||||
|
{ name: 'tmpfs', mountPath: '/tmp', readOnly: false },
|
||||||
|
{ name: 'volume-serving-cert', mountPath: '/var/run/serving-cert', readOnly: false },
|
||||||
|
{ name: 'config', mountPath: '/etc/adapter', readOnly: false },
|
||||||
|
],
|
||||||
|
};
|
||||||
|
|
||||||
|
{
|
||||||
|
apiVersion: 'apps/v1',
|
||||||
|
kind: 'Deployment',
|
||||||
metadata: {
|
metadata: {
|
||||||
name: $._config.prometheusAdapter.name,
|
name: pa.config.name,
|
||||||
namespace: $._config.prometheusAdapter.namespace,
|
namespace: pa.config.namespace,
|
||||||
labels: $._config.prometheusAdapter.labels,
|
labels: pa.config.commonLabels,
|
||||||
},
|
},
|
||||||
spec: {
|
spec: {
|
||||||
ports: [
|
replicas: 1,
|
||||||
{ name: 'https', targetPort: 6443, port: 443 },
|
selector: { matchLabels: pa.config.selectorLabels },
|
||||||
],
|
strategy: {
|
||||||
selector: $._config.prometheusAdapter.selectorLabels,
|
rollingUpdate: {
|
||||||
},
|
maxSurge: 1,
|
||||||
},
|
maxUnavailable: 0,
|
||||||
|
|
||||||
deployment:
|
|
||||||
local c = {
|
|
||||||
name: $._config.prometheusAdapter.name,
|
|
||||||
image: $._config.imageRepos.prometheusAdapter + ':' + $._config.versions.prometheusAdapter,
|
|
||||||
args: [
|
|
||||||
'--cert-dir=/var/run/serving-cert',
|
|
||||||
'--config=/etc/adapter/config.yaml',
|
|
||||||
'--logtostderr=true',
|
|
||||||
'--metrics-relist-interval=1m',
|
|
||||||
'--prometheus-url=' + $._config.prometheusAdapter.prometheusURL,
|
|
||||||
'--secure-port=6443',
|
|
||||||
],
|
|
||||||
ports: [{ containerPort: 6443 }],
|
|
||||||
volumeMounts: [
|
|
||||||
{ name: 'tmpfs', mountPath: '/tmp', readOnly: false },
|
|
||||||
{ name: 'volume-serving-cert', mountPath: '/var/run/serving-cert', readOnly: false },
|
|
||||||
{ name: 'config', mountPath: '/etc/adapter', readOnly: false },
|
|
||||||
],
|
|
||||||
};
|
|
||||||
|
|
||||||
{
|
|
||||||
apiVersion: 'apps/v1',
|
|
||||||
kind: 'Deployment',
|
|
||||||
metadata: {
|
|
||||||
name: $._config.prometheusAdapter.name,
|
|
||||||
namespace: $._config.prometheusAdapter.namespace,
|
|
||||||
labels: $._config.prometheusAdapter.labels,
|
|
||||||
},
|
|
||||||
spec: {
|
|
||||||
replicas: 1,
|
|
||||||
selector: { matchLabels: $._config.prometheusAdapter.selectorLabels },
|
|
||||||
strategy: {
|
|
||||||
rollingUpdate: {
|
|
||||||
maxSurge: 1,
|
|
||||||
maxUnavailable: 0,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
template: {
|
},
|
||||||
metadata: { labels: $._config.prometheusAdapter.labels },
|
template: {
|
||||||
spec: {
|
metadata: { labels: pa.config.commonLabels },
|
||||||
containers: [c],
|
spec: {
|
||||||
serviceAccountName: $.prometheusAdapter.serviceAccount.metadata.name,
|
containers: [c],
|
||||||
nodeSelector: { 'kubernetes.io/os': 'linux' },
|
serviceAccountName: $.serviceAccount.metadata.name,
|
||||||
volumes: [
|
nodeSelector: { 'kubernetes.io/os': 'linux' },
|
||||||
{ name: 'tmpfs', emptyDir: {} },
|
volumes: [
|
||||||
{ name: 'volume-serving-cert', emptyDir: {} },
|
{ name: 'tmpfs', emptyDir: {} },
|
||||||
{ name: 'config', configMap: { name: 'adapter-config' } },
|
{ name: 'volume-serving-cert', emptyDir: {} },
|
||||||
],
|
{ name: 'config', configMap: { name: 'adapter-config' } },
|
||||||
},
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
},
|
||||||
|
|
||||||
serviceAccount: {
|
serviceAccount: {
|
||||||
apiVersion: 'v1',
|
apiVersion: 'v1',
|
||||||
kind: 'ServiceAccount',
|
kind: 'ServiceAccount',
|
||||||
metadata: {
|
metadata: {
|
||||||
name: $._config.prometheusAdapter.name,
|
name: pa.config.name,
|
||||||
namespace: $._config.prometheusAdapter.namespace,
|
namespace: pa.config.namespace,
|
||||||
labels: $._config.prometheusAdapter.labels,
|
labels: pa.config.commonLabels,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -193,8 +200,8 @@
|
|||||||
apiVersion: 'rbac.authorization.k8s.io/v1',
|
apiVersion: 'rbac.authorization.k8s.io/v1',
|
||||||
kind: 'ClusterRole',
|
kind: 'ClusterRole',
|
||||||
metadata: {
|
metadata: {
|
||||||
name: $._config.prometheusAdapter.name,
|
name: pa.config.name,
|
||||||
labels: $._config.prometheusAdapter.labels,
|
labels: pa.config.commonLabels,
|
||||||
},
|
},
|
||||||
rules: [{
|
rules: [{
|
||||||
apiGroups: [''],
|
apiGroups: [''],
|
||||||
@ -207,18 +214,18 @@
|
|||||||
apiVersion: 'rbac.authorization.k8s.io/v1',
|
apiVersion: 'rbac.authorization.k8s.io/v1',
|
||||||
kind: 'ClusterRoleBinding',
|
kind: 'ClusterRoleBinding',
|
||||||
metadata: {
|
metadata: {
|
||||||
name: $._config.prometheusAdapter.name,
|
name: pa.config.name,
|
||||||
labels: $._config.prometheusAdapter.labels,
|
labels: pa.config.commonLabels,
|
||||||
},
|
},
|
||||||
roleRef: {
|
roleRef: {
|
||||||
apiGroup: 'rbac.authorization.k8s.io',
|
apiGroup: 'rbac.authorization.k8s.io',
|
||||||
kind: 'ClusterRole',
|
kind: 'ClusterRole',
|
||||||
name: $.prometheusAdapter.clusterRole.metadata.name,
|
name: $.clusterRole.metadata.name,
|
||||||
},
|
},
|
||||||
subjects: [{
|
subjects: [{
|
||||||
kind: 'ServiceAccount',
|
kind: 'ServiceAccount',
|
||||||
name: $.prometheusAdapter.serviceAccount.metadata.name,
|
name: $.serviceAccount.metadata.name,
|
||||||
namespace: $._config.prometheusAdapter.namespace,
|
namespace: pa.config.namespace,
|
||||||
}],
|
}],
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -227,7 +234,7 @@
|
|||||||
kind: 'ClusterRoleBinding',
|
kind: 'ClusterRoleBinding',
|
||||||
metadata: {
|
metadata: {
|
||||||
name: 'resource-metrics:system:auth-delegator',
|
name: 'resource-metrics:system:auth-delegator',
|
||||||
labels: $._config.prometheusAdapter.labels,
|
labels: pa.config.commonLabels,
|
||||||
},
|
},
|
||||||
roleRef: {
|
roleRef: {
|
||||||
apiGroup: 'rbac.authorization.k8s.io',
|
apiGroup: 'rbac.authorization.k8s.io',
|
||||||
@ -236,8 +243,8 @@
|
|||||||
},
|
},
|
||||||
subjects: [{
|
subjects: [{
|
||||||
kind: 'ServiceAccount',
|
kind: 'ServiceAccount',
|
||||||
name: $.prometheusAdapter.serviceAccount.metadata.name,
|
name: $.serviceAccount.metadata.name,
|
||||||
namespace: $._config.prometheusAdapter.namespace,
|
namespace: pa.config.namespace,
|
||||||
}],
|
}],
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -246,7 +253,7 @@
|
|||||||
kind: 'ClusterRole',
|
kind: 'ClusterRole',
|
||||||
metadata: {
|
metadata: {
|
||||||
name: 'resource-metrics-server-resources',
|
name: 'resource-metrics-server-resources',
|
||||||
labels: $._config.prometheusAdapter.labels,
|
labels: pa.config.commonLabels,
|
||||||
},
|
},
|
||||||
rules: [{
|
rules: [{
|
||||||
apiGroups: ['metrics.k8s.io'],
|
apiGroups: ['metrics.k8s.io'],
|
||||||
@ -264,7 +271,7 @@
|
|||||||
'rbac.authorization.k8s.io/aggregate-to-admin': 'true',
|
'rbac.authorization.k8s.io/aggregate-to-admin': 'true',
|
||||||
'rbac.authorization.k8s.io/aggregate-to-edit': 'true',
|
'rbac.authorization.k8s.io/aggregate-to-edit': 'true',
|
||||||
'rbac.authorization.k8s.io/aggregate-to-view': 'true',
|
'rbac.authorization.k8s.io/aggregate-to-view': 'true',
|
||||||
} + $._config.prometheusAdapter.labels,
|
} + pa.config.commonLabels,
|
||||||
},
|
},
|
||||||
rules: [{
|
rules: [{
|
||||||
apiGroups: ['metrics.k8s.io'],
|
apiGroups: ['metrics.k8s.io'],
|
||||||
@ -279,7 +286,7 @@
|
|||||||
metadata: {
|
metadata: {
|
||||||
name: 'resource-metrics-auth-reader',
|
name: 'resource-metrics-auth-reader',
|
||||||
namespace: 'kube-system',
|
namespace: 'kube-system',
|
||||||
labels: $._config.prometheusAdapter.labels,
|
labels: pa.config.commonLabels,
|
||||||
},
|
},
|
||||||
roleRef: {
|
roleRef: {
|
||||||
apiGroup: 'rbac.authorization.k8s.io',
|
apiGroup: 'rbac.authorization.k8s.io',
|
||||||
@ -288,9 +295,8 @@
|
|||||||
},
|
},
|
||||||
subjects: [{
|
subjects: [{
|
||||||
kind: 'ServiceAccount',
|
kind: 'ServiceAccount',
|
||||||
name: $.prometheusAdapter.serviceAccount.metadata.name,
|
name: $.serviceAccount.metadata.name,
|
||||||
namespace: $._config.prometheusAdapter.namespace,
|
namespace: pa.config.namespace,
|
||||||
}],
|
}],
|
||||||
},
|
},
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user