| 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.1 |
| namespace: kube-system |
| labels: |
| k8s-app: metrics-server |
| kubernetes.io/cluster-service: "true" |
| addonmanager.kubernetes.io/mode: Reconcile |
| version: v0.3.1 |
| spec: |
| selector: |
| matchLabels: |
| k8s-app: metrics-server |
| version: v0.3.1 |
| template: |
| metadata: |
| name: metrics-server |
| labels: |
| k8s-app: metrics-server |
| version: v0.3.1 |
| 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.1 |
| command: |
| - /metrics-server |
| - --metric-resolution=30s |
| # 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.4 |
| 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.1 |
| - --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" |