Skip to content

Metrics-server

Getting Started

Install metrics-server from kubernetes-sigs repository

  • install metrics server using kubectl
    kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
    

Install metrics-server from Bitnami Helm Charts repository

  • install helm repository

    helm repo add bitnami https://charts.bitnami.com/bitnami
    helm repo update
    

  • create metrics-server namespace

    kubectl create namespace metrics-server
    

  • create metrics-server configuration values file for your installation (i.e. linode)

    vi linode.yaml
    

  • check pod resource usage

    kubectl top pod <pod_name>
    

  • install helm Chart

    helm install -n metrics-server metrics-server bitnami/metrics-server -f linode.yaml
    

  • get all resources in metrics-server namespace

    kubectl -n metrics-server get all -o wide
    

Troubleshooting

Install metrics-server in kubernetes in docker-desktop

  • patch the metrics-server deployment using this command
    kubectl patch deployment metrics-server -n kube-system --type json \
        -p '[{"op": "add", "path": "/spec/template/spec/containers/0/args/-",
        "value": "--kubelet-insecure-tls"}]'
    

Install metrics-server in kubernetes in docker (kind) cluster

  • Github issue: https://github.com/kubernetes-sigs/kind/issues/398

  • kubernetes deployment using kind (kubernetes in docker) needs the following configuration for the metrics-server container

        args:
            - --kubelet-insecure-tls
            - --kubelet-preferred-address-types=InternalIP
    

  • update the metrics-server installation manifest for kind cluster or patch using kubectl from this Github gist

    kubectl patch deployment metrics-server -n kube-system --type json \
        -p '[{"op": "replace", "path": "/spec/template/spec/containers/0/args",
        "value": [
            "--cert-dir=/tmp",
            "--secure-port=443",
            "--kubelet-insecure-tls",
            "--kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname",
            "--kubelet-use-node-status-port",
            "--metric-resolution=15s"
        ]}]'