1.4.4.2. 频道 YAML 表

字段描述

apiVersion

必需。将值设为 apps.open-cluster-management.io/v1

kind

必需。将值设为 Channel 以表示资源是频道。

metadata.name

必需。频道的名称。

metadata.namespace

必需。频道的命名空间;除 Git 频道外,每个频道都需要一个唯一的命名空间。

spec.sourceNamespaces

可选。标识频道控制器监控的命名空间,看是否有新的或已更新的可部署资源以检索并提升到频道。

spec.type

必需。频道类型。支持的类型有:HelmRepoGitObjectBucket (控制台中的对象存储)

spec.pathname

对于 HelmRepoGitObjectBucket 频道是必需的。对于 HelmRepo 频道,将值设置为 Helm 仓库的 URL。对于 ObjectBucket 频道,将值设置为对象存储的 URL。对于 Git 频道,将值设置为 Git 仓库的 HTTPS URL。

spec.secretRef.name

可选。标识用于身份验证的 Kubernetes Secret 资源,如用于访问仓库或 chart。您只能对 HelmRepoObjectBucketGit 类型的频道使用 secret 进行身份验证。

spec.gates

可选。定义在频道中提升可部署资源的要求。如果没有设置任何要求,则会将添加到频道命名空间或源的任何可部署资源提升到频道。gates 不适用于 HelmRepoGit 频道类型,仅适用于 ObjectBucket 频道类型。

spec.gates.annotations

可选。频道注解。可部署资源必须具有匹配的注解才能包含在频道中。

metadata.labels

可选。频道的标签。

频道的定义结构类似以下 YAML 内容:

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/