说明容器服务 TKE 计划于北京时间2020年9月21日(周一)23:00 – 9月22日(周二)06:00进行操作停止下发 kubeconfig 文件。
问题背景
当前容器服务 TKE 在节点默认会放置带有 admin token 的 Kubeconfig 文件,用户可以通过此 Kubeconfig 文件方便的操作 Kubernetes 集群,但是当用户节点登录权限管理不慎,可能会导致集群面临安全风险,所以我们将停止下发 Kubeconfig 文件。考虑到存量集群可能会在用户自定义脚本中使用 Kubeconfig 文件对集群进行一些初始化的操作,我们将下发一个权限相同但有效期仅为12小时的客户端证书,供用户初始化节点使用,证书过期之后,此 Kubeconfig 文件也相应作废。如仍需使用,请参考 问题影响及处理措施 进行操作。
问题影响及处理措施
问题现象
如用户习惯使用如下命令进行 TKE 集群登录节点进行 Kubectl 操作,命令及报错信息如下:
$ kubectl get nodeThe connection to the server localhost:8080 was refused - did you specify the right host or port?
$ kubectl get nodeerror: You must be logged in to the server (Unauthorized)
处理措施
1. 登录 容器服务控制台。2. 获取当前使用账号的凭证信息 Kubeconfig 文件,请参见 获取凭证。3. 获取 Kubeconfig 文件后,可以选择开启内网访问,也可直接使用 Kubernetes 的 service IP。开启内网访问:在集群详情页面中,选择左侧的基本信息,在“集群 APIServer 信息”中开启内网访问,并根据提示信息进行操作。使用 Kubernetes 的 service IP:在集群详情页面中,选择左侧的服务与路由 > Service获取 default 命名空间下 Kubernetes 的 service IP。将 Kubeconfig 文件中 clusters.cluster.server 字段替换为 https://<IP
>:443 即可。4. 拷贝 Kubeconfig 文件内容到新节点上的 $HOME/.kube/config
下。5. 访问 Kubeconfig 集群,使用 kubectl get nodes
测试是否连通。
特殊场景处理
特殊场景
workload 已挂载 host 的 /root/.kube/config
或者 /home/ubuntu/.kube/config
文件进行使用。
处理措施
正确使用 Kubernetes 的 serviceaccount 进行 incluster 方式访问集群,请参见 Kubernetes官方文档。
容器服务官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠
转转请注明出处:https://www.yunxiaoer.com/147065.html