mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-11-12 21:40:29 +00:00
v0.3.0 is the latest version of metrics-server, and brings a number of internal stability improvements as well as some bugfixes and features. NB: this currently disables Kubelet auth entirely, since this setup needs to work on GKE for the tests, and GKE doesn't support delegated Kubelet auth yet. When that's rectified, we can switch this over to use secure options.
106 lines
3.1 KiB
YAML
106 lines
3.1 KiB
YAML
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
name: metrics-server
|
|
namespace: kube-system
|
|
labels:
|
|
kubernetes.io/cluster-service: "true"
|
|
addonmanager.kubernetes.io/mode: Reconcile
|
|
---
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: metrics-server-config
|
|
namespace: kube-system
|
|
labels:
|
|
kubernetes.io/cluster-service: "true"
|
|
addonmanager.kubernetes.io/mode: EnsureExists
|
|
data:
|
|
NannyConfiguration: |-
|
|
apiVersion: nannyconfig/v1alpha1
|
|
kind: NannyConfiguration
|
|
---
|
|
apiVersion: extensions/v1beta1
|
|
kind: Deployment
|
|
metadata:
|
|
name: metrics-server-v0.3.0
|
|
namespace: kube-system
|
|
labels:
|
|
k8s-app: metrics-server
|
|
kubernetes.io/cluster-service: "true"
|
|
addonmanager.kubernetes.io/mode: Reconcile
|
|
version: v0.3.0
|
|
spec:
|
|
selector:
|
|
matchLabels:
|
|
k8s-app: metrics-server
|
|
version: v0.3.0
|
|
template:
|
|
metadata:
|
|
name: metrics-server
|
|
labels:
|
|
k8s-app: metrics-server
|
|
version: v0.3.0
|
|
annotations:
|
|
scheduler.alpha.kubernetes.io/critical-pod: ''
|
|
seccomp.security.alpha.kubernetes.io/pod: 'docker/default'
|
|
spec:
|
|
priorityClassName: system-cluster-critical
|
|
serviceAccountName: metrics-server
|
|
containers:
|
|
- name: metrics-server
|
|
image: k8s.gcr.io/metrics-server-amd64:v0.3.0
|
|
command:
|
|
- /metrics-server
|
|
# These are needed for GKE, which doesn't support secure communication yet.
|
|
# Remove these lines for non-GKE clusters, and when GKE supports token-based auth.
|
|
- --kubelet-port=10255
|
|
- --deprecated-kubelet-completely-insecure=true
|
|
ports:
|
|
- containerPort: 443
|
|
name: https
|
|
protocol: TCP
|
|
- name: metrics-server-nanny
|
|
image: k8s.gcr.io/addon-resizer:1.8.3
|
|
resources:
|
|
limits:
|
|
cpu: 100m
|
|
memory: 300Mi
|
|
requests:
|
|
cpu: 5m
|
|
memory: 50Mi
|
|
env:
|
|
- name: MY_POD_NAME
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.name
|
|
- name: MY_POD_NAMESPACE
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.namespace
|
|
volumeMounts:
|
|
- name: metrics-server-config-volume
|
|
mountPath: /etc/config
|
|
command:
|
|
- /pod_nanny
|
|
- --config-dir=/etc/config
|
|
- --cpu={{ base_metrics_server_cpu }}
|
|
- --extra-cpu=0.5m
|
|
- --memory={{ base_metrics_server_memory }}
|
|
- --extra-memory={{ metrics_server_memory_per_node }}Mi
|
|
- --threshold=5
|
|
- --deployment=metrics-server-v0.3.0
|
|
- --container=metrics-server
|
|
- --poll-period=300000
|
|
- --estimator=exponential
|
|
# Specifies the smallest cluster (defined in number of nodes)
|
|
# resources will be scaled to.
|
|
- --minClusterSize={{ metrics_server_min_cluster_size }}
|
|
volumes:
|
|
- name: metrics-server-config-volume
|
|
configMap:
|
|
name: metrics-server-config
|
|
tolerations:
|
|
- key: "CriticalAddonsOnly"
|
|
operator: "Exists"
|