![](/img/trans.png)
[英]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.