1.13. MultiClusterHub API
1.13.1. 概要
このドキュメントでは、Red Hat Advanced Cluster Management for Kubernetes の MultiClusterHub リソースについて説明します。MultiClusterHub リソースには、create、query、delete、update の 4 つの要求を使用できます。
1.13.1.1. バージョン情報
バージョン: 2.9.0
1.13.1.2. URI スキーム
ベースパス: /kubernetes/apis
スキーム: HTTPS
1.13.1.3. タグ
- multiclusterhubs.operator.open-cluster-management.io: マルチクラスターハブ演算子を作成して管理します。
1.13.2. パス
1.13.2.1. MultiClusterHub リソースの作成
POST /operator.open-cluster-management.io/v1beta1/namespaces/{namespace}/mch
1.13.2.1.1. 説明
MultiClusterHub リソースを作成し、multicluster hub のインスタンスの設定を定義します。
1.13.2.1.2. パラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
Header |
COOKIE | Authorization: Bearer {ACCESS_TOKEN}。ACCESS_TOKEN はユーザーのアクセストークンに置き換えます。 | string |
パス |
namespace | 使用する namespace (例: default) | string |
Body |
body | 作成する multicluster hub を記述するパラメーター |
1.13.2.1.3. 応答
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 成功 | コンテンツなし |
403 | アクセス禁止 | コンテンツなし |
404 | リソースが見つからない | コンテンツなし |
500 | 内部サービスエラー | コンテンツなし |
503 | サービスが利用できない | コンテンツなし |
1.13.2.1.4. 消費
-
multiclusterhubs/yaml
1.13.2.1.5. タグ
- multiclusterhubs.operator.open-cluster-management.io
1.13.2.1.6. HTTP リクエストの例
1.13.2.1.6.1. 要求の body
{ "apiVersion": "apiextensions.k8s.io/v1", "kind": "CustomResourceDefinition", "metadata": { "name": "multiclusterhubs.operator.open-cluster-management.io" }, "spec": { "group": "operator.open-cluster-management.io", "names": { "kind": "MultiClusterHub", "listKind": "MultiClusterHubList", "plural": "multiclusterhubs", "shortNames": [ "mch" ], "singular": "multiclusterhub" }, "scope": "Namespaced", "versions": [ { "additionalPrinterColumns": [ { "description": "The overall status of the multicluster hub.", "jsonPath": ".status.phase", "name": "Status", "type": "string" }, { "jsonPath": ".metadata.creationTimestamp", "name": "Age", "type": "date" } ], "name": "v1", "schema": { "openAPIV3Schema": { "description": "MultiClusterHub defines the configuration for an instance of the multiCluster hub.", "properties": { "apiVersion": { "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. The value is in CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { "type": "object" }, "spec": { "description": "MultiClusterHubSpec defines the desired state of MultiClusterHub.", "properties": { "availabilityConfig": { "description": "Specifies deployment replication for improved availability. Options are: Basic and High (default).", "type": "string" }, "customCAConfigmap": { "description": "Provide the customized OpenShift default ingress CA certificate to {acm-short}.", } "type": "string" }, "disableHubSelfManagement": { "description": "Disable automatic import of the hub cluster as a managed cluster.", "type": "boolean" }, "disableUpdateClusterImageSets": { "description": "Disable automatic update of ClusterImageSets.", "type": "boolean" }, "hive": { "description": "(Deprecated) Overrides for the default HiveConfig specification.", "properties": { "additionalCertificateAuthorities": { "description": "(Deprecated) AdditionalCertificateAuthorities is a list of references to secrets in the 'hive' namespace that contain an additional Certificate Authority to use when communicating with target clusters. These certificate authorities are used in addition to any self-signed CA generated by each cluster on installation.", "items": { "description": "LocalObjectReference contains the information to let you locate the referenced object inside the same namespace.", "properties": { "name": { "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" } }, "type": "object" }, "type": "array" }, "backup": { "description": "(Deprecated) Backup specifies configuration for backup integration. If absent, backup integration is disabled.", "properties": { "minBackupPeriodSeconds": { "description": "(Deprecated) MinBackupPeriodSeconds specifies that a minimum of MinBackupPeriodSeconds occurs in between each backup. This is used to rate limit backups. This potentially batches together multiple changes into one backup. No backups are lost for changes that happen during the interval that is queued up, and results in a backup once the interval has been completed.", "type": "integer" }, "velero": { "description": "(Deprecated) Velero specifies configuration for the Velero backup integration.", "properties": { "enabled": { "description": "(Deprecated) Enabled dictates if the Velero backup integration is enabled. If not specified, the default is disabled.", "type": "boolean" } }, "type": "object" } }, "type": "object" }, "externalDNS": { "description": "(Deprecated) ExternalDNS specifies configuration for external-dns if it is to be deployed by Hive. If absent, external-dns is not deployed.", "properties": { "aws": { "description": "(Deprecated) AWS contains AWS-specific settings for external DNS.", "properties": { "credentials": { "description": "(Deprecated) Credentials reference a secret that is used to authenticate with AWS Route53. It needs permission to manage entries in each of the managed domains for this cluster. Secret should have AWS keys named 'aws_access_key_id' and 'aws_secret_access_key'.", "properties": { "name": { "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" } }, "type": "object" } }, "type": "object" }, "gcp": { "description": "(Deprecated) GCP contains Google Cloud Platform specific settings for external DNS.", "properties": { "credentials": { "description": "(Deprecated) Credentials reference a secret that is used to authenticate with GCP DNS. It needs permission to manage entries in each of the managed domains for this cluster. Secret should have a key names 'osServiceAccount.json'. The credentials must specify the project to use.", "properties": { "name": { "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" } }, "type": "object" } }, "type": "object" } }, "type": "object" }, "failedProvisionConfig": { "description": "(Deprecated) FailedProvisionConfig is used to configure settings related to handling provision failures.", "properties": { "skipGatherLogs": { "description": "(Deprecated) SkipGatherLogs disables functionality that attempts to gather full logs from the cluster if an installation fails for any reason. The logs are stored in a persistent volume for up to seven days.", "type": "boolean" } }, "type": "object" }, "globalPullSecret": { "description": "(Deprecated) GlobalPullSecret is used to specify a pull secret that is used globally by all of the cluster deployments. For each cluster deployment, the contents of GlobalPullSecret are merged with the specific pull secret for a cluster deployment(if specified), with precedence given to the contents of the pull secret for the cluster deployment.", "properties": { "name": { "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" } }, "type": "object" }, "maintenanceMode": { "description": "(Deprecated) MaintenanceMode can be set to true to disable the Hive controllers in situations where you need to ensure nothing is running that adds or act upon finalizers on Hive types. This should rarely be needed. Sets replicas to zero for the 'hive-controllers' deployment to accomplish this.", "type": "boolean" } }, "required": [ "failedProvisionConfig" ], "type": "object" }, "imagePullSecret": { "description": "Override pull secret for accessing MultiClusterHub operand and endpoint images.", "type": "string" }, "ingress": { "description": "Configuration options for ingress management.", "properties": { "sslCiphers": { "description": "List of SSL ciphers enabled for management ingress. Defaults to full list of supported ciphers.", "items": { "type": "string" }, "type": "array" } }, "type": "object" }, "nodeSelector": { "additionalProperties": { "type": "string" }, "description": "Set the node selectors..", "type": "object" }, "overrides": { "description": "Developer overrides.", "properties": { "imagePullPolicy": { "description": "Pull policy of the multicluster hub images.", "type": "string" } }, "type": "object" }, "separateCertificateManagement": { "description": "(Deprecated) Install cert-manager into its own namespace.", "type": "boolean" } }, "type": "object" }, "status": { "description": "MulticlusterHubStatus defines the observed state of MultiClusterHub.", "properties": { "components": { "additionalProperties": { "description": "StatusCondition contains condition information.", "properties": { "lastTransitionTime": { "description": "LastTransitionTime is the last time the condition changed from one status to another.", "format": "date-time", "type": "string" }, "message": { "description": "Message is a human-readable message indicating\ndetails about the last status change.", "type": "string" }, "reason": { "description": "Reason is a (brief) reason for the last status change of the condition.", "type": "string" }, "status": { "description": "Status is the status of the condition. One of True, False, Unknown.", "type": "string" }, "type": { "description": "Type is the type of the cluster condition.", "type": "string" } }, "type": "object" }, "description": "Components []ComponentCondition `json:\"manifests,omitempty\"`", "type": "object" }, "conditions": { "description": "Conditions contain the different condition statuses for the MultiClusterHub.", "items": { "description": "StatusCondition contains condition information.", "properties": { "lastTransitionTime": { "description": "LastTransitionTime is the last time the condition changed from one status to another.", "format": "date-time", "type": "string" }, "lastUpdateTime": { "description": "The last time this condition was updated.", "format": "date-time", "type": "string" }, "message": { "description": "Message is a human-readable message indicating details about the last status change.", "type": "string" }, "reason": { "description": "Reason is a (brief) reason for the last status change of the condition.", "type": "string" }, "status": { "description": "Status is the status of the condition. One of True, False, Unknown.", "type": "string" }, "type": { "description": "Type is the type of the cluster condition.", "type": "string" } }, "type": "object" }, "type": "array" }, "currentVersion": { "description": "CurrentVersion indicates the current version..", "type": "string" }, "desiredVersion": { "description": "DesiredVersion indicates the desired version.", "type": "string" }, "phase": { "description": "Represents the running phase of the MultiClusterHub", "type": "string" } }, "type": "object" } }, "type": "object" } }, "served": true, "storage": true, "subresources": { "status": {} } } ] } }
1.13.2.2. 全 MultiClusterHubs のクエリー
GET /operator.open-cluster-management.io/v1beta1/namespaces/{namespace}/operator
1.13.2.2.1. 説明
multicluster hub 演算子に対してクエリーを実行して詳細を確認します。
1.13.2.2.2. パラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
Header |
COOKIE | Authorization: Bearer {ACCESS_TOKEN}。ACCESS_TOKEN はユーザーのアクセストークンに置き換えます。 | string |
パス |
namespace | 使用する namespace (例: default) | string |
1.13.2.2.3. レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 成功 | コンテンツなし |
403 | アクセス禁止 | コンテンツなし |
404 | リソースが見つからない | コンテンツなし |
500 | 内部サービスエラー | コンテンツなし |
503 | サービスが利用できない | コンテンツなし |
1.13.2.2.4. 消費
-
operator/yaml
1.13.2.2.5. タグ
- multiclusterhubs.operator.open-cluster-management.io
1.13.2.3. MultiClusterHub 演算子のクエリー
GET /operator.open-cluster-management.io/v1beta1/namespaces/{namespace}/operator/{multiclusterhub_name}
1.13.2.3.1. 説明
単一の multicluster hub 演算子に対してクエリーを実行して詳細を確認します。
1.13.2.3.2. パラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
Header |
COOKIE | Authorization: Bearer {ACCESS_TOKEN}。ACCESS_TOKEN はユーザーのアクセストークンに置き換えます。 | string |
パス |
application_name | 問い合わせるアプリケーションの名前 | string |
パス |
namespace | 使用する namespace (例: default) | string |
1.13.2.3.3. レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 成功 | コンテンツなし |
403 | アクセス禁止 | コンテンツなし |
404 | リソースが見つからない | コンテンツなし |
500 | 内部サービスエラー | コンテンツなし |
503 | サービスが利用できない | コンテンツなし |
1.13.2.3.4. タグ
- multiclusterhubs.operator.open-cluster-management.io
1.13.2.4. MultiClusterHub 演算子の削除
DELETE /operator.open-cluster-management.io/v1beta1/namespaces/{namespace}/operator/{multiclusterhub_name}
1.13.2.4.1. パラメーター
型 | 名前 | 説明 | スキーマ |
---|---|---|---|
Header |
COOKIE | Authorization: Bearer {ACCESS_TOKEN}。ACCESS_TOKEN はユーザーのアクセストークンに置き換えます。 | string |
パス |
application_name | 削除する multicluster hub 演算子の名前 | string |
パス |
namespace | 使用する namespace (例: default) | string |
1.13.2.4.2. レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 成功 | コンテンツなし |
403 | アクセス禁止 | コンテンツなし |
404 | リソースが見つからない | コンテンツなし |
500 | 内部サービスエラー | コンテンツなし |
503 | サービスが利用できない | コンテンツなし |
1.13.2.4.3. タグ
- multiclusterhubs.operator.open-cluster-management.io
1.13.3. 定義
1.13.3.1. Multicluster hub operator
Name | 説明 | スキーマ |
---|---|---|
apiVersion | MultiClusterHub のバージョンスキーマ。 | string |
kind | REST リソースを表す文字列の値 | string |
metadata | リソースを定義するルールを記述します。 | object |
spec | リソース仕様 |
spec
availabilityConfig 任意 | デプロイメントレプリケーションを指定して可用性を向上させます。デフォルト値は High です。 | string |
---|---|---|
customCAConfigmap | カスタマイズされた OpenShift デフォルト Ingress CA 証明書を Red Hat Advanced Cluster Management に提供します。 | string |
disableHubSelfManagement | マネージドクラスターとしてハブクラスターの自動インポートを無効にします。 | boolean |
disableUpdateClusterImageSets | ClusterImageSets の自動更新を無効にします。 | boolean |
Hive | (非推奨) デフォルトの HiveConfig 仕様を上書きするオブジェクト。 | |
imagePullSecret | MultiClusterHub オペランドおよびエンドポイントイメージにアクセスするためのプルシークレットを上書きします。 | string |
Ingress | Ingress 管理の設定オプション。 | |
nodeSelector | ノードセレクターを設定します。 | string |
separateCertificateManagement |
(非推奨) | ブール値 |
hive
additionalCertificateAuthorities 任意 | (非推奨) ターゲットクラスターとの通信時に使用する追加の認証局が含まれる hive namespace のシークレットへの参照リスト。インストール時に各クラスターが生成する自己署名の CA のほかに、この認証局が使用されます。 | object |
---|---|---|
Backup | (非推奨) バックアップ統合の設定を指定します。存在しない場合、バックアップ統合は無効になります。 | |
externalDNS |
(非推奨) Hive でデプロイする場合は | object |
failedProvisionConfig | (非推奨) プロビジョニングの失敗の処理に関連する設定に使用します。 | |
globalPullSecret |
(非推奨) 全クラスターデプロイメントがグローバルで使用するプルシークレットを指定するのに使用します。クラスターデプロイメントごとに、 | object |
maintenanceMode |
(非推奨) True に設定して、Hiver タイプのファイナライザーに対して追加したり、実行したりするような操作が行われないようにする必要がある場合など、Hive コントローラーを無効にできます。このような状況はほぼ発生しないはずです。 | ブール値 |
ingress
sslCiphers 任意 | 管理 Ingress 向けに有効になっている SSL 暗号のリスト。デフォルトは、対応している暗号の全リストです。 | string |
---|
backup
minBackupPeriodSeconds 任意 | (非推奨) 次のバックアップが発生するまでの最小の MinBackupPeriodSeconds を指定します。これは、レート制限バックアップに使用します。これにより、1 つのバックアップに複数の変更がまとめられる可能性があります。この期間に加えられた変更がキューに格納され、この期間が終了したらバックアップが行われるので、バックアップは失われません。 | integer |
---|---|---|
velero | (非推奨) Velero は Velero バックアップ統合の設定を指定します。 | オブジェクト |
failedProvisionConfig
skipGatherLogs 任意 | (非推奨) インストールに失敗した場合に、クラスターから全ログの収集を試行する機能を無効にします。ログは最長 7 日間永続ボリュームに保存されます。 | ブール値 |
---|
status
components 任意 | ステータス設定のコンポーネント。 | object |
---|---|---|
conditions | multicluster hub のさまざまな条件が含まれます。 | |
desiredVersion | 必要なバージョンを指定します。 | string |
phase |
MultiClusterHub リソースのアクティブなフェーズを表します。このパラメーターに使用される値は、 | string |
conditions
lastTransitionTime 任意 | 状態が別のステータスに最後に変わった時刻 | string |
---|---|---|
lastUpdateTime | この状態が最後に更新された時刻。 | string |
message | メッセージは人間が判読できるメッセージで、最後にステータスが変更されたときの情報を指定します。 | string |
reason | 状態のステータスが変更された理由の簡単な説明 | string |
status | 状態のテータス。 | string |
type | クラスターの状態のタイプ | string |
StatusConditions
kind 必須 | このステータスを表すリソースの kind | string |
---|---|---|
available | このコンポーネントが適切に実行されているかどうかを示します。 | boolean |
lastTransitionTime | 状態が別のステータスに最後に変わった時刻 | metav1.time |
lastUpdateTime | この状態が最後に更新された時刻。 | metav1.time |
message | メッセージは人間が判読できるメッセージで、最後にステータスが変更されたときの情報を指定します。 | string |
reason | 状態のステータスが変更された理由の簡単な説明 | string |
status | 状態のテータス。 | string |
type | クラスターの状態のタイプ | string |