1.5. Channels API
1.5.1. 概述
本文档介绍了与 Red Hat Advanced Cluster Management for Kubernetes 的频道资源相关的 API 信息。频道资源有 4 个可用的请求:create、query、delete 和 update。
1.5.1.1. 版本信息
版本 : 2.8.0
1.5.1.2. URI scheme
BasePath : /kubernetes/apis
Schemes : HTTPS
1.5.1.3. Tags
- channels.apps.open-cluster-management.io : 创建和管理可部署性资源(deployables)
1.5.2. 路径
1.5.2.1. 创建频道
POST /apps.open-cluster-management.io/v1/namespaces/{namespace}/channels
1.5.2.1.1. 描述
创建频道
1.5.2.1.2. 参数
类型 | Name | 描述 | 模式 |
---|---|---|---|
标头 |
COOKIE | 身份验证:Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN 是用户访问令牌。 | 字符串 |
路径 |
namespace | 要使用的命名空间,如 default。 | 字符串 |
Body |
body | 描述要创建的 deployable 的参数。 |
1.5.2.1.3. 响应
HTTP 代码 | 描述 | 模式 |
---|---|---|
200 | 成功 | 无内容 |
403 | 禁止访问 | 无内容 |
404 | 未找到资源 | 无内容 |
500 | 内部服务错误 | 无内容 |
503 | 服务不可用 | 无内容 |
1.5.2.1.4. 使用
-
application/yaml
1.5.2.1.5. Tags
- channels.apps.open-cluster-management.io
1.5.2.1.6. HTTP 请求示例
1.5.2.1.6.1. 请求正文
{ "apiVersion": "apps.open-cluster-management.io/v1", "kind": "Channel", "metadata": { "name": "sample-channel", "namespace": "default" }, "spec": { "configMapRef": { "kind": "configmap", "name": "info-resource-filter-configmap" }, "pathname": "https://charts.helm.sh/stable", "type": "HelmRepo" } }
1.5.2.2. 为目标命名空间查询所有频道
GET /apps.open-cluster-management.io/v1/namespaces/{namespace}/channels
1.5.2.2.1. 描述
查询您的频道以获得更详细的信息。
1.5.2.2.2. 参数
类型 | Name | 描述 | 模式 |
---|---|---|---|
标头 |
COOKIE | 身份验证:Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN 是用户访问令牌。 | 字符串 |
路径 |
namespace | 要使用的命名空间,如 default。 | 字符串 |
1.5.2.2.3. 响应
HTTP 代码 | 描述 | 模式 |
---|---|---|
200 | 成功 | 无内容 |
403 | 禁止访问 | 无内容 |
404 | 未找到资源 | 无内容 |
500 | 内部服务错误 | 无内容 |
503 | 服务不可用 | 无内容 |
1.5.2.2.4. 使用
-
application/yaml
1.5.2.2.5. Tags
- channels.apps.open-cluster-management.io
1.5.2.3. 查询命名空间的单个频道
GET /apps.open-cluster-management.io/v1/namespaces/{namespace}/channels/{channel_name}
1.5.2.3.1. 描述
查询单个频道以了解更多详情。
1.5.2.3.2. 参数
类型 | Name | 描述 | 模式 |
---|---|---|---|
标头 |
COOKIE | 身份验证:Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN 是用户访问令牌。 | 字符串 |
路径 |
channel_name | 您要查询的 deployable 的名称。 | 字符串 |
路径 |
namespace | 要使用的命名空间,如 default。 | 字符串 |
1.5.2.3.3. 响应
HTTP 代码 | 描述 | 模式 |
---|---|---|
200 | 成功 | 无内容 |
403 | 禁止访问 | 无内容 |
404 | 未找到资源 | 无内容 |
500 | 内部服务错误 | 无内容 |
503 | 服务不可用 | 无内容 |
1.5.2.3.4. Tags
- channels.apps.open-cluster-management.io
1.5.2.4. 删除频道
DELETE /apps.open-cluster-management.io/v1/namespaces/{namespace}/channels/{channel_name}
1.5.2.4.1. 参数
类型 | Name | 描述 | 模式 |
---|---|---|---|
标头 |
COOKIE | 身份验证:Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN 是用户访问令牌。 | 字符串 |
路径 |
channel_name | 要删除的频道名称。 | 字符串 |
路径 |
namespace | 要使用的命名空间,如 default。 | 字符串 |
1.5.2.4.2. 响应
HTTP 代码 | 描述 | 模式 |
---|---|---|
200 | 成功 | 无内容 |
403 | 禁止访问 | 无内容 |
404 | 未找到资源 | 无内容 |
500 | 内部服务错误 | 无内容 |
503 | 服务不可用 | 无内容 |
1.5.2.4.3. Tags
- channels.apps.open-cluster-management.io
1.5.3. 定义
1.5.3.1. Channel
Name | 模式 |
---|---|
apiVersion | 字符串 |
kind | 字符串 |
metadata | 对象 |
spec |
spec
Name | 描述 | 模式 |
---|---|---|
configMapRef | ObjectReference 包含足够信息供您检查或修改引用的对象。 | |
gates | ChannelGate 定义推广到频道的条件 | |
pathname | 字符串 | |
secretRef | ObjectReference 包含足够信息供您检查或修改引用的对象。 | |
sourceNamespaces | enum (Namespace, HelmRepo, ObjectBucket, Git, namespace, helmrepo, objectbucket, github) array |
configMapRef
Name | 描述 | 模式 |
---|---|---|
apiVersion | 引用的 API 版本。 | 字符串 |
fieldPath | 如果引用的是对象的一部分而非整个对象,则该字符串应包含有效的 JSON/Go 字段访问声明,如 desiredState.manifest.containers[2]。例如,如果对象引用是一个 pod 中的容器,它应该还以下类似: "spec.containers{name}"(其中 "name" 是指触发事件的容器的名称),如果不使用容器名称,则应类似于 "spec.containers[2]"(使用此 pod 中索引值为 2 的容器)。选择这个语法的原因是,为了有一些指向对象部分的正确定义方法。Todo: 这个设计不是最终设计的,且该字段在将来会有所改变。 | 字符串 |
kind | 引用的类型。更多信息:https://kubernetes.io/docs/concepts/overview/working-with-objects/kubernetes-objects/ |
name |
引用的名称。更多信息: 名称 | 字符串 |
namespace |
引用的命名空间。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ | 字符串 |
resourceVersion |
指定构成这个引用的 resourceVersion(如果存在)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency | 字符串 |
uid |
gates
Name | 描述 | 模式 |
---|---|---|
annotations | k8s 的典型注解 | |
labelSelector | 标签选择器,即一组资源的标签查询。matchLabels 和 matchExpressions 的逻辑关系是 AND。空标签选择器匹配所有对象。null 标签选择器不匹配任何对象。 | |
name | 字符串 |
annotations
Name | 模式 |
---|---|
key | 字符串 |
value | 字符串 |
labelSelector
Name | 描述 | 模式 |
---|---|---|
matchExpressions | matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。 | |
matchLabels | matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。 | 字符串、字符串映射 |
matchExpressions
Name | 描述 | 模式 |
---|---|---|
key | key 是选择器应用到的标签键。 | 字符串 |
operator | 运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。 | 字符串 |
values | 值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。 | 字符串数组 |
secretRef
Name | 描述 | 模式 |
---|---|---|
apiVersion | 引用的 API 版本。 | 字符串 |
fieldPath | 如果引用的是对象的一部分而非整个对象,则该字符串应包含有效的 JSON/Go 字段访问声明,如 desiredState.manifest.containers[2]。例如,如果对象引用是一个 pod 中的容器,它应该还以下类似: "spec.containers{name}"(其中 "name" 是指触发事件的容器的名称),如果不使用容器名称,则应类似于 "spec.containers[2]"(使用此 pod 中索引值为 2 的容器)。选择这个语法的原因是,为了有一些指向对象部分的正确定义方法。Todo: 这个设计不是最终设计的,且该字段在将来会有所改变。 | 字符串 |
kind | 引用的类型。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds | 字符串 |
name | 引用的名称。更多信息: 名称 | 字符串 |
namespace | 引用的命名空间。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ | 字符串 |
resourceVersion | 指定构成这个引用的 resourceVersion(如果存在)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency | 字符串 |
uid | 引用的 UID。更多信息: UIID | 字符串 |