備忘録。
既知の人も多いだろうから、タイトルで読み飛ばしやすくしたつもり。
こんなエラー出たことある?
k8sクラスタをkubeadmで作成後に、こんなエラーが出たことないだろうか?
niiku-y@master01:~$ kubectl get nodes
The connection to the server localhost:8080 was refused - did you specify the right host or port?
niiku-y@master01:~$
上記、タイミング的には、masterノードで
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
を実行して、
workerノードで
sudo kubeadm join (上記コマンド実行後のメッセージで記載のオプション)
を実行して、そのあとに出ている。
原因はadmin.confのcopy忘れかも
kubeadmでクラスタ構築したての時であれば、作業が足りてない可能性あり。
kubectl config viewをみても中身が全然入ってないのではなかろうか?
落ち着いてkubeadm init後のメッセージをteraterm等のログが残っていれば読んでみよう。
「To start using your cluster, you need to run the following as a regular user:」
から先のところで何か忘れていないだろうか?
niiku-y@master01:~$ mkdir -p $HOME/.kube
niiku-y@master01:~$ cp /etc/kubernetes/admin.conf $HOME/.kube/config
niiku-y@master01:~$ chown $(id -u):$(id -g) $HOME/.kube/config
niiku-y@master01:~$ export KUBECONFIG=$HOME/.kube/config
niiku-y@master01:~$
niiku-y@master01:~$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
master01 NotReady master 5d23h v1.14.3
worker01 NotReady <none> 5d23h v1.14.3
niiku-y@master01:~$
→ kubectl実行時に上記のメッセージは出なくなった
(ちなみにstatusがNotReadyなのはcanal.yaml適用前だから。)
抜けていたコマンドを実行するとlocalhost:8080 was refusedは出なくなりましたね。
で、.bashrcとかにKUBECONFIGは書いておきましょう。