The connection to the server localhost:8080 was refused - did you specify the right host or port?
阿新 • • 發佈:2021-01-26
技術標籤:LinuxKuberneteskuberneteslinuxdocker
問題描述:
在呼叫kubectl命令時,出現以下錯誤:
The connection to the server localhost:8080 was refused - did you specify the right host or port?
原因分析:
在執行kubectl時,首先進行本地封裝,然後呼叫kube-apiserver執行對應命令,在這個過程中需要獲取k8s叢集的配置,預設為當前使用者下.kube目錄的config,但此時獲取不到配置。
解決方案:
1)如果是k8s叢集的master
root
使用者,可以執行以下命令:
echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile
source ~/.bash_profile
如果非root
使用者,可以執行以下命令:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
2)如果是k8s叢集的node
節點,可以需要從master
節點拷貝admin.conf
node
節點上:
scp [email protected]:/etc/kubernetes/admin.conf /etc/kubernetes/
如果是root使用者,執行:
echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile
source ~/.bash_profile
如果不是root使用者,執行:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config