在现有自定义节点上启动 Kubernetes

创建自定义集群时,Rancher 使用 RKE(Rancher Kubernetes Engine)在本地裸机服务器、本地虚拟机或云服务器节点中创建 Kubernetes 集群。

要使用此选项,你需要访问要在 Kubernetes 集群中使用的服务器。请根据要求配置每台服务器,其中包括硬件要求和 Docker 要求。在每台服务器上安装 Docker 后,你还需要在每台服务器上运行 Rancher UI 中提供的命令,从而将每台服务器转换为 Kubernetes 节点。

本节介绍如何设置自定义集群。

使用自定义节点创建集群

使用 Windows 主机作为 Kubernetes Worker 节点?

在开始之前,请参阅配置 Windows 自定义集群

1. 配置 Linux 主机

你可以通过配置 Linux 主机,来创建自定义集群。你的主机可以是:

  • 云虚拟机

  • 本地虚拟机

  • 裸机服务器

如果要重复使用之前的自定义集群中的节点,请在复用之前清理节点。如果你重复使用尚未清理的节点,则集群配置可能会失败。

如果你使用 Amazon EC2 作为主机,并希望使用双栈 (dual-stack) 功能,则需要满足配置主机的其他要求

2. 创建自定义集群

  1. 点击 ☰ > 集群管理

  2. 集群页面上,单击创建

  3. 单击自定义

  4. 输入集群名称

  5. 集群配置中,选择 Kubernetes 版本、要使用的网络提供商,以及是否启用项目网络隔离。要查看更多集群选项,请单击显示高级选项

    使用 Windows 主机作为 Kubernetes Worker 节点?
    Amazon EC2 上的双栈:

    如果你使用 Amazon EC2 作为主机,并希望使用双栈 (dual-stack) 功能,则需要满足配置 RKE 的其他要求

  6. 点击下一步

  7. 使用成员角色为集群配置用户授权。点击添加成员添加可以访问集群的用户。使用角色下拉菜单为每个用户设置权限。

  8. 节点角色中,选择要由集群节点充当的角色。你必须为 etcdworkercontrolplane 角色配置至少一个节点。自定义集群需要所有三个角色才能完成配置。有关角色的详细信息,请参阅本节

  • 使用 Windows 主机作为 Kubernetes Worker 节点?请参阅本节

  • 裸机服务器提醒:如果你想将裸机服务器专用于每个角色,则必须为每个角色配置一个裸机服务器(即配置多个裸机服务器)。

  1. 可选:点击显示高级选项来指定注册节点时使用的 IP 地址,覆盖节点的主机名,或将标签污点添加到节点。

  2. 将屏幕上显示的命令复制到剪贴板。

  3. 使用你惯用的 shell(例如 PuTTy 或远程终端)登录到你的 Linux 主机。粘贴剪贴板的命令并运行。

如果要将特定主机专用于特定节点角色,请重复步骤 7-10。根据需要多次重复这些步骤。

  1. 在 Linux 主机上运行完命令后,单击完成

结果:

集群已被创建,集群的状态是配置中。Rancher 已在启动你的集群。

当集群状态变为 Active 后,你可访问集群。

Active 状态的集群会分配到两个项目:

  • Default:包含 default 命名空间

  • System:包含 cattle-systemingress-nginxkube-publickube-system 命名空间。

3. 仅限亚马逊:标签资源

如果你已将集群配置为使用 Amazon 作为云提供商,请使用集群 ID 标记你的 AWS 资源。

你可以使用 Amazon EC2 实例,而无需在 Kubernetes 中配置云提供商。如果你想使用特定的 Kubernetes 云提供商功能,配置云提供商即可。如需更多信息,请参阅 Kubernetes 云提供商

以下资源需要使用 ClusterID 进行标记:

  • Nodes:Rancher 中添加的所有主机。

  • Subnet:集群使用的子网。

  • Security Group:用于你的集群的安全组。

不要标记多个安全组。创建 Elastic Load Balancer 时,标记多个组会导致错误。

应该使用的标签是:

Key=kubernetes.io/cluster/<CLUSTERID>, Value=owned

<CLUSTERID> 可以是你选择的任何字符串。但是,必须在你标记的每个资源上使用相同的字符串。将值设置为 owned 会通知集群所有带有 <CLUSTERID> 标记的资源都由该集群拥有和管理。

如果你在集群之间共享资源,你可以将标签更改为:

Key=kubernetes.io/cluster/CLUSTERID, Value=shared

可选的后续步骤

创建集群后,你可以通过 Rancher UI 访问集群。最佳实践建议你设置以下访问集群的备用方式:

  • 通过 kubectl CLI 访问你的集群:按照这些步骤在你的工作站上使用 kubectl 访问集群。在这种情况下,你将通过 Rancher Server 的认证代理进行认证,然后 Rancher 会让你连接到下游集群。此方法允许你在没有 Rancher UI 的情况下管理集群。

  • 通过 kubectl CLI 使用授权的集群端点访问你的集群:按照这些步骤直接使用 kubectl 访问集群,而无需通过 Rancher 进行认证。我们建议设置此替代方法来访问集群,以便在无法连接到 Rancher 时访问集群。