Docker Kubernetes(Mac)-Autoscaler无法找到度量

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

在演练如何在部署上激活自动缩放后,我遇到了一个问题。自动缩放器无法读取度量

当我运行kubectl descripe hpa时,当前cpu使用率返回为未知/50%,并显示以下警告:

警告FailedGetResourceMetric:
水平机架自动缩放器无法获取资源cpu的指标:
无法从API获取度量值:服务器找不到度量值
请求的资源(获取pods.metrics.k8s.io)

警告失败ComputeMetricsReplicates
水平吊舱自动缩放器无法获取cpu利用率:无法
获取资源cpu的度量值:无法从API获取度量值:
服务器找不到请求的资源(获取pods.metrics.k8s.io)

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

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

  1. 让Kubernetes在Docker内部运行

  2. 使用kubectl Delete-n kube system deployments.apps metrics server

  3. 使用git克隆克隆metrics服务器https://github.com/kubernetes-incubator/metrics-server.git

  4. 编辑文件deploy/1.8+/metrics server deployment.yaml,通过添加以前不存在的command部分来覆盖默认命令。新的部分将指示metrics server允许不安全的通信会话(不要验证涉及的证书)。仅针对Docker执行此操作,而不针对metrics server的生产部署:

    容器:
    -名称:metrics服务器
    图:k8s.gcr.io/metrics-server-amd64:v0.3.1
    命令:
    -/metrics服务器
    ---kubelet不安全tls
    
  5. 使用kubectl create-f deploy/1.8+将metrics server添加到Kubernetes实例中(如果.yaml出现错误,请改为编写:kubectl apply-f deploy/1.8+

  6. 删除自动缩放器并再次将其添加到部署中。它现在应该显示当前的cpu使用情况

编辑2020年7月:

除metrics服务器已更改且该文件不再存在外,上述大多数步骤都是正确的

《回购协议》现在建议如下安装:

应用-fhttps://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.6/components.yaml

我们现在可以下载这个文件了

curl-Lhttps://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.6/components.yaml --输出组件.yaml

--kubelet unsecure tls添加到args(L88)下的-metrics服务器部署并运行

kubectl应用-f components.yaml

发表评论