1.12.2. 路径
1.12.2.1. 创建 MultiClusterHub 资源 复制链接链接已复制到粘贴板!
POST /operator.open-cluster-management.io/v1beta1/namespaces/{namespace}/mch
POST /operator.open-cluster-management.io/v1beta1/namespaces/{namespace}/mch
1.12.2.1.1. 描述 复制链接链接已复制到粘贴板!
创建一个 MultiClusterHub 资源来定义 multicluster hub 实例的配置。
1.12.2.1.2. 参数 复制链接链接已复制到粘贴板!
| 类型 | Name | 描述 | 模式 |
|---|---|---|---|
| Header |
COOKIE | 授权:Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN 是用户访问令牌。 | 字符串 |
| 路径 |
namespace | 要使用的命名空间,如 default。 | 字符串 |
| Body |
body | 描述要创建的 multicluster hub 的参数。 |
1.12.2.1.3. 响应 复制链接链接已复制到粘贴板!
| HTTP 代码 | 描述 | 模式 |
|---|---|---|
| 200 | 成功 | 无内容 |
| 403 | 禁止访问 | 无内容 |
| 404 | 未找到资源 | 无内容 |
| 500 | 内部服务错误 | 无内容 |
| 503 | 服务不可用 | 无内容 |
1.12.2.1.4. 使用 复制链接链接已复制到粘贴板!
-
multiclusterhubs/yaml
1.12.2.1.5. Tags 复制链接链接已复制到粘贴板!
- multiclusterhubs.operator.open-cluster-management.io
1.12.2.1.6. HTTP 请求示例 复制链接链接已复制到粘贴板!
1.12.2.1.6.1. 请求正文 复制链接链接已复制到粘贴板!
{
"apiVersion": "apiextensions.k8s.io/v1beta1",
"kind": "CustomResourceDefinition",
"metadata": {
"name": "multiclusterhubs.operator.open-cluster-management.io"
},
"spec": {
"additionalPrinterColumns": [
{
"JSONPath": ".status.phase",
"description": "The overall status of the MultiClusterHub.",
"name": "Status",
"type": "string"
},
{
"JSONPath": ".metadata.creationTimestamp",
"name": "Age",
"type": "date"
}
],
"group": "operator.open-cluster-management.io",
"names": {
"kind": "MultiClusterHub",
"listKind": "MultiClusterHubList",
"plural": "multiclusterhubs",
"shortNames": [
"mch"
],
"singular": "multiclusterhub"
},
"scope": "Namespaced",
"subresources": {
"status": {}
},
"validation": {
"openAPIV3Schema": {
"description": "MultiClusterHub defines the configuration for an instance of the MultiClusterHub.",
"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. 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 {product-title-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 enough 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 as changes that happen during this interval are queued up and result in a backup happening 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 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 references a secret that are 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 GCP-specific settings for external DNS",
"properties": {
"credentials": {
"description": "(Deprecated) Credentials references 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 named `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 can be 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 we need to ensure nothing is running that adds or acts 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": "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 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. The values that can be used are: 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 contains 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. The values that can be used are: 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"
}
},
"version": "v1",
"versions": [
{
"name": "v1",
"served": true,
"storage": true
}
]
}
}
{
"apiVersion": "apiextensions.k8s.io/v1beta1",
"kind": "CustomResourceDefinition",
"metadata": {
"name": "multiclusterhubs.operator.open-cluster-management.io"
},
"spec": {
"additionalPrinterColumns": [
{
"JSONPath": ".status.phase",
"description": "The overall status of the MultiClusterHub.",
"name": "Status",
"type": "string"
},
{
"JSONPath": ".metadata.creationTimestamp",
"name": "Age",
"type": "date"
}
],
"group": "operator.open-cluster-management.io",
"names": {
"kind": "MultiClusterHub",
"listKind": "MultiClusterHubList",
"plural": "multiclusterhubs",
"shortNames": [
"mch"
],
"singular": "multiclusterhub"
},
"scope": "Namespaced",
"subresources": {
"status": {}
},
"validation": {
"openAPIV3Schema": {
"description": "MultiClusterHub defines the configuration for an instance of the MultiClusterHub.",
"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. 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 {product-title-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 enough 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 as changes that happen during this interval are queued up and result in a backup happening 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 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 references a secret that are 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 GCP-specific settings for external DNS",
"properties": {
"credentials": {
"description": "(Deprecated) Credentials references 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 named `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 can be 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 we need to ensure nothing is running that adds or acts 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": "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 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. The values that can be used are: 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 contains 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. The values that can be used are: 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"
}
},
"version": "v1",
"versions": [
{
"name": "v1",
"served": true,
"storage": true
}
]
}
}