我遇到了一个 kubectl 问题,我一直在努力解决。当我尝试运行 kubectl 版本时,我始终收到错误消息“与服务器 localhost:8080 的连接被拒绝 - 您指定了正确的主机或端口吗?”
以下是有关我的设置的一些背景:
我正在尝试连接到 AWS EKS 上托管的 Kubernetes 集群。 我已经验证我的 ~/.kube/config 文件包含正确的服务器 URL、证书颁发机构数据和集群的上下文。 尽管仔细检查了我的配置并尝试了各种故障排除步骤,例如使用curl手动测试连接并运行具有详细输出的kubectl命令,但我仍无法解决问题。
是否有人遇到过类似的问题或对可能导致此错误的原因有任何见解?我将非常感谢任何有关下一步尝试的故障排除步骤的指导或建议。
提前感谢您的帮助!
这是
.kube/config
的输出
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUMvakNDQWVhZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQ>
server: https://73151AEE188E2A4D776D2E92C66C5B9F.gr7.eu-west-2.eks.amazonaws.com
name: arn:aws:eks:eu-west-2:448568155388:cluster/django-k8s-cluster
contexts:
- context:
cluster: arn:aws:eks:eu-west-2:448568155388:cluster/django-k8s-cluster
user: arn:aws:eks:eu-west-2:448568155388:cluster/django-k8s-cluster
name: arn:aws:eks:eu-west-2:448568155388:cluster/django-k8s-cluster
kind: Config
preferences: {}
users:
- name: arn:aws:eks:eu-west-2:448568155388:cluster/django-k8s-cluster
user:
exec:
apiVersion: client.authentication.k8s.io/v1beta1
args:
- --region
- eu-west-2
- eks
- get-token
- --cluster-name
- django-k8s-cluster
- --output
- json
command: aws
env: null
interactiveMode: IfAvailable
provideClusterInfo: false
发生错误后,最好检查
kubectl config get-contexts
和kubectl config current-context
以确保您的kubectl
指向正确的配置。我建议您还运行 which kubectl
以确保您使用系统 kubectl
,而不是例如 Minikube 的 kubectl 或任何其他通常在安装时明确附带的 Wonderwaffles' kubectl
。
如果上述方法不起作用,再次发生错误后,运行
KUBE_CONFIG=.kube/config kubectl get nodes
以覆盖您必须查看发生的情况的任何配置。
最后,如果一切都不起作用,请添加
kubectl -v7 get nodes | grep "Config loaded from file"
以查看它在日志中读取的配置。