mirror of
https://github.com/jpetazzo/container.training.git
synced 2026-07-18 12:29:18 +00:00
This is a concatenation of the files found in this directory: https://github.com/kubernetes-incubator/metrics-server/tree/master/deploy/1.8%2B ... but with extra args added to the metrics server process, to use InternalIP to contact the nodes, disable TLS cert validation and reduce the polling interval to 5s. Now that we have this file here, we can refer to it in the deployment scripts to create clusters that have metrics-server pre-installed.
139 lines
2.9 KiB
YAML
139 lines
2.9 KiB
YAML
kind: ClusterRole
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
metadata:
|
|
name: system:aggregated-metrics-reader
|
|
labels:
|
|
rbac.authorization.k8s.io/aggregate-to-view: "true"
|
|
rbac.authorization.k8s.io/aggregate-to-edit: "true"
|
|
rbac.authorization.k8s.io/aggregate-to-admin: "true"
|
|
rules:
|
|
- apiGroups: ["metrics.k8s.io"]
|
|
resources: ["pods"]
|
|
verbs: ["get", "list", "watch"]
|
|
---
|
|
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: 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
|
|
volumes:
|
|
# mount in tmp so we can safely use from-scratch images and/or read-only containers
|
|
- name: tmp-dir
|
|
emptyDir: {}
|
|
containers:
|
|
- name: metrics-server
|
|
image: k8s.gcr.io/metrics-server-amd64:v0.3.1
|
|
imagePullPolicy: Always
|
|
volumeMounts:
|
|
- name: tmp-dir
|
|
mountPath: /tmp
|
|
args:
|
|
- --kubelet-preferred-address-types=InternalIP
|
|
- --kubelet-insecure-tls
|
|
- --metric-resolution=5s
|
|
|
|
---
|
|
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
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
name: system:metrics-server
|
|
rules:
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- pods
|
|
- nodes
|
|
- nodes/stats
|
|
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
|