...

Text file src/k8s.io/kubernetes/cluster/addons/metrics-server/metrics-server-deployment.yaml

Documentation: k8s.io/kubernetes/cluster/addons/metrics-server

     1apiVersion: v1
     2kind: ServiceAccount
     3metadata:
     4  name: metrics-server
     5  namespace: kube-system
     6  labels:
     7    kubernetes.io/cluster-service: "true"
     8    addonmanager.kubernetes.io/mode: Reconcile
     9---
    10apiVersion: v1
    11kind: ConfigMap
    12metadata:
    13  name: metrics-server-config
    14  namespace: kube-system
    15  labels:
    16    kubernetes.io/cluster-service: "true"
    17    addonmanager.kubernetes.io/mode: EnsureExists
    18data:
    19  NannyConfiguration: |-
    20    apiVersion: nannyconfig/v1alpha1
    21    kind: NannyConfiguration
    22---
    23apiVersion: apps/v1
    24kind: Deployment
    25metadata:
    26  name: metrics-server-v0.7.0
    27  namespace: kube-system
    28  labels:
    29    k8s-app: metrics-server
    30    addonmanager.kubernetes.io/mode: Reconcile
    31    version: v0.7.0
    32spec:
    33  selector:
    34    matchLabels:
    35      k8s-app: metrics-server
    36      version: v0.7.0
    37  template:
    38    metadata:
    39      name: metrics-server
    40      labels:
    41        k8s-app: metrics-server
    42        version: v0.7.0
    43    spec:
    44      securityContext:
    45        seccompProfile:
    46          type: RuntimeDefault
    47      priorityClassName: system-cluster-critical
    48      serviceAccountName: metrics-server
    49      nodeSelector:
    50        kubernetes.io/os: linux
    51      containers:
    52      - name: metrics-server
    53        image: registry.k8s.io/metrics-server/metrics-server:v0.7.0
    54        command:
    55        - /metrics-server
    56        - --metric-resolution=15s
    57        - --kubelet-use-node-status-port
    58        - --kubelet-insecure-tls
    59        - --kubelet-preferred-address-types=InternalIP,Hostname,InternalDNS,ExternalDNS,ExternalIP
    60        - --cert-dir=/tmp
    61        - --secure-port=10250
    62        ports:
    63        - containerPort: 10250
    64          name: https
    65          protocol: TCP
    66        readinessProbe:
    67          httpGet:
    68            path: /readyz
    69            port: https
    70            scheme: HTTPS
    71          periodSeconds: 10
    72          failureThreshold: 3
    73        livenessProbe:
    74          httpGet:
    75            path: /livez
    76            port: https
    77            scheme: HTTPS
    78          periodSeconds: 10
    79          failureThreshold: 3
    80        volumeMounts:
    81        - mountPath: /tmp
    82          name: tmp-dir
    83      - name: metrics-server-nanny
    84        image: registry.k8s.io/autoscaling/addon-resizer:1.8.14
    85        resources:
    86          limits:
    87            cpu: 100m
    88            memory: 300Mi
    89          requests:
    90            cpu: 5m
    91            memory: 50Mi
    92        env:
    93          - name: MY_POD_NAME
    94            valueFrom:
    95              fieldRef:
    96                fieldPath: metadata.name
    97          - name: MY_POD_NAMESPACE
    98            valueFrom:
    99              fieldRef:
   100                fieldPath: metadata.namespace
   101        volumeMounts:
   102        - name: metrics-server-config-volume
   103          mountPath: /etc/config
   104        command:
   105          - /pod_nanny
   106          - --config-dir=/etc/config
   107          - --cpu={{ base_metrics_server_cpu }}
   108          - --extra-cpu=0.5m
   109          - --memory={{ base_metrics_server_memory }}
   110          - --extra-memory={{ metrics_server_memory_per_node }}Mi
   111          - --threshold=5
   112          - --deployment=metrics-server-v0.7.0
   113          - --container=metrics-server
   114          - --poll-period=30000
   115          - --estimator=exponential
   116          # Specifies the smallest cluster (defined in number of nodes)
   117          # resources will be scaled to.
   118          - --minClusterSize={{ metrics_server_min_cluster_size }}
   119          # Use kube-apiserver metrics to avoid periodically listing nodes.
   120          - --use-metrics=true
   121      volumes:
   122      - name: metrics-server-config-volume
   123        configMap:
   124          name: metrics-server-config
   125      - emptyDir: {}
   126        name: tmp-dir
   127      tolerations:
   128        - key: "CriticalAddonsOnly"
   129          operator: "Exists"

View as plain text