Reviewed-by: Gergo-Bence Lorincz <a200452876@noreply.gitea.eco.tsi-dev.otc-service.com> Co-authored-by: qiujiandong1 <qiujiandong1@huawei.com> Co-committed-by: qiujiandong1 <qiujiandong1@huawei.com>
66 KiB
Obtaining a Cluster
Function
This API is used to obtain a cluster. The cluster ID must comply with the Kubernetes UUID format rules, and you must have the required permissions on the cluster. Otherwise, the authentication fails.
URI
GET /v1/clusters/{clusterid}
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
clusterid |
Yes |
String |
Cluster ID |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
X-Auth-Token |
Yes |
String |
Identity authentication information. Requests for calling an API can be authenticated using either a token or AK/SK. If token-based authentication is used, this parameter is mandatory and must be set to a user token. |
Response Parameters
Status code: 200
Parameter |
Type |
Description |
|---|---|---|
kind |
String |
API type. The value is fixed at Cluster and cannot be changed. |
apiVersion |
String |
API version. The value is fixed at v1 and cannot be changed. |
metadata |
ObjectMeta object |
Basic information about the cluster. Metadata is a collection of attributes. |
spec |
ClusterSpec object |
Details about the cluster. UCS creates or updates the cluster based on spec. |
status |
ClusterStatus object |
Cluster status |
Parameter |
Type |
Description |
|---|---|---|
uid |
String |
Resource ID |
name |
String |
Resource name |
generateName |
String |
If no name is provided, the server uses the prefix to generate a unique name. |
namespace |
String |
Namespace |
labels |
Map<String,String> |
Labels |
annotations |
Map<String,String> |
Annotations |
creationTimestamp |
String |
Creation time |
updateTimestamp |
String |
Update time |
resourceVersion |
String |
Internal version of a resource |
generation |
String |
Generation of the desired resource state |
managedFields |
Array of ManagedFieldsEntry objects |
Fields managed by workflows |
ownerReferences |
Array of OwnerReference objects |
Ownership, dependencies, and garbage collection mechanism of objects. It supports resource management by the controller. |
Parameter |
Type |
Description |
|---|---|---|
manager |
String |
Manager name |
operation |
String |
Operation type that causes this entry to be created. The value can only be Apply or Update. |
apiVersion |
String |
Resource API version used by a manager for defining fields |
time |
String |
Timestamp when this entry was created or last updated |
fieldsType |
String |
Field structure format. The value is fixed at FieldsV1. |
fieldsV1 |
Object |
Information about the managed fields |
Parameter |
Type |
Description |
|---|---|---|
apiVersion |
String |
API version of the referent |
kind |
String |
Type of the referent |
name |
String |
Name of the referent |
uid |
String |
UID of the referent |
controller |
Boolean |
If the value is true, this reference points to the controller that manages the resource. |
blockOwnerDeletion |
Boolean |
If the value is true and the owner has a finalizer named foregroundDeletion, the owner cannot be deleted until this reference is removed. |
Parameter |
Type |
Description |
|---|---|---|
syncMode |
String |
Synchronization mode between the cluster and the Karmada control plane |
clusterGroupID |
String |
Fleet ID |
manageType |
String |
Cluster type. The options are as follows:
|
ruleNamespaces |
Array of RuleNamespace objects |
List of namespaces associated with permission policies in a cluster |
apiEndpoint |
String |
API server address |
secretRef |
LocalSecretReference object |
Secret information for accessing a cluster |
insecureSkipTLSVerification |
Boolean |
Whether to skip HTTPS verification |
proxyURL |
String |
Proxy URL |
provider |
String |
Provider |
type |
String |
Type |
category |
String |
Category |
enableDistMgt |
Boolean |
Whether CCE Turbo clusters can manage edge infrastructure |
region |
String |
Region |
country |
String |
Country |
city |
String |
City (consistent with the country) |
projectID |
String |
Project ID |
projectName |
String |
Project name |
zone |
String |
Zone |
taints |
Array of Taint objects |
Taints |
IsDownloadedCert |
Boolean |
Whether the certificate has been downloaded |
policyId |
String |
Policy management ID |
Parameter |
Type |
Description |
|---|---|---|
rules |
Array of RuleInfo objects |
Permission policy list |
namespaces |
Array of strings |
Namespace list |
Parameter |
Type |
Description |
|---|---|---|
ruleID |
String |
Permission policy ID |
ruleName |
String |
Permission policy name |
Parameter |
Type |
Description |
|---|---|---|
namespace |
String |
Namespace that the resource belongs to |
name |
String |
Resource name |
Parameter |
Type |
Description |
|---|---|---|
key |
String |
Key |
value |
String |
Value |
effect |
String |
Effect information |
timeadded |
String |
Timestamp information |
Parameter |
Type |
Description |
|---|---|---|
kubernetesVersion |
String |
Kubernetes version |
conditions |
Array of ConditionStatus objects |
Conditions |
nodeSummary |
NodeSummary object |
Node statistics |
resourceSummary |
ResourceSummary object |
Resource statistics |
endpoints |
Endpoint object |
Endpoint |
phase |
String |
Phase information |
reason |
String |
Reason of the last change |
message |
String |
Details about the last state transition |
arrearFreeze |
String |
Frozen due to arrears |
policeFreeze |
String |
Frozen for legal reasons |
apiEnablements |
Array of APIEnablement objects |
List of enabled resources |
Parameter |
Type |
Description |
|---|---|---|
type |
String |
Status type |
status |
String |
Status |
observedgeneration |
Integer |
Version of a status object |
lastTransitionTime |
String |
Time of the last transition |
reason |
String |
Cause of status |
message |
String |
Status information |
Parameter |
Type |
Description |
|---|---|---|
totalNum |
String |
The number of all nodes in a cluster |
readyNum |
String |
The number of ready nodes in a cluster |
Parameter |
Type |
Description |
|---|---|---|
allocatable |
map<string, object> |
Allocatable resources |
allocating |
map<string, object> |
Resources in allocation |
allocated |
map<string, object> |
Allocated resources |
capacity |
map<string, object> |
Total resources |
Parameter |
Type |
Description |
|---|---|---|
internal |
String |
Internal network address. |
external |
String |
External network address. |
external_otc |
String |
Endpoint of the cluster to be accessed through API Gateway. |
Parameter |
Type |
Description |
|---|---|---|
groupVersion |
String |
Resource group and version |
resources |
Array of APIResource objects |
Resource type and name |
Example Requests
None
Example Responses
Status code: 200
Cluster information, such as its status and synchronization mode between the cluster and Karmada control plane
{
"kind" : "Cluster",
"apiVersion" : "v1",
"metadata" : {
"name" : "test-cluster",
"uid" : "b0d1ecb5-7947-11ee-9467-0255ac1001bf",
"creationTimestamp" : "2023-11-02T06:36:14Z",
"labels" : {
"FeatureGates" : "elbv3,SupportClientCertificateRevocation,xGPU"
},
"annotations" : {
"vpcId" : "11c9fe72-5a90-4295-bcfe-774726fb9066"
}
},
"spec" : {
"syncMode" : "",
"clusterGroupID" : "bffbb35b-7949-11ee-886c-0255ac100037",
"manageType" : "grouped",
"provider" : "cmccloud",
"type" : "cce",
"category" : "self",
"region" : "cidc-rp-12",
"country" : "CN",
"city" : "150900",
"projectID" : "b6315dd3d0ff4be5b31a963256794989",
"projectName" : "cidc-rp-12",
"IsDownloadedCert" : false,
"operatorNamespace" : "2cd7ebd02e4743eba4e6342c09e49344"
},
"status" : {
"kubernetesVersion" : "v1.25",
"conditions" : [ {
"type" : "Ready",
"status" : "True",
"lastTransitionTime" : "2023-11-27T11:05:09+08:00",
"reason" : "ClusterAvailable"
}, {
"type" : "Cluster",
"status" : "Available",
"lastTransitionTime" : "2023-11-27T11:05:09+08:00",
"reason" : "ClusterAvailable"
}, {
"type" : "Federation",
"status" : "Federalized",
"lastTransitionTime" : "2023-11-14T14:31:58.744215+08:00"
} ],
"endpoints" : [ {
"url" : "https://192.168.1.251:5443",
"type" : "Internal"
} ],
"phase" : "Available",
"arrearFreeze" : "false",
"policeFreeze" : "false"
}
}
Status Codes
Status Code |
Description |
|---|---|
200 |
Cluster information, such as its status and synchronization mode between the cluster and Karmada control plane |
400 |
Client request error. The server could not execute the request. |
403 |
The server refused the request. |
404 |
Resources not found. |
500 |
Internal server error. |
Error Codes
See Error Codes.