默认 容器服务 的 Node 上无法执行 kubectl
,需要配置集群访问凭证,如果你开启了内网访问
按照官方教程很好解决,这里介绍下在不开启内网访问的情况下,如何在 Node 上执行 kubectl。
现在内网 CLB 收费了,直接使用容器服务默认内网访问的方式钱有点不够,简单改一下 apiserver 的地址,即可实现 kubectl 访问。
默认节点是无法使用 kubectl 访问的
代码语言:shell复制# kubectl get node
error: You must be logged in to the server (Unauthorized)
按如下操作以下
1. 获取 APIServer 的 地址
在 ~/.kube/config
中可以找到这一行配置,记录下来,下一步要用
server: https://169.254.128.16:60002
如果没找到,也可以通过命令行获取
代码语言:shell复制[root@xxxx .kube]# netstat -tnp | grep kube
tcp 0 0 10.1.0.20:58804 169.254.128.16:60002 ESTABLISHED 2240947/kubelet
2. 修改连接集群的访问凭证 ~/.kube/config
在集群基础信息页中,复制上文截图的 kubeconfig部分 到 ~/.kube/config
中,修改 server 地址
为上一步获取的 APIServer地址。
3. 验证 kubectl
访问成功
代码语言:shell复制# kubectl get node
NAME STATUS ROLES AGE VERSION
10.1.0.99 Ready <none> 2y200d v1.20.6-tke.20
...