tencent cloud

全部产品文档
容器服务
连接集群
最后更新时间:2024-12-11 19:05:33
连接集群
最后更新时间: 2024-12-11 19:05:33

操作场景

您可以通过 Kubernetes 命令行工具 Kubectl 从本地客户端机器连接到 TKE 集群。本文档指导您如何连接集群。
注意
为符合平台对于安全合规的要求,且提升腾讯云容器服务集群访问的安全性及稳定性,cls-xxx.ccs.tencent-cloud.com 域名将于北京时间2022年8月10日正式下线。 为了保证您的使用体验、方便平滑迁移,平台将于北京时间7月20日升级集群访问能力(上线后,开启集群内外网访问会使用新版本,存量集群需要切换),请在北京时间7月20日至8月10日通过重新开启集群访问来切换至新版集群访问,以免域名下线后无法正常访问集群。您可参考本文档中的 开启集群访问获取 Kubeconfig 进行操作。 新架构与旧架构存在如下差异,集群访问相关 云 API 已经兼容新架构、支持平滑迁移。如果您调用了相关 API,请在7月20日前做好相关适配:
1. 新架构不提供公网域名解析功能。平台会为您传入的域名进行安全签名。为了保证访问安全,需要您自行配置公网域名解析。
2. 新架构下开启外网访问时,需要填写安全组来配置来源授权。
3. 新架构下开启外网访问时,会在您的账户下创建一个 CLB,公网 CLB 计费项详情见 标准账户类型计费说明

方案一:通过 Cloud Shell 连接集群

TKE 集成了腾讯云 Cloud Shell,您可以在腾讯云控制台上实现一键连接集群的能力,通过 kubectl 实现对集群的灵活操作。

操作步骤

步骤1:开启集群外网访问

1. 登录容器服务控制台,选择左侧导航栏中的 集群
2. 集群管理页面,选择集群所在地域,单击目标集群 ID,进入集群详情页。
3. 集群基本信息页面,查看集群访问开启状态,如下图所示:

4. 单击

开启外网访问。开启外网访问时,需配置相关参数,如下图所示:

安全组:开启外网访问后,会自动分配一个外网 CLB 作为访问端口。您可以通过安全组来配置来源授权,我们会将安全组绑定到外网 CLB 上,以达到访问控制的效果。
运营商类型、网络计费模式、带宽上限:CLB 相关参数,请参考 CLB 创建指南,根据实际需求进行设置。
访问方式:选择公网域名后,您需要传入自定义域名,我们会为您传入的域名进行安全签名,您需要自行配置公网解析。选择 CLB 默认域名后,您无需再手动配置域名解析等操作。
5. 确认外网访问已开启。如下图所示:


步骤2:使用 Cloud Shell 连接集群

1. 登录容器服务控制台,选择左侧导航栏中的 集群
2. 集群管理页面,选择集群所在地域,单击目标集群右侧的更多 > 连接集群,如下图所示:

3. 在控制台下方出现 Cloud Shell 入口,您可以直接在命令框里面输入 kubectl 指令。

方案二:通过本地计算机连接集群

前提条件

请安装 curl

操作步骤

步骤1:安装 Kubectl 工具

1. 参考 Installing and Setting up kubectl,安装 Kubectl 工具。您可根据操作系统的类型,选择获取 Kubectl 工具的方式:
注意
如果您已经安装 Kubectl 工具,请忽略本步骤。
请根据实际需求,将命令行中的 “v1.18.4” 替换成业务所需的 Kubectl 版本。客户端的 Kubectl 与服务端的 Kubernetes 的最高版本需保持一致,您可以在基本信息的“集群信息”模块里查看 Kubernetes 版本。
Mac OS X 系统
Linux 系统
Windows 系统
执行以下命令,获取 Kubectl 工具:
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.18.4/bin/darwin/amd64/kubectl
执行以下命令,获取 Kubectl 工具:
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.18.4/bin/linux/amd64/kubectl
执行以下命令,获取 Kubectl 工具:
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.18.4/bin/windows/amd64/kubectl.exe
2. 此步骤以 Linux 系统为例。执行以下命令,添加执行权限。
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl
3. 执行以下命令,测试安装结果。
kubectl version
如若输出类似以下版本信息,即表示安装成功。
Client Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.2", GitCommit:"08e099554f3c31f6e6f07b448ab3ed78d0520507", GitTreeState:"clean", BuildDate:"2017-01-12T04:57:25Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}

