当我们初步安装玩k8s (master 带 2 nodes) 时
正常来讲kubectl 只能在master node 里运行

当我们尝试在某个 node 节点来执行时, 通常会遇到下面错误
在这里插入图片描述

看起来像是访问某个服务器的8080 端口失败了。





原因

原因很简单 , 因为k8s的各个组建, 例如pod, nodes, svc 等其实都是被apiservice 去管理的。
即使我们使用kubectl 命令行去管理这些组件, 在背后, kubectl 还是得去调用 apiservice
如下图
在这里插入图片描述
所以其实我们在执行kubectl 命令之前, 必须配置一些东西让kubectl 知道 apiservice 的具体ip 和端口





具体步骤

step 1, copy admin.conf from master

在master node 执行

scp /etc/kubernetes/admin.conf root@k8s-node1:/etc/kubernetes/
step2 , 在k8s node 服务器上配置1个环境变量
echo "export KUBECONFIG=/etc/kubernetes/admin.conf"  >> ~/.bash_profile

然后就可以了 !

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