1.3.2. 使用 Helm 仓库管理应用程序

当您使用应用程序部署 Kubernetes 资源时,这些资源位于特定的存储库中。了解如何在以下流程中从 Helm 仓库部署资源。如需了解更多有关应用程序模型的信息,请参阅应用程序模型和定义

用户需要的访问权限:可创建应用的用户角色。您只能执行分配了相关角色的操作。如需更多关于访问要求的信息,请参阅基于角色的访问控制文档。

  1. 在控制台导航菜单中点 Manage application
  2. Create application

    对于以下步骤,选择 YAML:在 上,在控制台中创建应用程序时查看 YAML。请参阅后面的 YAML 示例。

  3. 在正确的字段中输入以下值:

    • name:输入应用程序的有效 Kubernetes 名称。
    • Namespace:从列表中选择一个命名空间。如果分配了正确的访问角色,您还可以使用有效的 Kubernetes 名称创建命名空间。
  4. 从您可以使用的存储库列表中选择 Helm
  5. 输入所需 URL 路径,或者选择现有路径,然后输入软件包版本。

    如果您选择了现有的 Helm 仓库路径,则不需要指定连接信息(如果这是私有仓库)。连接信息是预先设置的,您不需要查看这些值。

    如果输入了新的 Helm 仓库路径,则可以输入 Helm 连接信息(如果这是私有 Helm 仓库)。

  6. Select clusters to deploy 中,您可以更新应用程序的放置规则信息。从中选择:

    • 在本地集群中部署
    • 部署到所有在线集群和本地集群
    • 仅在与指定标签匹配的集群上部署应用程序资源
    • 如果在现有的、并已定义了放置规则的命名空间中创建应用程序,则可以选择 Select existing placement configuration 选项。
  7. Settings 中,您可以指定应用程序的行为。要在指定时间窗内阻止或激活对部署的更改,为 Deployment window 和您的 Time window configuration 选择一个选项。
  8. 您可以选择另一个存储库或点 Save
  9. 您会被重定向到 Overiew 页,可以在其中查看详情和拓扑。

1.3.2.1. YAML 示例

以下示例频道定义将 Helm 仓库抽象为频道:

备注:对于 Helm,Helm chart 中包含的所有 Kubernetes 资源都必须具有标签 release。{{ .Release.Name }}' 才能正确显示应用程序拓扑。

apiVersion: v1
kind: Namespace
metadata:
  name: hub-repo
---
apiVersion: apps.open-cluster-management.io/v1
kind: Channel
metadata:
  name: helm
  namespace: hub-repo
spec:
    pathname: [https://kubernetes-charts.storage.googleapis.com/] # URL points to a valid chart URL.
    type: HelmRepo

以下频道定义显示了 Helm 仓库频道的另一个示例:

apiVersion: apps.open-cluster-management.io/v1
kind: Channel
metadata:
  name: predev-ch
  namespace: ns-ch
  labels:
    app: nginx-app-details
spec:
  type: HelmRepo
  pathname: https://kubernetes-charts.storage.googleapis.com/

备注:要查看 REST API,请使用 API