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

spec

availabilityConfig
任意
デプロイメントレプリケーションを指定して可用性を向上させます。デフォルト値は High です。string

customCAConfigmap
任意

カスタマイズされた OpenShift デフォルト Ingress CA 証明書を Red Hat Advanced Cluster Management に提供します。

string

disableHubSelfManagement
任意

マネージドクラスターとしてハブクラスターの自動インポートを無効にします。

boolean

disableUpdateClusterImageSets
任意

ClusterImageSets の自動更新を無効にします。

boolean

Hive
任意

(非推奨) デフォルトの HiveConfig 仕様を上書きするオブジェクト。

hive

imagePullSecret
任意

MultiClusterHub オペランドおよびエンドポイントイメージにアクセスするためのプルシークレットを上書きします。

string

Ingress
任意

Ingress 管理の設定オプション。

ingress

nodeSelector
任意

ノードセレクターを設定します。

string

separateCertificateManagement
任意

(非推奨) cert-manager を独自の namespace にインストールします。

ブール値

hive

additionalCertificateAuthorities
任意
(非推奨) ターゲットクラスターとの通信時に使用する追加の認証局が含まれる hive namespace のシークレットへの参照リスト。インストール時に各クラスターが生成する自己署名の CA のほかに、この認証局が使用されます。object

Backup
任意

(非推奨) バックアップ統合の設定を指定します。存在しない場合、バックアップ統合は無効になります。

backup

externalDNS
任意

(非推奨) Hive でデプロイする場合は external-dns の設定を指定します。存在しない場合、external-dns はデプロイされません。

object

failedProvisionConfig
必須

(非推奨) プロビジョニングの失敗の処理に関連する設定に使用します。

failedProvisionConfig

globalPullSecret
任意

(非推奨) 全クラスターデプロイメントがグローバルで使用するプルシークレットを指定するのに使用します。クラスターデプロイメントごとに、globalPullSecret の内容はクラスターデプロイメントの特定のプルシークレットにマージされます (指定されている場合)。これはクラスターデプロイメントのプルシークレットの内容よりも優先されます。

object

maintenanceMode
任意

(非推奨) True に設定して、Hiver タイプのファイナライザーに対して追加したり、実行したりするような操作が行われないようにする必要がある場合など、Hive コントローラーを無効にできます。このような状況はほぼ発生しないはずです。hive-controllers デプロイメントの場合にはレプリカを 0 に設定してこれを実行します。

ブール値

ingress

sslCiphers
任意
管理 Ingress 向けに有効になっている SSL 暗号のリスト。デフォルトは、対応している暗号の全リストです。string

backup

minBackupPeriodSeconds
任意
(非推奨) 次のバックアップが発生するまでの最小の MinBackupPeriodSeconds を指定します。これは、レート制限バックアップに使用します。これにより、1 つのバックアップに複数の変更がまとめられる可能性があります。この期間に加えられた変更がキューに格納され、この期間が終了したらバックアップが行われるので、バックアップは失われません。integer

velero
任意

(非推奨) Velero は Velero バックアップ統合の設定を指定します。

オブジェクト

failedProvisionConfig

skipGatherLogs
任意
(非推奨) インストールに失敗した場合に、クラスターから全ログの収集を試行する機能を無効にします。ログは最長 7 日間永続ボリュームに保存されます。ブール値

status

components
任意
ステータス設定のコンポーネント。object

conditions
任意

multicluster hub のさまざまな条件が含まれます。

conditions

desiredVersion
任意

必要なバージョンを指定します。

string

phase
任意

MultiClusterHub リソースのアクティブなフェーズを表します。このパラメーターに使用される値は、PendingRunningInstallingUpdatingUninstalling です。

string

conditions

lastTransitionTime
任意
状態が別のステータスに最後に変わった時刻string

lastUpdateTime
任意

この状態が最後に更新された時刻。

string

message
必須

メッセージは人間が判読できるメッセージで、最後にステータスが変更されたときの情報を指定します。

string

reason
必須

状態のステータスが変更された理由の簡単な説明

string

status
必須

状態のテータス。

string

type
必須

クラスターの状態のタイプ

string

StatusConditions

kind
必須
このステータスを表すリソースの kindstring

available
必須

このコンポーネントが適切に実行されているかどうかを示します。

boolean

lastTransitionTime
任意

状態が別のステータスに最後に変わった時刻

metav1.time

lastUpdateTime
任意

この状態が最後に更新された時刻。

metav1.time

message
必須

メッセージは人間が判読できるメッセージで、最後にステータスが変更されたときの情報を指定します。

string

reason
任意

状態のステータスが変更された理由の簡単な説明

string

status
任意

状態のテータス。

string

type
任意

クラスターの状態のタイプ

string

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.