[英]My kubernetes cluster IP address changed and now kubectl will no longer connect
[英]Unable to kubectl connect my kubernetes cluster
随着Kubernetes集群的建立和运行,并能够使用ssh-keys通过ssh转到主服务器并在其中运行kubectl命令; 我想在本地计算机上运行kubectl命令。 所以我尝试按照kubectl config来设置配置 :
kubectl config set-cluster mykube --server=https://<master-ip>:6443
kubectl config set-context mykube --cluster=mykube --user=mykube-adm
kubectl config set-credentials mykube-adm --client-key=path/to/private/keyfile
激活上下文:
kubectl config use-context mykube
当我运行kubectl命令时:
kubectl get nodes
它返回:
与服务器localhost:8080的连接被拒绝-您是否指定了正确的主机或端口?
kubectl config view
的输出
apiVersion: v1
clusters:
- cluster:
server: https://<master-ip>:6443
name: mykubecontexts:
- context:
cluster: mykube
user: mykube-adm
name: mykube
current-context: mykube
kind: Config
preferences: {}
users:
- name: mykube-adm
user:
client-key: path/to/private/keyfile
不幸的是,上面的kubectl
配置文件不正确。 由于手动格式化或其他原因,似乎出现了错误。
这部分缺少新行( name: mykubecontexts:
:
clusters:
- cluster:
server: https://<master-ip>:6443
name: mykubecontexts:
- context:
cluster: mykube
user: mykube-adm
name: mykube
正确的一个是:
clusters:
- cluster:
server: https://<master-ip>:6443
name: mykube
contexts:
- context:
cluster: mykube
user: mykube-adm
name: mykube
这就是群集的名称为mykubecontexts:
的原因:
clusters:
- cluster:
server: https://<master-ip>:6443
name: mykubecontexts:
这就是为什么其中没有上下文的原因,因为contexts:
没有定义。
kubectl
找不到上下文mykube
并切换到默认值,其中默认情况下server=localhost:8080
。
如果未设置--kubeconfig
标志或$KUBECONFIG
环境变量,则默认情况下, kubectl
config位于${HOME}/.kube/config
文件中。
请更正以下内容:
apiVersion: v1
clusters:
- cluster:
server: https://<master-ip>:6443
name: mykube
contexts:
- context:
cluster: mykube
user: mykube-adm
name: mykube
current-context: mykube
kind: Config
preferences: {}
users:
- name: mykube-adm
user:
client-key: path/to/private/keyfile
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.