创建 Azure 集群

在本节中,你将学习如何通过 Rancher 在 Azure 中安装 RKE Kubernetes 集群。

首先,在 Rancher 中设置你的 Azure 云凭证。然后,使用云凭证创建一个节点模板,Rancher 将使用该模板在 Azure 中配置新节点。

然后,在 Rancher 中创建一个 Azure 集群,并在配置新集群时为集群定义节点池。每个节点池都有一个 etcd、controlplane 或 worker 的 Kubernetes 角色。Rancher 会在新节点上安装 Kubernetes,并为每个节点设置节点池定义的 Kubernetes 角色。

当 Rancher RKE 集群在 Azure 中运行并且前面有 Azure 负载均衡器时,出站流量会失败。问题的解决方法如下:

  • 终止内部负载均衡器上的 SSL/TLS

  • 使用 L7 负载均衡器

详情请参见 Azure 负载均衡器限制

有关 Rancher 在 Azure 节点上安装的 Kubernetes 集群的更多信息,请参阅 RKE 集群配置参考

有关配置 Azure 节点模板的详细信息,请参阅 Azure 节点模板配置参考

Azure 中的准备工作

在使用 Azure 等云厂商在 Rancher 中创建节点模板之前,必须先配置 Rancher 以允许操作 Azure 订阅中的资源。

为此,首先在 Azure 的 Active Directory (AD) 中创建一个新的 Azure service principal (服务主体,缩写是 SP),它是具有管理 Azure 权限的应用用户。

以下是创建服务主体必须运行的 az cli 脚本模板,你必须在其中输入你的服务主体名称、角色和范围:

az ad sp create-for-rbac \
  --name="<Rancher ServicePrincipal name>" \
  --role="Contributor" \
  --scopes="/subscriptions/<subscription Id>"

创建服务主体后会返回三个标识信息,分别是应用 ID(也称为客户端 ID),以及客户端密码。为 Azure 创建节点模板时将使用这些信息。

创建 Azure 集群

  • RKE

  • RKE2

1. 创建云凭证

  1. 点击 ☰ > 集群管理

  2. 单击云凭证

  3. 单击创建

  4. 单击 Azure

  5. 输入你的 Azure 凭证。

  6. 单击创建

结果:已创建用于在集群中配置节点的云凭证。你可以在其他节点模板或集群中复用这些凭证。

2. 使用云凭证创建节点模板

为 Azure 创建节点模板会允许 Rancher 在 Azure 中配置新节点。其他集群可以复用节点模板。

  1. 点击 ☰ > 集群管理

  2. 单击 menu:RKE1 配置[节点模板]。

  3. 单击添加模板

  4. 单击 Azure

  5. 填写 Azure 的节点模板。有关填写表单的帮助,请参阅 Azure 节点模板配置

3. 使用节点模板创建具有节点池的集群

使用 Rancher 在 Azure 中创建 Kubernetes 集群。

  1. 点击 ☰ > 集群管理

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

  3. 单击 Azure

  4. 输入集群名称

  5. 将一个或多个节点池添加到你的集群。每个节点池都使用节点模板来配置新节点。有关节点池及其最佳实践的更多信息,请参阅本节

  6. 集群配置中,选择要安装的 Kubernetes 版本、要使用的网络提供商,以及是否启用项目网络隔离。要查看更多集群选项,请单击显示高级选项。如需获取配置集群的帮助,请参阅 RKE 集群配置参考

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

  8. 单击创建

1. 创建云凭证

如果你已经有一组可用的云凭证,请跳过此部分。

  1. 点击 ☰ > 集群管理

  2. 单击云凭证

  3. 单击创建

  4. 单击 Azure

  5. 输入你的 Azure 凭证。

  6. 单击创建

结果:已创建用于在集群中配置节点的云凭证。你可以在其他节点模板或集群中复用这些凭证。

2. 创建你的集群

使用 Rancher 在 Azure 中创建 Kubernetes 集群。

  1. 点击 ☰ > 集群管理

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

  3. 将开关切换到 RKE2/K3s

  4. 单击 Azure

  5. 选择一个云凭证。如果存在多个则需要选择。否则,它是预选的。

  6. 输入集群名称

  7. 为每个 Kubernetes 角色创建一个主机池。请参阅最佳实践了解角色分配和计数的建议。

    1. 为每个主机池定义主机配置。有关配置选项的信息,请参阅 Azure 主机配置参考

  8. 使用集群配置,选择要安装的 Kubernetes 版本、要使用的网络提供商,以及是否启用项目网络隔离。有关配置集群的帮助,请参阅 RKE2 集群配置参考

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

  10. 单击创建

结果

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

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

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

  • Default:包含 default 命名空间

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

可选的后续步骤

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

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

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