Skip to main content

在自定义节点上启动集群

当您创建自定义集群时,Rancher 使用 RKE(Rancher Kubernetes Engine)在本地裸金属服务器、本地虚拟机或云提供商托管的任何节点中创建 Kubernetes 集群。

要使用此选项,您需要访问将要在 Kubernetes 集群中使用的服务器。根据要求配置每个服务器,其中包括一些硬件规格和 Docker 版本等。在每台服务器上安装 Docker 后,运行 Rancher UI 中提供的命令,将每台服务器转换为 Kubernetes 节点。

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

创建具有自定义节点的集群#

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

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

1. 设置 Linux 主机#

通过配置 Linux 主机开始创建自定义集群。您的主机可以为:

  • 云主机虚拟机 (VM)
  • 内部部署 VM
  • 裸金属服务器
重要

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

再次检查节点是否满足安装要求生产就绪集群检查清单

2. 创建自定义集群#

在所有三个节点角色(worker、etcd 和 controlplane)都出现之前,集群不会开始配置。

  1. 集群页面中,单击添加集群

  2. 选择Custom

  3. 输入集群名称

  4. 通过成员角色来设置用户访问集群的权限。

    • 单击添加成员将需要访问这个集群的用户添加到成员中。
    • 角色下拉菜单中选择每个用户的权限。
  5. 使用集群选项设置 Kubernetes 的版本,网络插件以及是否要启用项目网络隔离。要查看更多集群选项,请单击显示高级选项

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

  6. 单击 下一步

  7. 节点角色中,选择需要的集群节点角色。

    注意:

    • 使用 Windows 主机作为 Kubernetes Worker 节点? 请参阅节点配置
    • 裸金属服务器提醒:如果您计划将裸金属服务器专用于每个角色,则必须为每个角色配置裸金属服务器(即配置多个裸金属服务器)。
  8. 可选:单击显示高级选项以指定注册节点时要使用的 IP 地址、重写节点的主机名或添加标签污点到节点上。

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

  10. 使用 shell 工具登录到您的 Linux 主机,如 PuTTy 等。运行复制到剪贴板的命令。

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

  11. 当您完成在 Linux 主机上运行该命令时,单击 完成

结果:

  • 您的集群已创建并进入为 Provisioning 的状态。Rancher 正在启动您的集群。
  • 您可以在集群的状态更新为 Active 后访问它。
  • Rancher 为活动的集群分配了两个项目,即 Default(包含命名空间 default)和 System(包含命名空间 cattle-systemingress-nginxkube-publickube-system,如果存在)。

3. 仅限 Amazon:标签资源#

如果您已将集群配置为使用 Amazon 作为Cloud Provider,请使用 ClusterID 标记您的 AWS 资源。

Amazon 文档:标记您的 Amazon EC2 资源

注意: 您无需在 Kubernetes 中配置 Cloud Provider 即可使用 Amazon EC2 实例。如果您想使用特定的 Kubernetes Cloud Provider 功能,则需要配置 Cloud Provider 。有关更多信息,请参阅 Kubernetes Cloud Provider

以下资源需要标记上ClusterID

  • 节点:在 Rancher 中添加的所有主机。

  • 子网:用于集群的子网。

  • 安全组:用于集群的安全组。

    注意: 不要标记多个安全组。创建弹性负载均衡器时,标记多个组会产生错误。

应该使用的标签是:

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 时您仍然能够访问集群。

Last updated on by yzeng25