本地远程连接k8s集群
为了能使本地能连接k8s集群更好的测试数据库自动更新功能,我在服务器上为本地签发了kubeconfig文件,放到本地之后出现如下的错误。3、使用指定的kubeconfig文件来操作集群。2、获取集群的kubeconfig文件。1、首先确保本地已经安装好。
为了能使本地160服务器连接k8s集群更好的测试数据库自动更新功能,我在服务器上为本地签发了kubeconfig文件,放到本地之后出现如下的错误。
1、首先确保本地已经安装好kubectl工具
从官方链接下载适合服务器所在平台的kubectl二进制文件:
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.22.1/bin/linux/amd64/kubectl
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl
2、获取集群的kubeconfig文件
scp root@192.168.140.212:/root/.kube/config /tmp/config
3、使用指定的kubeconfig文件来操作集群
export KUBECONFIG=/tmp/config
kubectl get pods # 通过kubectl命令操作集群
要注意的是,首先必须具有在集群上执行操作所需的权限,因此需要在k8s集群中创建一个适当的ServiceAccount,以及将其绑定到具有适当的角色和角色绑定中,该过程步骤为:
kubernetes 创建 ServiceAccount_创建一个serviceaccount_Wu_Menghao的博客-CSDN博客
但是以上步骤操作后,进行kubectl命令却报错:
显示无法连接,我想了一下会不会是需要设置ssh免密登录,于是将160的/root/.ssh/id_rsa.pub公钥复制到集群/root/.ssh/authorized_keys文件中(没有的话就手动创建,多个公钥之间要换行),实现免密登录集群后执行kubectl命令操作却仍然报这个错,我不理解。
去问了同事才知道,可能是代理的原因,我在160上设置了http和https代理,走了代理后代理机器可能无法访问集群,所以我取消了代理(unset https_proxy),再试已经可以正常访问了。
更多推荐
所有评论(0)