1.14. MultiClusterHub API


1.14.1. 개요

이 문서는 Red Hat Advanced Cluster Management for Kubernetes용 MultiClusterHub 리소스에 대한 것입니다. MultiClusterHub 리소스에는 생성, 쿼리, 삭제 및 업데이트의 네 가지 가능한 요청이 있습니다.

1.14.1.1. 버전 정보

버전 : 2.12.0

1.14.1.2. URI 스키마

BasePath : /kubernetes/apis
Schemes : HTTPS

1.14.1.3. 태그

  • multiclusterhubs.operator.open-cluster-management.io : 다중 클러스터 허브 Operator 생성 및 관리

1.14.2. 경로

1.14.2.1. MultiClusterHub 리소스 생성

POST /operator.open-cluster-management.io/v1beta1/namespaces/{namespace}/mch
1.14.2.1.1. 설명

MultiClusterHub 리소스를 생성하여 다중 클러스터 허브 인스턴스의 구성을 정의합니다.

1.14.2.1.2. 매개 변수
유형이름설명스키마

헤더

COOKIE
필요

권한 부여: Bearer {ACCESS_TOKEN}; ACCESS_TOKEN은 사용자 액세스 토큰입니다.

string

경로

네임스페이스
필요

사용할 네임스페이스(예: default)입니다.

string

본문

본문
필요

생성할 다중 클러스터 허브를 설명하는 매개변수입니다.

정의

1.14.2.1.3. 응답
HTTP 코드설명스키마

200

성공

콘텐츠 없음

403

액세스 금지

콘텐츠 없음

404

리소스를 찾을 수 없음

콘텐츠 없음

500

내부 서비스 오류

콘텐츠 없음

503

서비스를 사용할 수 없음

콘텐츠 없음

1.14.2.1.4. 사용
  • multiclusterhubs/yaml
1.14.2.1.5. 태그
  • multiclusterhubs.operator.open-cluster-management.io
1.14.2.1.6. HTTP 요청의 예
1.14.2.1.6.1. 요청 본문
{
  "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, a central point for managing multiple Kubernetes-based
          clusters. The deployment of multicluster hub components is determined based
          on the configuration that is defined in this resource.",
        "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 Red Hat Advanced Cluster Management.",
                  }
                    "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.14.2.2. 모든 MultiClusterHubs 쿼리

GET /operator.open-cluster-management.io/v1beta1/namespaces/{namespace}/operator
1.14.2.2.1. 설명

자세한 내용은 다중 클러스터 허브 Operator를 쿼리합니다.

1.14.2.2.2. 매개 변수
유형이름설명스키마

헤더

COOKIE
필요

권한 부여: Bearer {ACCESS_TOKEN}; ACCESS_TOKEN은 사용자 액세스 토큰입니다.

string

경로

네임스페이스
필요

사용할 네임스페이스(예: default)입니다.

string

1.14.2.2.3. 응답
HTTP 코드설명스키마

200

성공

콘텐츠 없음

403

액세스 금지

콘텐츠 없음

404

리소스를 찾을 수 없음

콘텐츠 없음

500

내부 서비스 오류

콘텐츠 없음

503

서비스를 사용할 수 없음

콘텐츠 없음

1.14.2.2.4. 사용
  • operator/yaml
1.14.2.2.5. 태그
  • multiclusterhubs.operator.open-cluster-management.io

1.14.2.3. MultiClusterHub Operator 쿼리

GET /operator.open-cluster-management.io/v1beta1/namespaces/{namespace}/operator/{multiclusterhub_name}
1.14.2.3.1. 설명

자세한 내용은 단일 다중 클러스터 허브 Operator를 쿼리합니다.

1.14.2.3.2. 매개 변수
유형이름설명스키마

헤더

COOKIE
필요

권한 부여: Bearer {ACCESS_TOKEN}; ACCESS_TOKEN은 사용자 액세스 토큰입니다.

string

경로

application_name
required

쿼리할 애플리케이션의 이름입니다.

