1.3.2. 使用 Helm 仓库管理应用程序
当您使用应用程序部署 Kubernetes 资源时,这些资源位于特定的存储库中。了解如何在以下流程中从 Helm 仓库部署资源。如需了解更多有关应用程序模型的信息,请参阅应用程序模型和定义:
用户需要的访问权限:可创建应用的用户角色。您只能执行分配了相关角色的操作。如需更多关于访问要求的信息,请参阅基于角色的访问控制文档。
- 在控制台导航菜单中点 Manage application。
点 Create application。
对于以下步骤,选择 YAML:在 上,在控制台中创建应用程序时查看 YAML。请参阅后面的 YAML 示例。
在正确的字段中输入以下值:
- name:输入应用程序的有效 Kubernetes 名称。
- Namespace:从列表中选择一个命名空间。如果分配了正确的访问角色,您还可以使用有效的 Kubernetes 名称创建命名空间。
- 从您可以使用的存储库列表中选择 Helm。
输入所需 URL 路径,或者选择现有路径,然后输入软件包版本。
如果您选择了现有的 Helm 仓库路径,则不需要指定连接信息(如果这是私有仓库)。连接信息是预先设置的,您不需要查看这些值。
如果输入了新的 Helm 仓库路径,则可以输入 Helm 连接信息(如果这是私有 Helm 仓库)。
在 Select clusters to deploy 中,您可以更新应用程序的放置规则信息。从中选择:
- 在本地集群中部署
- 部署到所有在线集群和本地集群
- 仅在与指定标签匹配的集群上部署应用程序资源
- 如果在现有的、并已定义了放置规则的命名空间中创建应用程序,则可以选择 Select existing placement configuration 选项。
- 在 Settings 中,您可以指定应用程序的行为。要在指定时间窗内阻止或激活对部署的更改,为 Deployment window 和您的 Time window configuration 选择一个选项。
- 您可以选择另一个存储库或点 Save。
- 您会被重定向到 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。