metrics-server部署完成后,pod状态为running,执行kubectl top nodes时报错
Error from server (ServiceUnavailable): the server is currently unable to handle the request (get nodes.metrics.k8s.io)
查看metrics-server的apiservices
# kubectl get apiservice -A
v1beta1.metrics.k8s.io kube-system/metrics-server False (FailedDiscoveryCheck) 72s
查看apiservice
# kubectl describe apiservice v1beta1.metrics.k8s.io
failing or missing response from https://10.102.205.120:443/apis/metrics.k8s.io/v1beta1: Get "https://10.102.205.120:443/apis/metrics.k8s.io/v1beta1": dial tcp 10.102.205.120:443: i/o timeout
添加配置后恢复正常
deployment.spec.template.spec.hostNetwork: true
哪块的网络有问题呢
根据你提供的信息和错误日志,看起来是 metrics-server 无法通过网络连接到 10.102.205.120 上的 metrics.k8s.io/v1beta1 接口。这可能是由于网络问题引起的,例如防火墙设置、路由问题或 DNS 解析错误等。尝试检查网络连接是否正常,并确保 metrics-server 可以访问 metrics.k8s.io/v1beta1 接口。
如果你的集群没有访问外部网络的权限,你可以考虑将 metrics-server 部署在能够访问 metrics.k8s.io/v1beta1 接口的节点上,或者通过添加必要的代理来解决网络连接问题。另外,确保你的 metrics-server 版本与集群版本兼容。