帮助文档
本节介绍如何在 KubeSphere Cloud 云原生应用服务平台上导入 Kubernetes 集群。
使用您的账户登录 KubeSphere Cloud 云原生应用服务平台。
将光标移动到页面顶栏右侧的用户名区域,在弹出菜单中点击管理控制台。
在控制台页面的左侧导航栏点击资源管理,然后点击 K8s 集群页签下的导入自建集群。
common:NOTE
您也可以在服务概览页面点击资源管理下的添加集群 > 导入集群。
在弹出的导入自建集群页面中,设置以下参数:
参数 | 是否必填 | 描述 |
---|---|---|
集群名称 | 是 | 用户自定义的集群名称,只能包含小写字母、数字和连字符(-),必须以小写字母或数字开头和结尾,最长 63 个字符。 |
标识 | 否 | 用户自定义的集群标识,用于标识此集群的用途,可从下拉列表选择以下标识:
|
导入方式 | 是 | 选择导入 Kubernetes 集群的方式,目前支持:
|
跳过 TLS 验证 | 否 | 是否跳过 TLS 验证,勾选后将跳过 Kubernetes 服务器证书的验证。注意:此选项仅在您勾选直接连接 Kubernetes 集群后出现。勾选此项会使访问 Kubernetes 集群的 HTTPS 连接变得不安全。 若您确定填写的 kubeconfig 信息中 cluster.server 字段的地址可以通过公网进行访问,但点击检查连接仍无法成功连接至集群,请勾选此项后再次尝试。 |
参数设置完成后,点击检查连接,如果集群连接成功,点击导入。集群导入成功后,会显示在集群列表中。
common:NOTE
根据集群的部署环境,您可能需要配置端口转发规则并在安全组中放行相关端口。如果点击检查连接后始终提示集群连接出错,请参阅获取 Kubeconfig。
集群导入成功后,会自动在集群上创建名为 qiming-backend
的命名空间并安装备份容灾服务组件。
若要使用代理连接 Kubernetes 集群的方式来导入您的 Kubernetes 集群,请执行以下步骤:
使用您的账户登录 KubeSphere Cloud 云原生应用服务平台。
将光标移动到页面顶栏右侧的用户名区域,在弹出菜单中点击管理控制台。
在控制台页面的左侧导航栏点击资源管理,然后点击 K8s 集群页签下的导入自建集群。
在集群基础信息区域,设置集群名称与标识,将导入方式选择为代理连接 Kubernetes 集群,可以看到系统自动生成了一条命令以安装代理连接组件。
复制该命令,并在 Kubernetes 集群的主节点上执行该命令。
common:NOTE
如果您的网络访问受限,需要开放域名 kubesphere.cloud 和 tower.kubesphere.cloud 以及端口 80 和 443。
不同的用户所使用的安装命令均有所差异,请以页面上显示的命令为准。
点击已确认安装代理连接组件,等待建立代理连接。
建立代理连接后,页面会自动跳转至该集群的详情页面。
(可选)若页面提示代理连接出错,稍等片刻后,页面会自动跳转至该集群的详情页面。请点击操作指引,参考页面提示信息,按照以下步骤进行排查。
步骤一:
在安装代理连接组件的节点上执行以下命令,检查组件是否正常运行,回显信息中 READY
和 AVAILABLE
栏应分别显示为 1/1
和 1
。
kubectl get deploy cluster-agent -n kubesphere-cloud-system
若代理连接组件未正常运行,请执行以下命令,查看组件日志,根据回显信息进行进一步排查。
kubectl logs -l app=agent -n kubesphere-cloud-system
步骤二:
若代理连接组件始终无法正常运行,请执行页面上显示的卸载命令将已安装的组件卸载。
请重新执行页面上显示的安装命令,再次安装代理连接组件。
成功安装组件后,点击已重新连接尝试建立代理连接。
若您使用云厂商提供的托管 Kubernetes 集群服务,请使用云厂商提供的可供公网访问的 kubeconfig 来导入您的集群。例如:
若您使用自建的 Kubernetes 集群,请在集群主节点上执行 cat $HOME/.kube/config
命令获取 kubeconfig 用于导入集群。请确保 kubeconfig 中 cluster.server
字段的地址可以通过公网进行访问,或者同时勾选跳过 TLS 验证进行导入。
若通过上述方法均无法成功导入集群,请按照以下步骤重新获取 kubeconfig:
在您 Kubernetes 集群的所有主节点上,前往 /etc/kubernetes/pki/
目录,使用模板脚本文件的内容新建一个脚本文件。
执行以下命令为新建的脚本文件添加可执行权限:
chmod +x <脚本文件名>
在集群所有主节点上执行以下命令,运行新建的脚本文件:
./<脚本文件名> <公网 IP 地址>
将集群主节点的私网 IP 地址和端口映射到公网 IP 地址和端口。
在集群主节点上执行以下命令获取 kubeconfig:
cat $HOME/.kube/config
将 kubeconfig 的 cluster.server
字段中的私网 IP 地址和端口更改为公网 IP 地址和端口,然后使用更改后的 kubeconfig 导入集群。
执行以下命令下载最新版 KubeKey:
curl -sfL https://get-kk.kubesphere.io | VERSION=v2.2.2 sh -
common:NOTE
如果您访问 GitHub 受限,请先执行 export KKZONE=cn
,再执行上述命令下载 KubeKey。
执行以下命令创建示例配置文件并参阅编辑配置文件来编辑您的集群配置文件:
./kk create config [--with-kubernetes version] [(-f | --file) path]
在集群配置文件(例如,config-sample.yaml
)中的 spec.kubernetes
字段添加以下内容:
apiserverCertExtraSans: <[公网 IP 地址]>
common:NOTE
注意在行首缩进 2 个空格。
执行以下命令创建集群:
./kk create cluster -f config-sample.yaml
common:NOTE
请将 config-sample.yaml
替换为您的集群配置文件名。
将集群主节点的私网 IP 地址和端口映射到公网 IP 地址和端口。
在集群主节点上执行以下命令获取 kubeconfig:
cat $HOME/.kube/config
将 kubeconfig 的 cluster.server
字段中的私网 IP 地址和端口更改为公网 IP 地址和端口,然后使用更改后的 kubeconfig 导入集群。
console:Agent
console:Agent Desc