Merge pull request #2496 from dgrisonnet/sli-metrics

Add Kubernetes components SLI metrics
This commit is contained in:
Jayapriya Pai
2024-08-28 10:48:46 +05:30
committed by GitHub
7 changed files with 138 additions and 53 deletions

View File

@@ -71,13 +71,23 @@ function(params) {
}, },
spec: { spec: {
jobLabel: 'app.kubernetes.io/name', jobLabel: 'app.kubernetes.io/name',
endpoints: [{ endpoints: [
{
port: 'https-metrics', port: 'https-metrics',
interval: '30s', interval: '30s',
scheme: 'https', scheme: 'https',
bearerTokenFile: '/var/run/secrets/kubernetes.io/serviceaccount/token', bearerTokenFile: '/var/run/secrets/kubernetes.io/serviceaccount/token',
tlsConfig: { insecureSkipVerify: true }, tlsConfig: { insecureSkipVerify: true },
}], },
{
port: 'https-metrics',
interval: '5s',
scheme: 'https',
path: '/metrics/slis',
bearerTokenFile: '/var/run/secrets/kubernetes.io/serviceaccount/token',
tlsConfig: { insecureSkipVerify: true },
},
],
selector: { selector: {
matchLabels: { 'app.kubernetes.io/name': 'kube-scheduler' }, matchLabels: { 'app.kubernetes.io/name': 'kube-scheduler' },
}, },
@@ -174,6 +184,20 @@ function(params) {
targetLabel: 'metrics_path', targetLabel: 'metrics_path',
}], }],
}, },
{
port: 'https-metrics',
scheme: 'https',
path: '/metrics/slis',
interval: '5s',
honorLabels: true,
tlsConfig: { insecureSkipVerify: true },
bearerTokenFile: '/var/run/secrets/kubernetes.io/serviceaccount/token',
relabelings: [{
action: 'replace',
sourceLabels: ['__metrics_path__'],
targetLabel: 'metrics_path',
}],
},
], ],
selector: { selector: {
matchLabels: { 'app.kubernetes.io/name': 'kubelet' }, matchLabels: { 'app.kubernetes.io/name': 'kubelet' },
@@ -193,7 +217,8 @@ function(params) {
}, },
spec: { spec: {
jobLabel: 'app.kubernetes.io/name', jobLabel: 'app.kubernetes.io/name',
endpoints: [{ endpoints: [
{
port: 'https-metrics', port: 'https-metrics',
interval: '30s', interval: '30s',
scheme: 'https', scheme: 'https',
@@ -208,7 +233,18 @@ function(params) {
action: 'drop', action: 'drop',
}, },
], ],
}], },
{
port: 'https-metrics',
interval: '5s',
scheme: 'https',
path: '/metrics/slis',
bearerTokenFile: '/var/run/secrets/kubernetes.io/serviceaccount/token',
tlsConfig: {
insecureSkipVerify: true,
},
},
],
selector: { selector: {
matchLabels: { 'app.kubernetes.io/name': 'kube-controller-manager' }, matchLabels: { 'app.kubernetes.io/name': 'kube-controller-manager' },
}, },
@@ -236,7 +272,8 @@ function(params) {
namespaceSelector: { namespaceSelector: {
matchNames: ['default'], matchNames: ['default'],
}, },
endpoints: [{ endpoints: [
{
port: 'https', port: 'https',
interval: '30s', interval: '30s',
scheme: 'https', scheme: 'https',
@@ -267,7 +304,19 @@ function(params) {
action: 'drop', action: 'drop',
}, },
], ],
}], },
{
port: 'https',
interval: '5s',
scheme: 'https',
path: '/metrics/slis',
tlsConfig: {
caFile: '/var/run/secrets/kubernetes.io/serviceaccount/ca.crt',
serverName: 'kubernetes',
},
bearerTokenFile: '/var/run/secrets/kubernetes.io/serviceaccount/token',
},
],
}, },
}, },

View File

@@ -223,7 +223,7 @@ function(params) {
verbs: ['get'], verbs: ['get'],
}, },
{ {
nonResourceURLs: ['/metrics'], nonResourceURLs: ['/metrics', '/metrics/slis'],
verbs: ['get'], verbs: ['get'],
}, },
], ],

View File

@@ -65,6 +65,14 @@ spec:
tlsConfig: tlsConfig:
caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
serverName: kubernetes serverName: kubernetes
- bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
interval: 5s
path: /metrics/slis
port: https
scheme: https
tlsConfig:
caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
serverName: kubernetes
jobLabel: component jobLabel: component
namespaceSelector: namespaceSelector:
matchNames: matchNames:

View File

@@ -51,6 +51,13 @@ spec:
scheme: https scheme: https
tlsConfig: tlsConfig:
insecureSkipVerify: true insecureSkipVerify: true
- bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
interval: 5s
path: /metrics/slis
port: https-metrics
scheme: https
tlsConfig:
insecureSkipVerify: true
jobLabel: app.kubernetes.io/name jobLabel: app.kubernetes.io/name
namespaceSelector: namespaceSelector:
matchNames: matchNames:

View File

@@ -14,6 +14,13 @@ spec:
scheme: https scheme: https
tlsConfig: tlsConfig:
insecureSkipVerify: true insecureSkipVerify: true
- bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
interval: 5s
path: /metrics/slis
port: https-metrics
scheme: https
tlsConfig:
insecureSkipVerify: true
jobLabel: app.kubernetes.io/name jobLabel: app.kubernetes.io/name
namespaceSelector: namespaceSelector:
matchNames: matchNames:

View File

@@ -96,6 +96,19 @@ spec:
scheme: https scheme: https
tlsConfig: tlsConfig:
insecureSkipVerify: true insecureSkipVerify: true
- bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
honorLabels: true
interval: 5s
path: /metrics/slis
port: https-metrics
relabelings:
- action: replace
sourceLabels:
- __metrics_path__
targetLabel: metrics_path
scheme: https
tlsConfig:
insecureSkipVerify: true
jobLabel: app.kubernetes.io/name jobLabel: app.kubernetes.io/name
namespaceSelector: namespaceSelector:
matchNames: matchNames:

View File

@@ -17,5 +17,6 @@ rules:
- get - get
- nonResourceURLs: - nonResourceURLs:
- /metrics - /metrics
- /metrics/slis
verbs: verbs:
- get - get