string

경로

네임스페이스
필요

사용할 네임스페이스(예: default)입니다.

string

1.14.2.3.3. 응답
HTTP 코드설명스키마

200

성공

콘텐츠 없음

403

액세스 금지

콘텐츠 없음

404

리소스를 찾을 수 없음

콘텐츠 없음

500

내부 서비스 오류

콘텐츠 없음

503

서비스를 사용할 수 없음

콘텐츠 없음

1.14.2.3.4. 태그
  • multiclusterhubs.operator.open-cluster-management.io

1.14.2.4. MultiClusterHub Operator 삭제

DELETE /operator.open-cluster-management.io/v1beta1/namespaces/{namespace}/operator/{multiclusterhub_name}
1.14.2.4.1. 매개 변수
유형이름설명스키마

헤더

COOKIE
필요

권한 부여: Bearer {ACCESS_TOKEN}; ACCESS_TOKEN은 사용자 액세스 토큰입니다.

string

경로

application_name
required

삭제할 다중 클러스터 허브 Operator의 이름입니다.

string

경로

네임스페이스
필요

사용할 네임스페이스(예: default)입니다.

string

1.14.2.4.2. 응답
HTTP 코드설명스키마

200

성공

콘텐츠 없음

403

액세스 금지

콘텐츠 없음

404

리소스를 찾을 수 없음

콘텐츠 없음

500

내부 서비스 오류

콘텐츠 없음

503

서비스를 사용할 수 없음

콘텐츠 없음

1.14.2.4.3. 태그
  • multiclusterhubs.operator.open-cluster-management.io

1.14.3. 정의

1.14.3.1. 다중 클러스터 허브 Operator

이름설명스키마

apiVersion
필요

MultiClusterHub의 버전이 지정된 스키마입니다.

string

종류
필요

REST 리소스를 나타내는 문자열 값입니다.

string

메타데이터
필요

리소스를 정의하는 규칙을 설명합니다.

object

사양
필요

리소스 사양입니다.

spec

spec

availabilityConfig
optional
가용성 향상을 위해 배포 복제를 지정합니다. 기본값은 High 입니다.string

customCAConfigmap
optional

Red Hat Advanced Cluster Management에 사용자 지정 OpenShift 기본 수신 CA 인증서를 제공합니다.

string

disableHubSelfManagement
optional

허브 클러스터 자동 가져오기를 관리 클러스터로 비활성화합니다.

boolean

disableUpdateClusterImageSets
optional

ClusterImageSets의 자동 업데이트를 비활성화합니다.

boolean

Hive
선택 사항

(더 이상 사용되지 않음) 기본 HiveConfig 사양에 대해 재정의하는 오브젝트입니다.

Hive

imagePullSecret
optional

MultiClusterHub 피연산자 및 끝점 이미지에 액세스하기 위해 풀 시크릿을 덮어씁니다.

string

Ingress
선택 사항

수신 관리를 위한 구성 옵션입니다.

Ingress

nodeSelector
optional

노드 선택기를 설정합니다.

string

separateCertificateManagement
optional

(더 이상 사용되지 않음) cert-manager 를 자체 네임스페이스에 설치합니다.

boolean

Hive

additionalCertificateAuthorities
optional
(더 이상 사용되지 않음) 대상 클러스터와 통신할 때 사용할 추가 인증 기관이 포함된 hive 네임스페이스의 보안에 대한 참조 목록입니다. 이러한 인증 기관은 설치 시 각 클러스터에서 생성한 자체 서명된 CA 외에도 사용됩니다.object

백업
선택 사항

(더 이상 사용되지 않음) 백업 통합 구성을 지정합니다. 없는 경우 백업 통합이 비활성화됩니다.

Backup

externalDNS
optional

(더 이상 사용되지 않음) Hive에서 배포해야 하는 경우 external-dns 에 대한 구성을 지정합니다. absent인 경우 external-dns 가 배포되지 않습니다.

object

failedProvisionConfig
required

