Created
December 11, 2019 15:20
-
-
Save asauber/2f2b4ab784fd14e4812d3035b830a67c to your computer and use it in GitHub Desktop.
Kubernetes Metric Server Manifest for Linode
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
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/v1 | |
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/v1 | |
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: apps/v1 | |
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.6 | |
imagePullPolicy: Always | |
command: | |
- /metrics-server | |
# metrics-server connects to kubelet, which is signed by the this cluster's CA | |
# | |
# TODO: Mount the cluster's CA cert into this pod, which is available on the | |
# local filesystem. | |
- --kubelet-insecure-tls | |
# NOTE: This flag is needed on clusters which use a CCM | |
- --kubelet-preferred-address-types=InternalIP | |
volumeMounts: | |
- name: tmp-dir | |
mountPath: /tmp | |
--- | |
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 | |
- 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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment