簡體   English   中英

無法kubectl連接我的kubernetes集群

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM