1.3.2. 使用 Helm 仓库管理应用程序
当您使用应用程序部署 Kubernetes 资源时,这些资源位于特定的存储库中。了解如何在以下流程中从 Helm 仓库部署资源。如需了解更多有关应用程序模型的信息,请参阅应用程序模型和定义:
用户需要访问权限: 可以创建应用程序的用户角色。您只能执行分配了相关角色的操作。如需更多关于访问要求的信息,请参阅基于角色的访问控制文档。
- 在控制台导航菜单中点 Manage application。
点 Create application。
对于以下步骤,选择 YAML: On 在创建应用程序时在控制台中查看 YAML。请参阅后面的 YAML 示例。
在正确的字段中输入以下值:
- Name:输入应用程序的有效 Kubernetes 名称。
- Namespace:从列表中选择一个命名空间。如果分配了正确的访问角色,您还可以使用有效的 Kubernetes 名称创建命名空间。
- 从您可以使用的存储库列表中选择 Helm。
输入所需 URL 路径,或者选择现有路径,然后输入软件包版本。
如果您选择了现有的 Helm 仓库路径,则不需要指定连接信息(如果这是私有仓库)。连接信息是预先设置的,您不需要查看这些值。
如果输入了新的 Helm 仓库路径,则可以输入 Helm 连接信息(如果这是私有 Helm 仓库)。
- 输入您的 Chart 名称 和软件包别名。
- 为可选字段输入值。Optional 字段在字段或鼠标文本中定义。
- 输入 Repository 协调率来控制协调频率。
在 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.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。