1.5. Channels API
1.5.1. 概要
このドキュメントでは、Red Hat Advanced Cluster Management for Kubernetes の Channel リソースについて説明します。Channel リソースには、create、query、delete、update の 4 つの要求を使用できます。
1.5.1.1. バージョン情報
バージョン: 2.5.0
1.5.1.2. URI スキーム
ベースパス: /kubernetes/apis
スキーム: HTTPS
1.5.1.3. タグ
- channels.apps.open-cluster-management.io: deployable を作成して管理します。
1.5.2. パス
1.5.2.1. チャネルの作成
POST /apps.open-cluster-management.io/v1/namespaces/{namespace}/channels
POST /apps.open-cluster-management.io/v1/namespaces/{namespace}/channels
1.5.2.1.1. 説明
チャネルを作成します。
1.5.2.1.2. パラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
ヘッダー |
COOKIE | Authorization: Bearer {ACCESS_TOKEN}。ACCESS_TOKEN はユーザーのアクセストークンに置き換えます。 | 文字列 |
パス |
namespace | 使用する namespace (例: default) | 文字列 |
ボディー |
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. タグ
- 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" } }
{
"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. ターゲット namespace の全チャネルのクエリー
GET /apps.open-cluster-management.io/v1/namespaces/{namespace}/channels
GET /apps.open-cluster-management.io/v1/namespaces/{namespace}/channels
1.5.2.2.1. 説明
チャネルに対してクエリーを実行して詳細を確認します。
1.5.2.2.2. パラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
ヘッダー |
COOKIE | Authorization: Bearer {ACCESS_TOKEN}。ACCESS_TOKEN はユーザーのアクセストークンに置き換えます。 | 文字列 |
パス |
namespace | 使用する 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. タグ
- channels.apps.open-cluster-management.io
1.5.2.3. namespace の単一チャネルのクエリー
GET /apps.open-cluster-management.io/v1/namespaces/{namespace}/channels/{channel_name}
GET /apps.open-cluster-management.io/v1/namespaces/{namespace}/channels/{channel_name}
1.5.2.3.1. 説明
単一のチャネルに対してクエリーを実行して詳細を確認します。
1.5.2.3.2. パラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
ヘッダー |
COOKIE | Authorization: Bearer {ACCESS_TOKEN}。ACCESS_TOKEN はユーザーのアクセストークンに置き換えます。 | 文字列 |
パス |
channel_name | 問い合わせる deployable の名前 | 文字列 |
パス |
namespace | 使用する namespace (例: default) | 文字列 |
1.5.2.3.3. レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 成功 | コンテンツなし |
403 | アクセス禁止 | コンテンツなし |
404 | リソースが見つからない | コンテンツなし |
500 | 内部サービスエラー | コンテンツなし |
503 | サービスが利用できない | コンテンツなし |
1.5.2.3.4. タグ
- channels.apps.open-cluster-management.io
1.5.2.4. Channel の削除
DELETE /apps.open-cluster-management.io/v1/namespaces/{namespace}/channels/{channel_name}
DELETE /apps.open-cluster-management.io/v1/namespaces/{namespace}/channels/{channel_name}
1.5.2.4.1. パラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
ヘッダー |
COOKIE | Authorization: Bearer {ACCESS_TOKEN}。ACCESS_TOKEN はユーザーのアクセストークンに置き換えます。 | 文字列 |
パス |
channel_name | 削除する Channel の名前 | 文字列 |
パス |
namespace | 使用する namespace (例: default) | 文字列 |
1.5.2.4.2. レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 成功 | コンテンツなし |
403 | アクセス禁止 | コンテンツなし |
404 | リソースが見つからない | コンテンツなし |
500 | 内部サービスエラー | コンテンツなし |
503 | サービスが利用できない | コンテンツなし |
1.5.2.4.3. タグ
- channels.apps.open-cluster-management.io
1.5.3. 定義
1.5.3.1. チャネル
Name | スキーマ |
---|---|
apiVersion | string |
kind | string |
metadata | object |
spec |
spec
名前 | 説明 | スキーマ |
---|---|---|
configMapRef | ObjectReference には参照先のオブジェクトを調査または変更するのに十分な情報が含まれます。 | |
gates | ChannelGate はチャネルにプロモートする基準を定義します。 | |
pathname | string | |
secretRef | ObjectReference には参照先のオブジェクトを調査または変更するのに十分な情報が含まれます。 | |
sourceNamespaces | 列挙 (Namespace、HelmRepo、ObjectBucket、Git、namespace、helmrepo、objectbucket、github) 配列 |
configMapRef
Name | 説明 | スキーマ |
---|---|---|
apiVersion | 参照先の API バージョン。 | string |
fieldPath | オブジェクト全体ではなく一部を参照する場合に、この文字列には、desiredState.manifest.containers[2] など、有効な JSON/Go フィールドアクセスステートメントを含める必要があります。たとえば、オブジェクトの参照先が Pod 内のコンテナーの場合には、spec.containers{name} などの値に設定されます (name はイベントをトリガーしたコンテナー名に置き換えます)。またはコンテナー名が指定されていない場合には、spec.containers[2] の値に設定されます (この Pod 内でインデックス が 2 のコンテナー)。この構文が選択された唯一の理由は、オブジェクトの一部の参照を明確に定義するためです。TODO: この設計は最終版ではないため、このフィールドは今後変更になる場合があります。 | string |
kind | 参照先の種類。詳細: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds | string |
name | 参照先の名前。詳細: Names | string |
namespace | 参照先の namespace。詳細: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ | string |
resourceVersion | この参照が作成される特定の resourceVersion (ある場合)。詳細: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency | string |
uid | 参照先の UID。詳細: UIDs | 文字列 |
gates
Name | 説明 | スキーマ |
---|---|---|
annotations | k8s の典型的なアノテーション | |
labelSelector | ラベルセレクターとは、一連のリソースに対するラベルクエリー機能です。matchLabels と matchExpressions の結果は AND を使用して結合されます。ラベルセレクターが空の場合は、全オブジェクトをマッチします。ラベルセレクターが null の場合は、どのオブジェクトもマッチしません。 | |
name | string |
annotations
Name | スキーマ |
---|---|
key | string |
value | string |
labelSelector
Name | 説明 | スキーマ |
---|---|---|
matchExpressions | matchExpressions はラベルセレクターの要件の一覧です。要件は AND で結合されます。 | |
matchLabels | matchLabels は、{key,value} ペアのマップです。MatchLabels マップの 1 つの {key,value} は matchExpressions の要素と同じで、キーフィールドには key、演算子には In、値配列には value のみが含まれます。要件は AND で結合されます。 | 文字列、文字列マップ |
matchExpressions
Name | 説明 | スキーマ |
---|---|---|
key | key は、セレクターの適用先のラベルキーです。 | string |
operator | operator はキーと値のセットの関係を表します。有効な演算子は In、NotIn、Exists、および DoesNotExist です。 | string |
values | values は文字列値の配列です。operator が In または NotIn の場合には、values 配列を空白にできません。operator が Exists または DoesNotExist の場合には、values 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。 | 文字列の配列 |
secretRef
Name | 説明 | スキーマ |
---|---|---|
apiVersion | 参照先の API バージョン。 | string |
fieldPath | オブジェクト全体ではなく一部を参照する場合に、この文字列には、desiredState.manifest.containers[2] など、有効な JSON/Go フィールドアクセスステートメントを含める必要があります。たとえば、オブジェクトの参照先が Pod 内のコンテナーの場合には、spec.containers{name} などの値に設定されます (name はイベントをトリガーしたコンテナー名に置き換えます)。またはコンテナー名が指定されていない場合には、spec.containers[2] の値に設定されます (この Pod 内でインデックス が 2 のコンテナー)。この構文が選択された唯一の理由は、オブジェクトの一部の参照を明確に定義するためです。TODO: この設計は最終版ではないため、このフィールドは今後変更になる場合があります。 | string |
kind | 参照先の種類。詳細: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds | string |
name | 参照先の名前。詳細: Names | string |
namespace | 参照先の namespace。詳細: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ | string |
resourceVersion | この参照が作成される特定の resourceVersion (ある場合)。詳細: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency | string |
uid | 参照先の UID。詳細:UIDs | 文字列 |