无法从 Kubernetes 获取 apiVersions:无法检索服务器 API 的完整列表
Could not get apiVersions from Kubernetes: Unable to retrieve the complete list of server APIs
尝试部署应用程序时出现如下错误:
Error: UPGRADE FAILED: could not get apiVersions from Kubernetes: unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request
kubectl api-resources
的输出包含一些资源以及最后的相同错误。
环境:Azure 云,AKS 服务
当主节点无法访问您的指标服务器 pod 时,通常会发生此错误。可能的原因是
metric-server pod 不是 运行。这是您应该检查的第一件事。然后查看 metric-server pod 的日志,检查它在尝试获取 metrics
时是否存在一些权限问题
尝试确认主从节点之间的通信
尝试运行kubectl top nodes
和kubectl top pods -A
看看metric-server是否运行正常。
从这些点你可以进一步进行。
解决方案:
我遵循的步骤是:
kubectl get apiservices
:如果 metric-server 服务因错误 CrashLoopBackOff 而关闭,请尝试按照步骤 2 进行操作,否则只需尝试重新启动 metric - 服务器服务使用 kubectl delete apiservice/"service_name"。对我来说是 v1beta1.metrics.k8s.io .
kubectl get pods -n kube-system
发现 pods 像 metrics-server, kubernetes-dashboard 因为主要的 coreDNS pod 宕机了。
对我来说是:
NAME READY STATUS RESTARTS AGE
pod/coredns-85577b65b-zj2x2 0/1 CrashLoopBackOff 7 13m
- 使用
kubectl describe pod/"pod_name"
检查 coreDNS pod 中的错误以及它是否因 /etc/coredns/Corefile 而关闭:10 - 解析期间出错:未知指令代理 ,那么我们需要在 coreDNS 配置所在的 yaml 文件中使用 forward 而不是 proxy 。因为图像使用的 CoreDNS 版本 1.5x 不再支持 proxy 关键字。
尝试部署应用程序时出现如下错误:
Error: UPGRADE FAILED: could not get apiVersions from Kubernetes: unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request
kubectl api-resources
的输出包含一些资源以及最后的相同错误。
环境:Azure 云,AKS 服务
当主节点无法访问您的指标服务器 pod 时,通常会发生此错误。可能的原因是
metric-server pod 不是 运行。这是您应该检查的第一件事。然后查看 metric-server pod 的日志,检查它在尝试获取 metrics
时是否存在一些权限问题
尝试确认主从节点之间的通信
尝试运行
kubectl top nodes
和kubectl top pods -A
看看metric-server是否运行正常。
从这些点你可以进一步进行。
解决方案:
我遵循的步骤是:
kubectl get apiservices
:如果 metric-server 服务因错误 CrashLoopBackOff 而关闭,请尝试按照步骤 2 进行操作,否则只需尝试重新启动 metric - 服务器服务使用 kubectl delete apiservice/"service_name"。对我来说是 v1beta1.metrics.k8s.io .kubectl get pods -n kube-system
发现 pods 像 metrics-server, kubernetes-dashboard 因为主要的 coreDNS pod 宕机了。
对我来说是:
NAME READY STATUS RESTARTS AGE
pod/coredns-85577b65b-zj2x2 0/1 CrashLoopBackOff 7 13m
- 使用
kubectl describe pod/"pod_name"
检查 coreDNS pod 中的错误以及它是否因 /etc/coredns/Corefile 而关闭:10 - 解析期间出错:未知指令代理 ,那么我们需要在 coreDNS 配置所在的 yaml 文件中使用 forward 而不是 proxy 。因为图像使用的 CoreDNS 版本 1.5x 不再支持 proxy 关键字。