我的指标服务器突然无法工作并得到以下信息:
$ kubectl get apiservices |egrep metrics
v1beta1.metrics.k8s.io kube-system/metrics-server False (MissingEndpoints)
我尝试在下面实现但仍然不行:
$ git clone https://github.com/kubernetes-incubator/metrics-server.git
$ cd metrics-server
$ kubectl apply -f deploy/1.8+/
请指教,谢谢。
我解决了这个问题如下:
下载指标服务器:
wget https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.5.0/components.yaml
删除指标服务器:
kubectl delete -f components.yaml
编辑下载的文件并添加 - --kubelet-insecure-tls 标志:
labels:
k8s-app: metrics-server
spec:
containers:
- args:
- --cert-dir=/tmp
- --secure-port=443
- --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
- --kubelet-use-node-status-port
- --metric-resolution=15s
- --kubelet-insecure-tls
再次创建服务:
kubectl apply -f components.yaml
在这种情况下,解决方案是升级节点的 kubernetes 版本以重新应用指标服务器
此外,升级到最新(0.4.1)版本的
metrics-server
可能会修复类似的问题(如False (MissingEndpoints)
):
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.4.1/components.yaml;
这适用于我的 AKS 集群
删除指标服务器部署:
kubectl delete deployment metrics-server -n kube-system
部署最新的 Metrics Server:
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
重启集群:
az aks stop --name myAKSCluster --resource-group myResourceGroup
az aks start --name myAKSCluster --resource-group myResourceGroup