跳到内容跳到页面导航:上一页 [access key p]/下一页 [access key n]
documentation.suse.com / SUSE Edge 文档 / 使用的组件 / Fleet

6 Fleet

Fleet 是一个容器管理和部署引擎,旨在让用户更好地控制本地群集,并通过 GitOps 进行持续监控。Fleet 不仅注重缩放能力,而且还为用户提供很高的控制度和可见性,以准确监控群集上安装的组件。

Fleet 可以管理通过原始 Kubernetes YAML、Helm chart、Kustomize 的 Git 软件包或这三者的任意组合完成的部署。无论源是什么,所有资源都会动态转换为 Helm chart,并使用 Helm 作为引擎在群集中部署所有资源。因此,用户可以享受很高的群集控制度、一致性和可审计性。

有关 Fleet 工作原理的信息,请参见此处

6.1 使用 Helm 安装 Fleet

Fleet 已内置于 Rancher 中,但您也可以使用 Helm 将 Fleet 安装为任何 Kubernetes 群集上的独立应用程序。

6.2 使用 Rancher 中的 Fleet

Rancher 使用 Fleet 在受管群集中部署应用程序。Fleet 的持续交付功能引入了大规模 GitOps,旨在管理在大量群集上运行的应用程序。

作为 Rancher 中不可或缺的组成部分,Fleet 的作用令人瞩目。使用 Rancher 管理的群集会在安装/导入过程中自动由 Fleet 代理部署,并且群集立即可由 Fleet 管理。

6.3 在 Rancher UI 中访问 Fleet

Fleet 已预装在 Rancher 中,可以通过 Rancher UI 中的 Continuous Delivery(持续交付)选项进行管理。有关“Continuous Delivery”(持续交付)和其他 Fleet 查错提示的更多信息,请参见此处

Fleet 仪表板

“Continuous Delivery”(持续交付)部分包括以下项目:

6.3.1 Dashboard(仪表板)

所有工作空间中所有 GitOps 储存库的概览页面。仅显示包含储存库的工作空间。

6.3.2 Git repos(Git 储存库)

所选工作空间中的 GitOps 储存库列表。使用页面顶部的下拉列表选择活动工作空间。

6.3.3 Clusters(群集)

受管群集列表。默认情况下,Rancher 管理的所有群集都会添加到 fleet-default 工作空间。fleet-local 工作空间包含本地(管理)群集。在此处可以暂停强制更新群集,或者将群集移动到另一个工作空间。可以通过编辑群集来更新用于群集分组的标签和批注。

6.3.4 Cluster groups(群集组)

在此部分,可以使用选择器对工作空间内的群集进行自定义分组。

6.3.5 Advanced(高级)

在“Advanced”(高级)部分可以管理工作空间和其他相关 Fleet 资源。

6.4 使用 Rancher 仪表板通过 Rancher 和 Fleet 安装 KubeVirt 的示例

  1. 创建包含 fleet.yaml 文件的 Git 储存库:

    defaultNamespace: kubevirt
    helm:
      chart: "oci://registry.suse.com/edge/kubevirt-chart"
      version: "0.2.4"
      # kubevirt namespace is created by kubevirt as well, we need to take ownership of it
      takeOwnership: true
  2. 在 Rancher 仪表板中,导航到 ☰ > Continuous Delivery(持续交付)> Git repos(Git 储存库),然后单击 Add Repository(添加储存库)。

  3. 储存库创建向导将指导您完成 Git 储存库创建步骤。提供名称储存库 URL(引用上一步骤中创建的 Git 储存库),并选择适当的分支或修订版。对于较复杂的储存库,请指定路径以便在单个储存库中使用多个目录。

    Fleet - 创建储存库 1
  4. 单击 Next(下一步)。

  5. 在下一步骤中,可以定义工作负载的部署位置。在群集选择方面,可以使用多个基本选项:可以不选择任何群集、选择所有群集,或者直接选择特定的受管群集或群集组(如果已定义)。“Advanced”(高级)选项允许通过 YAML 直接编辑选择器。

    Fleet - 创建储存库 2
  6. 单击 Create(创建)。随即会创建储存库。从现在起,工作负载将在与储存库定义匹配的群集上安装并保持同步。

6.5 调试和查错

“Advanced”(高级)导航部分提供了较低级 Fleet 资源的概览。捆绑包是一个内部资源,用于编排 Git 中的资源。扫描 Git 储存库时,会生成一个或多个捆绑包。

要查找与特定储存库相关的捆绑包,请转到 Git 储存库细节页面,并单击 Bundles(捆绑包)选项卡。

Fleet 储存库捆绑包

对于每个群集,捆绑包将应用于创建的 BundleDeployment 资源。要查看 BundleDeployment 细节,请单击 Git 储存库细节页面右上角的 Graph(图表)按钮。随即会加载 Repo(储存库)> Bundles(捆绑包)> BundleDeployment 图表。在图表中单击相应 BundleDeployment 可查看其细节,单击 ID 可查看 BundleDeployment YAML。

Fleet 储存库图表

有关 Fleet 查错提示的更多信息,请参见此处

6.6 Fleet 示例

Edge 团队维护的一个储存库包含了有关使用 Fleet 安装 Edge 项目的示例。

Fleet 项目包含 fleet-examples 储存库,其中涵盖了 Git 储存库结构的所有用例。