kubectl命令
在worker节点装了 kubectl 这个命令的话,也是可以执行的。
[root@worker1 ~]# kubectl get node
E0704 22:51:05.982177 6358 memcache.go:265] couldn't get current server API group list: Get "http://localhost:8080/api?timeout=32s": dial tcp [::1]:8080: connect: connection refused
E0704 22:51:05.982564 6358 memcache.go:265] couldn't get current server API group list: Get "http://localhost:8080/api?timeout=32s": dial tcp [::1]:8080: connect: connection refused
8080 是本机的非安全端口,不需要做认证就可以访问,但是本机是没有启动对应的 apiservcer 的所以自然是连接失败。
此时希望连接的是master节点,但是由于没有认证文件,当前worker主机也不知道去哪里连接对应的apiserver,这就需要执行与master节点一样的操作:
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
这里worker文件是master上的认证文件。这样worker节点就有了master的认证文件,就能通过kubectl命令对master上的apiserver连接。
worker节点有master的认证文件是不安全的。

浙公网安备 33010602011771号