(더 이상 사용되지 않음) 프로비저닝 실패 처리와 관련된 설정을 구성하는 데 사용됩니다.

failedProvisionConfig

globalPullSecret
optional

(더 이상 사용되지 않음) 모든 클러스터 배포에서 전역적으로 사용되는 풀 시크릿을 지정하는 데 사용됩니다. 각 클러스터 배포의 경우 globalPullSecret 의 콘텐츠가 클러스터 배포의 특정 풀 시크릿과 병합되며(지정된 경우) 클러스터 배포에 대한 풀 시크릿 콘텐츠에 우선순위가 지정됩니다.

object

maintenanceMode
optional

(더 이상 사용되지 않음) Hive 유형의 종료자를 추가하거나 작동하는 아무 것도 실행하지 않는 경우 하이브 컨트롤러를 비활성화하도록 true로 설정할 수 있습니다. 이는 거의 필요하지 않습니다. hive-controllers 배포를 위해 replicas를 0 으로 설정합니다.

boolean

Ingress

sslCiphers
optional
관리 수신에 활성화된 SSL 암호 목록입니다. 기본값은 지원되는 암호의 전체 목록입니다.string

Backup

minBackupPeriodSeconds
optional
(더 이상 사용되지 않음) 각 백업 간에 최소 MinBackupPeriodSeconds 가 발생하도록 지정합니다. 이는 제한 백업을 평가하는 데 사용됩니다. 이로 인해 여러 변경 사항을 하나의 백업에 배치될 수 있습니다. 이 간격 동안 변경 사항이 대기열에 추가되면 백업이 손실되지 않으며 간격이 완료되면 백업이 발생합니다.integer

Velero
선택 사항

(더 이상 사용되지 않는) Velero는 Velero 백업 통합을 위한 구성을 지정합니다.

object

failedProvisionConfig

skipGatherLogs
optional
(더 이상 사용되지 않음) 어떤 이유로든 설치 실패 시 클러스터에서 전체 로그를 수집하려고 하는 기능을 비활성화합니다. 로그는 최대 7일 동안 영구 볼륨에 저장됩니다.boolean

status

구성 요소
선택 사항
상태 구성의 구성 요소입니다.object

조건
선택 사항

다중 클러스터 허브에 대한 다양한 조건을 포함합니다.

conditions

desiredVersion
optional

원하는 버전을 나타냅니다.

string


단계(선택 사항)

MultiClusterHub 리소스의 활성 단계를 나타냅니다. 이 매개변수에 사용되는 값은 Pending,Running,Installing,Updating,Uninstalling입니다.

string

conditions

lastTransitionTime
optional
조건이 한 상태에서 다른 상태로 마지막으로 변경된 경우입니다.string

lastUpdateTime
optional

이 조건이 마지막으로 업데이트된 시간입니다.

string

메시지
필요

message는 마지막 상태 변경에 대한 세부 정보를 나타내는 사람이 읽을 수 있는 메시지입니다.

string


필수 이유

조건 상태가 변경된 이유에 대한 간략한 이유가 있습니다.

string

상태
필요

조건의 상태:

string

유형
필수

클러스터 조건 유형입니다.

string

StatusConditions

종류
필요
이 상태를 나타내는 리소스 종류입니다.string

사용 가능한
필요

이 구성 요소가 올바르게 실행되고 있는지 여부를 나타냅니다.

boolean

lastTransitionTime
optional

조건이 한 상태에서 다른 상태로 마지막으로 변경된 경우입니다.

metav1.time

lastUpdateTime
optional

이 조건이 마지막으로 업데이트된 시간입니다.

metav1.time

메시지
필요

message는 마지막 상태 변경에 대한 세부 정보를 나타내는 사람이 읽을 수 있는 메시지입니다.

string

이유
선택 사항

조건 상태가 변경된 이유에 대한 간략한 이유가 있습니다.

string

상태
선택 사항

조건의 상태:

string

유형
선택 사항

클러스터 조건 유형입니다.

string

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.