本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。

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

当您创建自定义集群时,Rancher可以使用RKE2/K3s在本地裸机服务器、本地虚拟机或任何由基础设施提供商托管的节点上创建Kubernetes集群。

要使用此选项,您需要访问将成为Kubernetes集群一部分的服务器。根据要求配置每台服务器。然后,在每台服务器上运行Rancher UI中提供的命令,将其转换为Kubernetes节点。

本节描述如何设置自定义集群。

使用自定义节点创建集群

想要将Windows主机用作Kubernetes工作节点吗?

在开始之前,请查看为Windows配置自定义集群

1.配置Linux主机

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

  • 云托管的虚拟机(VM)

  • 本地虚拟机

  • 裸机服务器

如果您想重用之前自定义集群中的节点,请在再次使用之前清理节点。如果您重用未清理的节点,集群配置可能会失败。

仅 IPv6 集群

对于仅 IPv6 集群,请确保您的操作系统正确配置 /etc/hosts 文件。

::1       localhost

2.创建自定义集群

  1. 单击 ☰ > 集群管理

  2. 在*集群*页面,点击*创建*。

  3. 单击 自定义

  4. 输入*集群名称*。

  5. 使用 集群配置 部分来设置集群。有关更多信息,请参见 RKE2 集群配置参考K3s 集群配置参考

    Windows 节点

    要了解更多关于将 Windows 节点用作 Kubernetes 工作节点的信息,请参见 在 Windows 集群上启动 Kubernetes

  6. 单击*创建*。

    结果:*用户界面重定向到 *注册 页面,您可以在此生成节点的注册命令。

  7. 节点角色 中,选择您希望集群节点承担的角色。您必须为每个角色(etcd、工作节点和控制平面)配置至少一个节点。自定义集群需要完成所有三个角色的配置。有关角色的更多信息,请参见 Kubernetes 集群中节点的角色.

    裸机服务器

    如果您计划为每个角色专用裸机服务器,则必须为每个角色配置一台裸机服务器(即,配置多台裸机服务器)。

  8. 可选:*单击 *显示高级 以配置其他设置,例如指定 IP 地址、覆盖节点主机名或向节点添加 标签污点

    • 节点公共 IP节点私有 IP 字段可以接受单个地址或以逗号分隔的地址列表(例如:10.0.0.5,2001:db8::1)。

    仅 IPv6 或双栈集群
    • 在仅 IPv6 和双栈集群中,您应将节点的 IPv6 地址 指定为 节点私有 IP

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

  10. 使用您喜欢的外壳(如 PuTTy 或远程终端连接)登录到您的 Linux 主机。运行复制到剪贴板的命令。

如果您想将特定主机分配给特定节点角色,请重复步骤 7-10。根据需要重复这些步骤。

结果:

集群已创建,并在 Rancher 初始化和配置集群组件时过渡到 更新中 状态。

在集群状态更新为*活动*后,您可以访问您的集群。

*活动*集群被分配两个项目:

  • Default,包含`default`名称空间

  • System,包含 cattle-systemtraefikkube-publickube-system 名称空间

3.仅限Amazon:标记资源

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

您可以在Kubernetes中使用Amazon EC2实例,而无需配置云提供商。只有在您想使用特定的Kubernetes云提供商功能时,才需要配置云提供商。有关更多信息,请参见 Kubernetes云提供商

以下资源需要标记为`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服务器的身份验证代理进行身份验证,然后Rancher将连接您到下游集群。此方法允许您在没有Rancher UI的情况下管理集群。

  • *使用授权的集群端点,通过kubectl CLI访问您的集群:*按照这些步骤直接使用kubectl访问您的集群,而无需通过Rancher进行身份验证。我们建议设置这种替代方法来访问您的集群,以便在无法连接到Rancher的情况下,您仍然可以访问集群。