1. 程式人生 > 其它 >The connection to the server localhost:8080 was refused - did you specify the right host or port?

The connection to the server localhost:8080 was refused - did you specify the right host or port?

技術標籤: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