等待metrics-server的pod完全启动后,使用 kubectl top 命令,报错如下:
kubectl top 报错
通过 kubectl logs 查看 pod 中应用日志报错如下:
metrics-server 应用报错
根据报错信息初步看是 Pod 中 DNS 无法解析出节点 k8s-master 、k8s-node1、k8s-node2 的 IP,修改其 yaml 文件,让 Pod 通过 IP 直接访问,而不是通过主机名
再次修改 yaml 文件,忽略证书校验步骤,已确保 https 调用成功
添加 kubelet-insecure-tls
再次测试,可正常使用 kubectl top
containers:
- name: metrics-serve
image: lizhenliang/metrics-server:v0.3.7
imagePullPolicy: IfNotPresent
args:
- --cert-dir=/tmp
- --secure-port=4443
- --kubelet-preferred-address-types=InternalIP
- --kubelet-insecure-tls