我已经通过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+
我终于让它工作了。。
以下是我为使事情正常运行所采取的全部步骤:
-
让Kubernetes在Docker内部运行
-
使用
kubectl Delete-n kube system deployments.apps metrics server
-
使用
git克隆克隆metrics服务器https://github.com/kubernetes-incubator/metrics-server.git
-
编辑文件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
-
使用
kubectl create-f deploy/1.8+
将metrics server添加到Kubernetes实例中(如果.yaml出现错误,请改为编写:kubectl apply-f deploy/1.8+
) -
删除自动缩放器并再次将其添加到部署中。它现在应该显示当前的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