步骤2:开启集群访问

1. 登录容器服务控制台,选择左侧导航栏中的 集群
2. 集群管理页,选择集群所在地域,单击目标集群 ID/名称,进入集群详情页。
3. 在集群基本信息页,查看集群访问开启状态,如下图所示:

开启外网访问
开启内网访问
开启外网访问时,需配置相关参数,如下图所示:



安全组:开启外网访问后,会自动分配一个外网 CLB 作为访问端口。您可以通过安全组来配置来源授权,我们会将安全组绑定到外网 CLB 上,以达到访问控制的效果。
运营商类型、网络计费模式、带宽上限:CLB 相关参数,请参考 CLB 创建指南,根据实际需求进行设置。
访问方式:选择公网域名后,您需要传入自定义域名,我们会为您传入的域名进行安全签名,您需要自行配置公网解析。选择 CLB 默认域名后,您无需再手动配置域名解析等操作。
开启内网访问时,需配置相关参数,如下图所示:



子网:默认不开启。开启内网访问时,需配置一个子网,开启成功后将在已配置的子网中分配 IP 地址。
访问方式:选择内网域名后,您需要传入自定义域名,我们会为您传入的域名进行安全签名,您需要自行配置内网解析。选择内网 IP 后,我们会为您分配内网 IP 并安全签名。
使用 Kubernetes 的 service IP:在集群详情页面中,选择左侧的服务与路由 > Service 获取 default 命名空间下 Kubernetes 的 service IP。将 Kubeconfig 文件中 clusters.cluster.server 字段替换为 https://<IP>:443 即可。注意:Kubernetes service 是 ClusterIP 模式,仅适用于集群内访问。

步骤3:获取 KubeConfig

TKE 提供了两种 KubeConfig,分别用于公网访问和私网访问。开启集群访问后,即可按如下步骤获取对应的 Kubeconfig:
1. 集群详情 > 基本信息中,查看“集群 APIServer 信息”。
2. 在对应集群访问的开关下方,复制或下载 Kubeconfig,或查看外网访问安全组、访问域名(开启访问时配置)、访问 IP。如下图所示:


步骤4:配置 KubeConfig 并访问 Kubernetes 集群

1. 根据实际情况进行集群凭据配置。 配置前,请判断当前访问客户端是否已经配置过任何集群的访问凭证:
,即 ~/.kube/config 文件内容为空,可直接复制已获取的 Kubeconfig 访问凭证内容并粘贴入 ~/.kube/config 中。若客户端无 ~/.kube/config 文件,您可直接创建。
,您可下载已获取的 Kubeconfig 至指定位置,并依次执行以下命令以合并多个集群的 config。
KUBECONFIG=~/.kube/config:~/Downloads/cls-3jju4zdc-config kubectl config view --merge --flatten > ~/.kube/config
export KUBECONFIG=~/.kube/config
其中,~/Downloads/cls-3jju4zdc-config 为本集群的 Kubeconfig 的文件路径,请替换为下载至本地后的实际路径。
2. 完成 Kubeconfig 配置后,依次执行以下命令查看并切换 context 以访问本集群。
kubectl config get-contexts
kubectl config use-context cls-3jju4zdc-context-default
3. 执行以下命令, 测试是否可正常访问集群。
kubectl get node
如果无法连接请查看是否已经开启公网访问或内网访问入口,并确保访问客户端在指定的网络环境内。

相关说明

Kubectl 命令行介绍

Kubectl 是一个用于 Kubernetes 集群操作的命令行工具。本文涵盖 kubectl 语法、常见命令操作并提供常见示例。有关每个命令(包括所有主命令和子命令)的详细信息,请参见 kubectl 参考文档 或使用 kubectl help 命令查看详细帮助。
本页内容是否解决了您的问题?
您也可以 联系销售 提交工单 以寻求帮助。

文档反馈

联系我们

联系我们,为您的业务提供专属服务。

技术支持

如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

7x24 电话支持