如何获取导入集群信息?
问题描述
获取连接导入集群所需的配置,以便授权平台访问并管理该集群。
前提条件
-
可正常使用的
kubectl环境。对于公有云集群,强烈建议使用云厂商提供的 CloudShell。 如果没有 CloudShell,建议使用 Linux 或 macOS。 -
已获取导入集群的 KubeConfig 文件,并将其复制到安装了
kubectl的环境中。为避免误操作到错误环境,强烈建议使用以下一种非破坏性方式:- 备份方式:先将现有 kubeconfig 复制到安全位置:
cp "${HOME}/.kube/config" "${HOME}/.kube/config.backup" - 隔离方式:将
KUBECONFIG环境变量指向导入的 kubeconfig:export KUBECONFIG="/path/to/imported/kubeconfig" - 合并方式:使用 kubectl 的 merge/flatten,且不丢失现有 context:
export KUBECONFIG="/path/to/imported/kubeconfig:${HOME}/.kube/config"kubectl config view --flatten > "${HOME}/.kube/merged.kubeconfig"export KUBECONFIG="${HOME}/.kube/merged.kubeconfig"
- 备份方式:先将现有 kubeconfig 复制到安全位置:
获取集群信息
获取集群令牌
-
运行以下命令:
WARNING此操作步骤会创建一个 cluster-admin 凭证,且该凭证设计为不过期。
- 如有可能,优先采用仅授予所需资源最小权限的 RBAC。
- 请妥善保管令牌;在不再需要时及时轮换/撤销。
- 限制可读取
cpaas-system中Secret对象的人员范围。
-
下图为上一步获取到的令牌示例。
-
验证令牌的过期时间。
使用任何支持解析 JWT 令牌的工具来分析该令牌,并确认其过期时间。 如果在解析结果中能找到 expiration 字段(包含 “exp” 的键,如下所示),则平台在该时间之后将无法管理导入集群。 在这种情况下,请停止操作并联系技术支持。
TIP
过期时间记录在原始 JWT payload 中的 "exp": 1684486916,。该值为 UNIX 时间戳,可转换为 UTC 时间。
完成后进行清理(撤销访问权限):
获取导入集群 API server 地址和 CA 证书
TIP
如果你已经通过导入集群页面上的 Parse KubeConfig File 功能获取了 API server 地址和 CA 证书,可跳过此步骤。
-
运行以下命令: