Created
March 31, 2019 09:22
-
-
Save hjacobs/69b6844ba8442fcbc2007da316499eb4 to your computer and use it in GitHub Desktop.
Metrics Server API deployment manifests for Kubernetes kind
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/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 | |
args: | |
- --kubelet-insecure-tls | |
- --kubelet-preferred-address-types=InternalIP | |
imagePullPolicy: Always | |
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 | |
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 |
Hey, many thanks for this YAML manifest! Nevertheless, I do have a question : do we need to create a ServiceMonitor to get the metrics-server into Prometheus? I am trying to do that but :
- I do have the feelings that those informations are already scraped by the ServiceMonitor of Kubelet or something else, am I right?
- when I try to
kubectl apply -f
my ServiceMonitor file, I get different type of logs concerning TLS and in the Prometheus UI display an error likeHTTP/1.x transport connection broken: malformed HTTP response
..
Any help would be highly welcomed (if it's not useless to do that :-D)!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Reference/context: kubernetes-sigs/kind#398