kubectl api-resources 错误: unable to retrieve the complete list of server APIs - Nginx 代理配置问题
当 apiserver 通过 Nginx 代理后,可能会出现错误'unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request'。这个错误通常是因为 Nginx 代理配置导致的。
解决这个问题的方法是配置 Nginx 代理的转发规则,以正确处理 metrics.k8s.io 的请求。在 Nginx 的配置文件中,添加以下配置:
location /apis/metrics.k8s.io/ {
proxy_pass http://<apiserver-address>/apis/metrics.k8s.io/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
请将<apiserver-address>替换为实际的 apiserver 地址。然后重新加载 Nginx 配置并重启 Nginx 服务。
sudo nginx -t
sudo systemctl restart nginx
重新运行kubectl api-resources命令,应该能够成功获取到 API 资源列表。
注意:这只是解决了 metrics.k8s.io/v1beta1 的请求问题,如果还有其他的 API 请求也出现类似的错误,可能需要进一步调整 Nginx 代理配置。
原文地址: https://www.cveoy.top/t/topic/pFfJ 著作权归作者所有。请勿转载和采集!