mirror of
https://github.com/rancher/rke.git
synced 2025-07-31 22:56:19 +00:00
142 lines
2.9 KiB
Go
142 lines
2.9 KiB
Go
package templates
|
|
|
|
const MetricsServerTemplate = `
|
|
{{- if eq .RBACConfig "rbac"}}
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1beta1
|
|
kind: ClusterRoleBinding
|
|
metadata:
|
|
name: metrics-server:system:auth-delegator
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: ClusterRole
|
|
name: system:auth-delegator
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: metrics-server
|
|
namespace: kube-system
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1beta1
|
|
kind: RoleBinding
|
|
metadata:
|
|
name: metrics-server-auth-reader
|
|
namespace: kube-system
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: Role
|
|
name: extension-apiserver-authentication-reader
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: metrics-server
|
|
namespace: kube-system
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
name: system:metrics-server
|
|
rules:
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- pods
|
|
- nodes
|
|
- nodes/stats
|
|
- namespaces
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
- apiGroups:
|
|
- "extensions"
|
|
resources:
|
|
- deployments
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRoleBinding
|
|
metadata:
|
|
name: system:metrics-server
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: ClusterRole
|
|
name: system:metrics-server
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: metrics-server
|
|
namespace: kube-system
|
|
{{- end }}
|
|
---
|
|
apiVersion: apiregistration.k8s.io/v1beta1
|
|
kind: APIService
|
|
metadata:
|
|
name: v1beta1.metrics.k8s.io
|
|
spec:
|
|
service:
|
|
name: metrics-server
|
|
namespace: kube-system
|
|
group: metrics.k8s.io
|
|
version: v1beta1
|
|
insecureSkipTLSVerify: true
|
|
groupPriorityMinimum: 100
|
|
versionPriority: 100
|
|
---
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
name: metrics-server
|
|
namespace: kube-system
|
|
---
|
|
apiVersion: extensions/v1beta1
|
|
kind: Deployment
|
|
metadata:
|
|
name: metrics-server
|
|
namespace: kube-system
|
|
labels:
|
|
k8s-app: metrics-server
|
|
spec:
|
|
selector:
|
|
matchLabels:
|
|
k8s-app: metrics-server
|
|
template:
|
|
metadata:
|
|
name: metrics-server
|
|
labels:
|
|
k8s-app: metrics-server
|
|
spec:
|
|
serviceAccountName: metrics-server
|
|
containers:
|
|
- name: metrics-server
|
|
image: {{ .MetricsServerImage }}
|
|
imagePullPolicy: Always
|
|
command:
|
|
- /metrics-server
|
|
{{- if eq .Version "v0.3" }}
|
|
- --kubelet-insecure-tls
|
|
- --kubelet-preferred-address-types=InternalIP
|
|
- --logtostderr
|
|
{{- else }}
|
|
- --source=kubernetes.summary_api:https://kubernetes.default.svc?kubeletHttps=true&kubeletPort=10250&useServiceAccount=true&insecure=true
|
|
{{- end }}
|
|
{{ range $k,$v := .Options }}
|
|
- --{{ $k }}={{ $v }}
|
|
{{ end }}
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: metrics-server
|
|
namespace: kube-system
|
|
labels:
|
|
kubernetes.io/name: "Metrics-server"
|
|
spec:
|
|
selector:
|
|
k8s-app: metrics-server
|
|
ports:
|
|
- port: 443
|
|
protocol: TCP
|
|
targetPort: 443
|
|
`
|