Docker Kubernetes(Mac) - Autoscaler无法找到指标

问题描述 投票:2回答:2

我在Mac上通过Docker安装了Kubernetes的本地实例。

关于如何在部署中激活自动缩放的walkthrough之后,我遇到了一个问题。自动缩放器无法读取指标。

当我运行kubectl describe hpa时,当前的cpu使用率返回为unknown / 50%并带有警告:

警告FailedGetResourceMetric:horizo​​ntal-pod-autoscaler无法获取资源cpu的指标:无法从API获取指标:服务器找不到所请求的资源(获取pods.metrics.k8s.io)

警告FailedComputeMetricsReplicas horizo​​ntal-pod-autoscaler无法获得cpu利用率:无法获取资源cpu的指标:无法从API获取指标:服务器无法找到所请求的资源(获取pods.metrics.k8s.io)

我已经通过git clone https://github.com/kubernetes-incubator/metrics-server.gitand安装了metrics-server,并安装了kubectl create -f deploy/1.8+

docker kubernetes
2个回答
8
投票

我终于让它工作了......以下是我为使事情工作所采取的全部步骤:

  1. 让Kubernetes在Docker中运行
  2. 使用kubectl delete -n kube-system deployments.apps metrics-server从Kubernetes实例中删除任何先前的metrics-server实例
  3. 使用git clone https://github.com/kubernetes-incubator/metrics-server.git克隆指标 - 服务器
  4. 编辑文件deploy / 1.8 + / metrics-server-deployment.yaml以通过添加之前不存在的命令部分来覆盖默认命令。新部分将指示metrics-server允许不安全的通信会话(不验证所涉及的证书)。仅对Docker执行此操作,而不是对metrics-server的生产部署执行此操作: containers: - name: metrics-server image: k8s.gcr.io/metrics-server-amd64:v0.3.1 command: - /metrics-server - --kubelet-insecure-tls
  5. 使用kubectl create -f deploy/1.8+将metrics-server添加到您的Kubernetes实例(如果使用.yaml的错误,请改为使用:kubectl apply -f deploy/1.8+
  6. 删除并再次将autoscaler添加到部署中。它现在应该显示当前的cpu使用情况。

1
投票

对于谁使用内部IP,这里可能适合您。在步骤4中关注@ Mr.Turtle,添加更多命令。

  containers:
  - name: metrics-server
    image: k8s.gcr.io/metrics-server-amd64:v0.3.3
    command:
      - /metrics-server
      - --kubelet-insecure-tls
      - --kubelet-preferred-address-types=InternalIP
© www.soinside.com 2019 - 2024. All rights reserved.