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

使用 Fleet 创建集群

本节将指导您通过使用 Fleet 的 GitOps 工作流创建一个利用 ClusterClass 的集群。

本指南使用 示例储存库

先决条件

配置 Rancher Manager

配置您的 Fleet 储存库

为了简化集群配置的过程,我们将使用一系列预配置的示例,您可以在储存库 https://github.com/rancher/turtles/tree/main/examples. 中找到。通过检查该储存库的内容,您将发现:

  1. 一个 应用程序 文件夹,用于可以使用 Fleet 部署的附加应用程序(CNI、CSI、CPI)。

  2. 一个 集群类 文件夹,包含多个 ClusterClass 示例。

  3. 一个 clusters/docker/rke2 文件夹,里面有 Docker 集群定义的示例。

如果您愿意,您可以使用相同的基础结构创建自己的 Fleet 储存库。

集群定义将通过 持续交付 功能(使用 Fleet)导入到 Rancher Manager 集群中(它也充当 Cluster API 管理集群)。

有 2 种选项来提供配置。第一种是使用 Rancher Manager UI,第二种是通过将一些 YAML 应用到您的集群。这两者将在下面介绍。

导入集群和 ClusterClass 定义

  • 使用 Rancher Manager UI

  • 手动使用kubectl。

  1. 前往 Rancher Manager。

  2. 从菜单中选择 持续交付侧边栏

  3. 从右上角选择*fleet-local*作为命名空间。 名称空间

  4. 从侧边栏选择*Git Repos*。

  5. 单击*添加储存库*。

  6. 将*clusters*作为名称输入。

  7. 从您的git储存库获取*HTTPS*克隆URL。 git clone url

  8. 将URL添加到*储存库URL*字段中。

  9. 将分支名称更改为*main*。

  10. 添加以下路径以指定要部署的目录:

    Fleet路径配置

    examples/clusterclasses/docker/rke2
    examples/applications/cni/calico
    examples/applications/lb/docker
    examples/clusters/docker/rke2
  11. 单击*下一步*。

  12. 单击*创建*。

  13. 单击*clusters*名称。

  14. 观察资源变为可用。

  15. 从菜单中选择*集群管理*。

  16. 检查您的集群是否已被导入。

  1. 从您的git储存库获取*HTTPS*克隆URL。

  2. 创建一个名为*repo.yaml*的新文件。

  3. 将以下内容添加到新文件中:

    apiVersion: fleet.cattle.io/v1alpha1
    kind: GitRepo
    metadata:
      name: clusters
      namespace: fleet-local
    spec:
      branch: main
      repo: https://github.com/rancher/turtles.git
      paths:
        - examples/clusterclasses/docker/rke2
        - examples/applications/cni/calico
        - examples/applications/lb/docker
        - examples/clusters/docker/rke2
      targets: []
  4. 使用*kubectl*将文件应用于 Rancher Manager 集群:

    kubectl apply -f repo.yaml
  5. 前往 Rancher Manager。

  6. 从侧边栏选择*持续交付*

  7. 从右上角选择*fleet-local*作为名称空间。

  8. 从侧边栏选择*Git Repos*。

  9. 单击*clusters*名称。

  10. 观察资源变为可用。

  11. 从菜单中选择*集群管理*。

  12. 检查您的集群是否已被导入。

导入集群定义

现在类已被导入,可以与集群定义一起使用。

  • 使用 Rancher Manager UI

  • 手动使用kubectl。

  1. 前往 Rancher Manager。

  2. 从菜单中选择*持续交付*。

  3. 从右上角选择*fleet-local*作为名称空间。

  4. 从侧边栏选择*Git Repos*。

  5. 单击*添加储存库*。

  6. 将*clusters*作为名称输入。

  7. 从您的git储存库获取*HTTPS*克隆URL。

  8. 将URL添加到*储存库URL*字段中。

  9. 将分支名称更改为*clusterclass*。

  10. 单击*添加路径*。

  11. 输入 /clusters

  12. 单击*下一步*。

  13. 单击*创建*。

  14. 单击*clusters*名称。

  15. 观察资源变为可用。

  16. 从菜单中选择*集群管理*。

  17. 检查您的集群是否已被导入。

  1. 从您的git储存库获取*HTTPS*克隆URL。

  2. 创建一个名为*repo.yaml*的新文件。

  3. 将以下内容添加到新文件中:

    apiVersion: fleet.cattle.io/v1alpha1
    kind: GitRepo
    metadata:
      name: clusters
      namespace: fleet-local
    spec:
      branch: clusterclass
      repo: https://github.com/rancher-sandbox/rancher-turtles-fleet-example.git
      paths:
        - /clusters
      targets: []
  4. 使用*kubectl*将文件应用于 Rancher Manager 集群:

    kubectl apply -f repo.yaml
  5. 前往 Rancher Manager。

  6. 从侧边栏选择*持续交付*。

  7. 从右上角选择*fleet-local*作为名称空间。

  8. 从侧边栏选择*Git Repos*。

  9. 单击*classes*名称。

  10. 观察资源变为可用。

  11. 从菜单中选择*集群管理*。

  12. 检查您的集群是否已被导入。