Docker Kubernetes (Mac) - Autoscaler unable to find metrics

前端 未结 4 873
别跟我提以往
别跟我提以往 2020-12-15 08:41

I have installed a local instance of Kubernetes via Docker on my Mac.

Following the walkthrough on how to activate autoscaling on a deployment I have experienced an

4条回答
  •  陌清茗
    陌清茗 (楼主)
    2020-12-15 08:44

    I finally got it working.. Here are the full steps I took to get things working:

    1. Have Kubernetes running within Docker

    2. Delete any previous instance of metrics-server from your Kubernetes instance with kubectl delete -n kube-system deployments.apps metrics-server

    3. Clone metrics-server with git clone https://github.com/kubernetes-incubator/metrics-server.git

    4. Edit the file deploy/1.8+/metrics-server-deployment.yaml to override the default command by adding a command section that didn't exist before. The new section will instruct metrics-server to allow for an insecure communications session (don't verify the certs involved). Do this only for Docker, and not for production deployments of metrics-server:

      containers:
      - name: metrics-server
          image: k8s.gcr.io/metrics-server-amd64:v0.3.1
          command:
            - /metrics-server
            - --kubelet-insecure-tls
      
    5. Add metrics-server to your Kubernetes instance with kubectl create -f deploy/1.8+ (if errors with the .yaml, write this instead: kubectl apply -f deploy/1.8+)

    6. Remove and add the autoscaler to your deployment again. It should now show the current cpu usage.

    EDIT July 2020:

    Most of the above steps hold true except the metrics-server has changed and that file does not exist anymore.

    The repo now recommends installing it like this:

    apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.6/components.yaml
    

    So we can now download this file,

    curl -L https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.6/components.yaml --output components.yaml
    

    add --kubelet-insecure-tls under args (L88) to the metrics-server deployment and run

    kubectl apply -f components.yaml
    

提交回复
热议问题