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的认证文件是不安全的。

posted @ 2025-07-04 23:01  takenika  阅读(9)  评论(0)    收藏  举报