Merge pull request #2496 from dgrisonnet/sli-metrics
Add Kubernetes components SLI metrics
This commit is contained in:
@@ -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',
|
||||||
|
},
|
||||||
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -223,7 +223,7 @@ function(params) {
|
|||||||
verbs: ['get'],
|
verbs: ['get'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
nonResourceURLs: ['/metrics'],
|
nonResourceURLs: ['/metrics', '/metrics/slis'],
|
||||||
verbs: ['get'],
|
verbs: ['get'],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -17,5 +17,6 @@ rules:
|
|||||||
- get
|
- get
|
||||||
- nonResourceURLs:
|
- nonResourceURLs:
|
||||||
- /metrics
|
- /metrics
|
||||||
|
- /metrics/slis
|
||||||
verbs:
|
verbs:
|
||||||
- get
|
- get
|
||||||
|
|||||||
Reference in New Issue
Block a user