关于Kubernetes-k8s集群在任意nodes节点上执行kubectl和kubadm命令的方法_天天快消息

时间:2023-05-17 07:18:08       来源:博客园

在Kubernetes-k8s集群中,一般只有在master 才能执行kubectl和kubadm 相关的命令

如果到worker nodes 节点上执行,则会有如下报错:


(资料图)

[root@k8s-node1 qq-5201351]# kubectl get nodes,po -AThe connection to the server localhost:8080 was refused - did you specify the right host or port?

当前其实这也是正常的、因为这些命令本来也是发向kube-apiserver,及apiserver的6443号端口才能正常的收到响应,而nodes节点没有任何相关的配置

一般生产环境也是这样,不会允许在nodes节点上去执行这些操作、如果确实想要在nodes节点上执行kubectl和kubadm 相关的命令呢,其实也是有如下2种实现的方法的

方法一:拷贝master节点的/etc/kubernetes/admin.conf 到nodes节点中的同样的目录/etc/kubernetes/ ,然后再配置环境变量

[root@k8s-node1 qq-5201351]# scp k8s-master:/etc/kubernetes/admin.conf /etc/kubernetes/admin.conf

然后再配置环境变量:

echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profilesource ~/.bash_profile

方法二:拷贝master节点的/etc/kubernetes/admin.conf 到nodes节点的$HOME/.kube目录,并且命名为config就可以了

因为默认是没有$HOME/.kube目录的,先进行创建

mkdir -p $HOME/.kube

scp k8s-master:/etc/kubernetes/admin.conf $HOME/.kube/config

最后我们就可以在worker nodes节点上执行验证了,这里验证kubectl命令,也可以使用kubeadm token list 命令验证也是可以正常执行的

尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/17407406.html

关键词: