Кластеры
-
- Получить список кластеров
- Создание кластера с провайдером vSphere
- Создание кластера с провайдером oVirt
- Создание кластера с провайдером Shturval v2
- Создание кластера с провайдером OpenStack
- Создание кластера с провайдером Basis Dynamix
- Создание кластера с провайдером Yandex Cloud
- Создание кластера с провайдером vCloud Director
- Удаление кластера
На этой странице
-
- Получить список кластеров
- Создание кластера с провайдером vSphere
- Создание кластера с провайдером oVirt
- Создание кластера с провайдером Shturval v2
- Создание кластера с провайдером OpenStack
- Создание кластера с провайдером Basis Dynamix
- Создание кластера с провайдером Yandex Cloud
- Создание кластера с провайдером vCloud Director
- Удаление кластера
Прежде чем перейти к управлению клиентскими кластерами, авторизуйтесь в платформе.
Получить список кластеров
Команда
curl -k -s -L --request GET $BACKENDPOINT/api/v1/clusters --header "Authorization: Bearer $token" | jq -r
Пример ответа в формате json
{
"items": [
{
"id": "shturval-new-cluster",
"clusterName": "shturval-new-cluster",
"clusterType": "platform",
"annotations": [
{
"key": "shturval.tech/clustername",
"value": "shturval-new-cluster"
}
],
"providerType": "capov",
"providerConfigID": "capov-test",
"apiEndpoint": "10.20.10.20:5555",
"networks": [
{
"type": "Service CIDR",
"network": "10.96.0.0/12",
"netmask": ""
},
{
"type": "Pod CIDR",
"network": "172.16.0.0/16",
"netmask": ""
}
],
"ingress": "*.shturval-new-cluster.ip-10-20-10-21.shturval.link",
"argoCdIngress": "",
"secure": false,
"phase": "Provisioned",
"conditions": [
{
"type": "Ready",
"status": "True",
"lastTransitionTime": "2024-05-27T07:44:37Z"
},
{
"type": "ControlPlaneInitialized",
"status": "True",
"lastTransitionTime": "2024-05-27T07:44:37Z"
},
{
"type": "ControlPlaneReady",
"status": "True",
"lastTransitionTime": "2024-05-27T07:44:37Z"
},
{
"type": "InfrastructureReady",
"status": "True",
"lastTransitionTime": "2024-05-27T07:41:26Z"
}
],
"controlplaneNodesCount": 1,
"controlplaneHealthyNodesCount": 3,
"workersGroups": [
{
"groupName": "shturval-new-cluster-default",
"workersScale": null,
"workersCount": 3
},
{
"groupName": "shturval-new-cluster-infra",
"workersScale": null,
"workersCount": 0
}
],
"UpdateReady": true
}
],
"count": 1
}
Создание кластера с провайдером vSphere
Пример команды создания клиентского кластера с перечнем включаемых сервисов и самоподписным сертификатом
export CLUSTERNAME="capvs-new-cluster"
export PROVIDERTEMPLATENAME="capvs-template-name"
curl -k -s -L --request POST $BACKENDPOINT/api/v1/platform/providers/clusters/capvs
--header "Authorization: Bearer $token"
--data @<(cat <<EOF
{
"cluster": {
"apiEndpoint": "10.20.30.40",
"clusterName": "$CLUSTERNAME",
"controlPlaneNodesCount": 1,
"disabledServices": [],
"enabledServices": ["shturval-cert-manager-crds","shturval-vip-provider","shturval-update-crds","shturval-monitoring-crds","shturval-local-csi","shturval-policy-manager-crds","shturval-vip","shturval-node-config-crds","shturval-services","shturval-services-crds","shturval-caching-dns","shturval-cert-manager","shturval-update","shturval-networking","shturval-node-config"],
"externalKubeAPILB": false,
"externalingresslb": false,
"ingress": "",
"ingressvip": "10.20.30.42",
"podSubnet": "172.16.0.0/16",
"secure": false,
"serviceSubnet": "10.96.0.0/12",
"shturvalVersion": "2.12.0",
"mgmtCluster": false
},
"provider": {
"controlplaneNodeConfig": {
"capvsNodeConfig": {
"diskGiB": 60,
"memoryMiB": 1200,
"numCPUs": 4
},
"nodeConfig": {
"groupName": "control-plane",
"roles": [
{
"name": "node-role.kubernetes.io/control-plane"
}
]
}
},
"enableCSI": false,
"identityName": "$PROVIDERTEMPLATENAME",
"workerNodeConfigs": [
{
"capvsNodeConfig": {
"diskGiB": 60,
"memoryMiB": 1200,
"numCPUs": 4
},
"nodeConfig": {
"groupName": "default",
"roles": [
{
"name": "node-role.kubernetes.io/workers"
}
]
},
"workersCount": 3
},
{
"capvsNodeConfig": {
"diskGiB": 60,
"memoryMiB": 1200,
"numCPUs": 4
},
"nodeConfig": {
"groupName": "infra",
"roles": [
{
"name": "node-role.kubernetes.io/infra"
}
]
},
"workersCount": 3
}
]
}
}
EOF
) | jq -r
Пример команды создания клиентского кластера только с критическими сервисами
export CLUSTERNAME="capvs-new-cluster"
export PROVIDERTEMPLATENAME="capvs-template-name"
curl -k -s -L --request POST $BACKENDPOINT/api/v1/platform/providers/clusters/capvs
--header "Authorization: Bearer $token"
--data @<(cat <<EOF
{
"cluster": {
"apiEndpoint": "10.20.30.40",
"clusterName": "$CLUSTERNAME",
"controlPlaneNodesCount": 1,
"disabledServices": ["all"],
"externalKubeAPILB": false,
"externalingresslb": false,
"ingress": "",
"ingressvip": "10.20.30.42",
"podSubnet": "172.16.0.0/16",
"secure": false,
"serviceSubnet": "10.96.0.0/12",
"shturvalVersion": "2.12.0",
"mgmtCluster": false
},
"provider": {
"enableCSI": false,
"identityName": "$PROVIDERTEMPLATENAME",
"controlplaneNodeConfig": {
"capvsNodeConfig": {
"diskGiB": 60,
"memoryMiB": 1200,
"numCPUs": 4
},
"nodeConfig": {
"groupName": "control-plane",
"roles": [
{
"name": "node-role.kubernetes.io/control-plane"
}
]
}
},
"workerNodeConfigs": [
{
"capvsNodeConfig": {
"diskGiB": 60,
"memoryMiB": 1200,
"numCPUs": 4
},
"nodeConfig": {
"groupName": "default",
"roles": [
{
"name": "node-role.kubernetes.io/workers"
}
]
},
"workersCount": 3
},
{
"capvsNodeConfig": {
"diskGiB": 60,
"memoryMiB": 1200,
"numCPUs": 4
},
"nodeConfig": {
"groupName": "infra",
"roles": [
{
"name": "node-role.kubernetes.io/infra"
}
]
},
"workersCount": 0
}
]
}
}
EOF
) | jq -r
Пример ответа в формате json при успешном создании кластера с провайдером vSphere
{
"cluster": {
"clusterName": "capvs-new-cluster",
"clusterConfigProfileName": "",
"apiEndpoint": "10.20.30.40",
"ingress": "",
"ingressvip": "10.20.30.42",
"externalingresslb": false,
"secure": false,
"externalKubeAPILB": false,
"controlPlaneNodesCount": 1,
"podSubnet": "172.16.0.0/16",
"serviceSubnet": "10.96.0.0/12",
"shturvalVersion": "2.12.0",
"enabledServices": [ "shturval-snapshotter-crds", "shturval-vip", "shturval-caching-dns", "shturval-ingress-controller", "shturval-monitoring-crds", "shturval-policy-manager-crds", "shturval-cert-manager", "shturval-services-crds", "shturval-cert-manager-crds", "shturval-update-crds", "shturval-node-config-crds", "shturval-trust-manager", "shturval-networking", "shturval-node-config", "shturval-services", "shturval-vip-provider", "shturval-update", "shturval-local-csi", "shturval-snapshotter", "shturval-metrics-collector-crds", "shturval-trust-manager-crds"
],
"disabledServices": [ "shturval-rollouts", "shturval-backup-crds", "shturval-cd-crds", "shturval-rollouts-crds", "shturval-cert-expiration", "shturval-scanner-crds", "shturval-scanner", "shturval-descheduler", "shturval-policy-manager", "shturval-metrics-collector", "shturval-cd", "shturval-log-collector", "shturval-log-collector-crds", "shturval-backup"
],
"ingressCert": "",
"ingressKey": "",
"cacert": "",
"cakey": "",
"acmeRootCert": "",
"acmeEmail": "",
"ACMEURL": "",
"mgmtCluster": false
},
"provider": {
"identityName": "capvs-template-name",
"enableCSI": false,
"controlplaneNodeConfig": {
"nodeConfig": {
"groupName": "control-plane",
"roles": [
{
"name": "node-role.kubernetes.io/control-plane"
}
]
},
"capvsNodeConfig": {
"numCPUs": 4,
"memoryMiB": 1200,
"diskGiB": 60
}
},
"workerNodeConfigs": [
{
"nodeConfig": {
"groupName": "default",
"roles": [
{
"name": "node-role.kubernetes.io/workers"
}
]
},
"capvsNodeConfig": {
"numCPUs": 4,
"memoryMiB": 1200,
"diskGiB": 60
},
"workersScale": null,
"workersCount": 0
},
{
"nodeConfig": {
"groupName": "infra",
"roles": [
{
"name": "node-role.kubernetes.io/infra"
}
]
},
"capvsNodeConfig": {
"numCPUs": 4,
"memoryMiB": 1200,
"diskGiB": 60
},
"workersScale": null,
"workersCount": 0
}
]
},
"CreatedByUser": "username"
}
Создание кластера с провайдером oVirt
Пример команды создания клиентского кластера с перечнем включаемых сервисов и ACME сертификатом
export CLUSTERNAME="capov-new-cluster"
export PROVIDERTEMPLATENAME="capov-template-name"
curl -k -s -L --request POST $BACKENDPOINT/api/v1/platform/providers/clusters/capov
--header "Authorization: Bearer $token"
--data @<(cat <<EOF
{
"cluster": {
"apiEndpoint": "10.20.30.40",
"clusterName": "$CLUSTERNAME",
"controlPlaneNodesCount": 1,
"disabledServices": [],
"enabledServices": ["shturval-cert-manager-crds","shturval-vip-provider","shturval-update-crds","shturval-monitoring-crds","shturval-local-csi","shturval-policy-manager-crds","shturval-vip","shturval-node-config-crds","shturval-services","shturval-services-crds","shturval-caching-dns","shturval-cert-manager","shturval-update","shturval-networking","shturval-node-config"
],
"externalKubeAPILB": false,
"externalingresslb": false,
"ingress": "",
"ingressvip": "10.20.30.42",
"podSubnet": "172.16.0.0/16",
"secure": false,
"serviceSubnet": "10.96.0.0/12",
"shturvalVersion": "2.12.0",
"acmeRootCert": "acmeRootCert",
"ACMEURL": "https://issuer.ip-xx-xx-xx-xx.shturval.link:9443/acme/acme/directory",
"mgmtCluster": false
},
"provider": {
"controlplaneNodeConfig": {
"capvsNodeConfig": {
"cpu": {
"cores": 4,
"sockets": 1,
"threads": 1
},
"memory": {
"sizeMB": 1200
},
"osDiskSizeGB": 60
},
"nodeConfig": {
"groupName": "control-plane",
"roles": [
{
"name": "node-role.kubernetes.io/control-plane"
}
]
}
},
"enableCSI": false,
"providerName": "$PROVIDERTEMPLATENAME",
"workerNodeConfigs": [
{
"capovNodeConfig": {
"cpu": {
"cores": 4,
"sockets": 1,
"threads": 1
},
"memory": {
"sizeMB": 1200
},
"osDiskSizeGB": 60
},
"nodeConfig": {
"groupName": "default",
"roles": [
{
"name": "node-role.kubernetes.io/workers"
}
]
},
"workersCount": 3
},
{
"capovNodeConfig": {
"cpu": {
"cores": 4,
"sockets": 1,
"threads": 1
},
"memory": {
"sizeMB": 1200
},
"osDiskSizeGB": 60
},
"nodeConfig": {
"groupName": "infra",
"roles": [
{
"name": "node-role.kubernetes.io/infra"
}
]
},
"workersCount": 3
}
]
}
}
EOF
) | jq -r
Пример команды создания клиентского кластера только с критическими сервисами
export CLUSTERNAME="capov-new-cluster"
export PROVIDERTEMPLATENAME="capov-template-name"
curl -k -s -L --request POST $BACKENDPOINT/api/v1/platform/providers/clusters/capov
--header "Authorization: Bearer $token"
--data @<(cat <<EOF
{
"cluster": {
"apiEndpoint": "10.20.30.40",
"clusterName": "$CLUSTERNAME",
"controlPlaneNodesCount": 1,
"disabledServices": ["all"],
"externalKubeAPILB": false,
"externalingresslb": false,
"ingress": "",
"ingressvip": "10.20.30.42",
"podSubnet": "172.16.0.0/16",
"secure": false,
"serviceSubnet": "10.96.0.0/12",
"shturvalVersion": "2.12.0",
"mgmtCluster": false
},
"provider": {
"controlplaneNodeConfig": {
"capvsNodeConfig": {
"cpu": {
"cores": 4,
"sockets": 1,
"threads": 1
},
"memory": {
"sizeMB": 1200
},
"osDiskSizeGB": 60
},
"nodeConfig": {
"groupName": "control-plane",
"roles": [
{
"name": "node-role.kubernetes.io/control-plane"
}
]
}
},
"enableCSI": false,
"providerName": "$PROVIDERTEMPLATENAME",
"workerNodeConfigs": [
{
"capovNodeConfig": {
"cpu": {
"cores": 4,
"sockets": 1,
"threads": 1
},
"memory": {
"sizeMB": 1200
},
"osDiskSizeGB": 60
},
"nodeConfig": {
"groupName": "default",
"roles": [
{
"name": "node-role.kubernetes.io/workers"
}
]
},
"workersCount": 3
},
{
"capovNodeConfig": {
"cpu": {
"cores": 4,
"sockets": 1,
"threads": 1
},
"memory": {
"sizeMB": 1200
},
"osDiskSizeGB": 60
},
"nodeConfig": {
"groupName": "infra",
"roles": [
{
"name": "node-role.kubernetes.io/infra"
}
]
},
"workersCount": 3
}
]
}
}
EOF
) | jq -r
Пример ответа в формате json при успешном создании кластера с провайдером oVirt
{
"cluster": {
"clusterName": "capov-new-cluster",
"clusterConfigProfileName": "",
"apiEndpoint": "10.20.30.40",
"ingress": "",
"ingressvip": "10.20.30.42",
"externalingresslb": false,
"secure": false,
"externalKubeAPILB": false,
"controlPlaneNodesCount": 1,
"podSubnet": "172.16.0.0/16",
"serviceSubnet": "10.96.0.0/12",
"shturvalVersion": "2.12.0",
"enabledServices": [ "shturval-snapshotter-crds", "shturval-vip", "shturval-caching-dns", "shturval-ingress-controller", "shturval-monitoring-crds", "shturval-policy-manager-crds", "shturval-cert-manager", "shturval-services-crds", "shturval-cert-manager-crds", "shturval-update-crds", "shturval-node-config-crds", "shturval-trust-manager", "shturval-networking", "shturval-node-config", "shturval-services", "shturval-vip-provider", "shturval-update", "shturval-local-csi", "shturval-snapshotter", "shturval-metrics-collector-crds", "shturval-trust-manager-crds"
],
"disabledServices": [ "shturval-rollouts", "shturval-backup-crds", "shturval-cd-crds", "shturval-rollouts-crds", "shturval-cert-expiration", "shturval-scanner-crds", "shturval-scanner", "shturval-descheduler", "shturval-policy-manager", "shturval-metrics-collector", "shturval-cd", "shturval-log-collector", "shturval-log-collector-crds", "shturval-backup"
],
"ingressCert": "",
"ingressKey": "",
"cacert": "",
"cakey": "",
"acmeRootCert": "",
"acmeEmail": "",
"ACMEURL": "",
"mgmtCluster": false
},
"provider": {
"providerName": "capov-template-name",
"controlplaneNodeConfig": {
"nodeConfig": {
"groupName": "control-plane",
"roles": [
{
"name": "node-role.kubernetes.io/control-plane"
}
]
},
"capovNodeConfig": {
"cpu": {
"cores": 4,
"sockets": 1,
"threads": 1
},
"memory": {
"sizeMB": 1200,
"guaranteedMB": 0
},
"osDiskSizeGB": 60
}
},
"enableCSI": false,
"workerNodeConfigs": [
{
"nodeConfig": {
"groupName": "default",
"roles": [
{
"name": "node-role.kubernetes.io/workers"
}
]
},
"capovNodeConfig": {
"cpu": {
"cores": 4,
"sockets": 1,
"threads": 1
},
"memory": {
"sizeMB": 1200,
"guaranteedMB": 0
},
"osDiskSizeGB": 60
},
"workersScale": null,
"workersCount": 1
},
{
"nodeConfig": {
"groupName": "infra",
"roles": [
{
"name": "node-role.kubernetes.io/infra"
}
]
},
"capovNodeConfig": {
"cpu": {
"cores": 4,
"sockets": 1,
"threads": 1
},
"memory": {
"sizeMB": 1200,
"guaranteedMB": 0
},
"osDiskSizeGB": 60
},
"workersScale": null,
"workersCount": 1
}
]
},
"CreatedByUser": "username"
}
Создание кластера с провайдером Shturval v2
Пример команды создания клиентского кластера с перечнем включаемых сервисов и ACME сертификатом
export CLUSTERNAME="capsmv2-new-cluster"
export PROVIDERTEMPLATENAME="capsmv2-template-name"
curl -s -L --request POST $BACKENDPOINT/api/v1/platform/providers/clusters/capsmv2
--header "Authorization: Bearer $token"
--data @<(cat <<EOF
{
"cluster": {
"apiEndpoint": "10.20.30.40",
"clusterName": "$CLUSTERNAME",
"disabledServices": [],
"enabledServices": ["shturval-local-csi","shturval-services","shturval-update","shturval-vip","shturval-monitoring-crds","shturval-caching-dns","shturval-node-config","shturval-services-crds","shturval-cert-manager-crds","shturval-cert-manager","shturval-node-config-crds","shturval-policy-manager-crds","shturval-networking","shturval-vip-provider","shturval-update-crds"
],
"externalKubeAPILB": false,
"externalingresslb": false,
"ingress": "",
"controlPlaneNodesCount": 1,
"ingressvip": "10.20.30.42",
"podSubnet": "172.16.0.0/16",
"secure": false,
"serviceSubnet": "10.96.0.0/12",
"shturvalVersion": "2.12.0",
"acmeRootCert": "acmeRootCert",
"ACMEURL": "https://issuer.ip-xx-xx-xx-xx.shturval.link:9443/acme/directory",
"mgmtCluster": false
},
"provider": {
"controlPlaneNodeConfig": {
"controlPlaneSelector": {
"matchExpressions": [],
"matchLabels": {
"role": "controlplane"
}
},
"nodeConfig": {
"groupName": "control-plane",
"roles": [
{
"name": "node-role.kubernetes.io/control-plane"
}
]
}
},
"name": "$PROVIDERTEMPLATENAME",
"workerNodeConfigs": [
{
"nodeConfig": {
"groupName": "default",
"roles": [
{
"name": "node-role.kubernetes.io/workers"
}
]
},
"workersCount": 3,
"workerSelector": {
"matchExpressions": [],
"matchLabels": {
"role": "workers"
}
}
},
{
"nodeConfig": {
"groupName": "infra",
"roles": [
{
"name": "node-role.kubernetes.io/infra"
}
]
},
"workersCount": 0,
"workerSelector": {
"matchExpressions": [],
"matchLabels": {
"role": "infra"
}
}
}
]
}
}
EOF
) | jq -r
Пример команды создания клиентского кластера только с критическими сервисами
export CLUSTERNAME="capsmv2-new-cluster"
export PROVIDERTEMPLATENAME="capsmv2-template-name"
curl -s -L --request POST $BACKENDPOINT/api/v1/platform/providers/clusters/capsmv2
--header "Authorization: Bearer $token"
--data @<(cat <<EOF
{
"cluster": {
"apiEndpoint": "10.20.30.40",
"clusterName": "$CLUSTERNAME",
"disabledServices": ["all"],
"externalKubeAPILB": false,
"externalingresslb": false,
"ingress": "",
"controlPlaneNodesCount": 1,
"ingressvip": "10.20.30.42",
"podSubnet": "172.16.0.0/16",
"secure": false,
"serviceSubnet": "10.96.0.0/12",
"shturvalVersion": "2.12.0",
"mgmtCluster": false
},
"provider": {
"controlPlaneNodeConfig": {
"controlPlaneSelector": {
"matchExpressions": [],
"matchLabels": {
"role": "controlplane"
}
},
"nodeConfig": {
"groupName": "control-plane",
"roles": [
{
"name": "node-role.kubernetes.io/control-plane"
}
]
}
},
"name": "$PROVIDERTEMPLATENAME",
"workerNodeConfigs": [
{
"nodeConfig": {
"groupName": "default",
"roles": [
{
"name": "node-role.kubernetes.io/workers"
}
]
},
"workersCount": 3,
"workerSelector": {
"matchExpressions": [],
"matchLabels": {
"role": "workers"
}
}
},
{
"nodeConfig": {
"groupName": "infra",
"roles": [
{
"name": "node-role.kubernetes.io/infra"
}
]
},
"workersCount": 0,
"workerSelector": {
"matchExpressions": [],
"matchLabels": {
"role": "infra"
}
}
}
]
}
}
EOF
) | jq -r
Пример ответа в формате json при успешном создании кластера с провайдером Shturval v2
{
"cluster": {
"clusterName": "capsmv2-new-cluster",
"clusterConfigProfileName": "",
"apiEndpoint": "10.20.30.40",
"ingress": "",
"ingressvip": "10.20.30.42",
"externalingresslb": false,
"secure": false,
"externalKubeAPILB": false,
"controlPlaneNodesCount": 1,
"podSubnet": "172.16.0.0/16",
"serviceSubnet": "10.96.0.0/12",
"shturvalVersion": "2.12.0",
"enabledServices": [ "shturval-snapshotter-crds", "shturval-vip", "shturval-caching-dns", "shturval-ingress-controller", "shturval-monitoring-crds", "shturval-policy-manager-crds", "shturval-cert-manager", "shturval-services-crds", "shturval-cert-manager-crds", "shturval-update-crds", "shturval-node-config-crds", "shturval-trust-manager", "shturval-networking", "shturval-node-config", "shturval-services", "shturval-vip-provider", "shturval-update", "shturval-local-csi", "shturval-snapshotter", "shturval-metrics-collector-crds", "shturval-trust-manager-crds"
],
"disabledServices": [ "shturval-rollouts", "shturval-backup-crds", "shturval-cd-crds", "shturval-rollouts-crds", "shturval-cert-expiration", "shturval-scanner-crds", "shturval-scanner", "shturval-descheduler", "shturval-policy-manager", "shturval-metrics-collector", "shturval-cd", "shturval-log-collector", "shturval-log-collector-crds", "shturval-backup"
],
"ingressCert": "",
"ingressKey": "",
"cacert": "",
"cakey": "",
"acmeRootCert": "",
"acmeEmail": "",
"ACMEURL": "",
"mgmtCluster": false
},
"provider": {
"name": "capsmv2-template-cluster",
"controlPlaneNodeConfig": {
"nodeConfig": {
"groupName": "control-plane",
"roles": [
{
"name": "node-role.kubernetes.io/control-plane"
}
]
},
"controlPlaneSelector": {
"matchLabels": {
"role": "controlplane"
}
}
},
"workerNodeConfigs": [
{
"nodeConfig": {
"groupName": "default",
"roles": [
{
"name": "node-role.kubernetes.io/workers"
}
]
},
"workersCount": 3,
"workersScale": null,
"workerSelector": {
"matchLabels": {
"role": "workers"
}
}
},
{
"nodeConfig": {
"groupName": "infra",
"roles": [
{
"name": "node-role.kubernetes.io/infra"
}
]
},
"workersCount": 0,
"workersScale": null,
"workerSelector": {
"matchLabels": {
"role": "infra"
}
}
}
]
},
"createdByUser": "username"
}
Создание кластера с провайдером OpenStack
Пример команды создания клиентского кластера с перечнем включаемых сервисов и промежуточным сертификатом
export CLUSTERNAME="capos-new-cluster"
export PROVIDERTEMPLATENAME="capos-template-name"
curl -k -s -L --request POST $BACKENDPOINT/api/v1/platform/providers/clusters/capos
--header "Authorization: Bearer $token"
--data @<(cat <<EOF
{
"cluster": {
"clusterName": "$CLUSTERNAME",
"disabledServices": [],
"enabledServices": [ "shturval-monitoring-crds","shturval-vip","shturval-services-crds","shturval-caching-dns","shturval-cert-manager","shturval-update-crds","shturval-services","shturval-update","shturval-networking","shturval-node-config-crds","shturval-node-config","shturval-cert-manager-crds","shturval-vip-provider","shturval-local-csi","shturval-policy-manager-crds"
],
"externalKubeAPILB": true,
"externalingresslb": true,
"ingress": "",
"controlPlaneNodesCount": 1,
"ingressvip": "",
"podSubnet": "172.16.0.0/16",
"secure": false,
"serviceSubnet": "10.96.0.0/12",
"shturvalVersion": "2.12.0",
"cacert": "cacert",
"cakey": "cakey",
"mgmtCluster": false
},
"provider": {
"controlplaneNodeConfig": {
"caposNodeConfig": {
"openstackFlavorName": "STD3-4-8",
"volumeType": "ceph-hdd",
"volumeSize": 60,
"availabilityZone": "ME1"
},
"nodeConfig": {
"groupName": "control-plane",
"roles": [
{
"name": "node-role.kubernetes.io/control-plane"
}
]
}
},
"providerName": "$PROVIDERTEMPLATENAME",
"enableCSI": false,
"workerNodeConfigs": [
{
"nodeConfig": {
"groupName": "default",
"roles": [
{
"name": "node-role.kubernetes.io/workers"
}
]
},
"workersCount": 3,
"caposNodeConfig": {
"openstackFlavorName": "$OPENSTACKFLAVORNAME",
"volumeSize": 60,
"volumeType": "ceph-hdd",
"availabilityZone": "ME1"
}
},
{
"nodeConfig": {
"groupName": "infra",
"roles": [
{
"name": "node-role.kubernetes.io/infra"
}
]
},
"workersCount": 0,
"caposNodeConfig": {
"openstackFlavorName": "$OPENSTACKFLAVORNAME",
"volumeSize": 60,
"volumeType": "ceph-hdd",
"availabilityZone": "ME1"
}
}
]
}
}
EOF
) | jq -r
Пример команды создания клиентского кластера только с критическими сервисами
export CLUSTERNAME="capos-new-cluster"
export PROVIDERTEMPLATENAME="capos-template-name"
curl -k -s -L --request POST $BACKENDPOINT/api/v1/platform/providers/clusters/capos
--header "Authorization: Bearer $token"
--data @<(cat <<EOF
{
"cluster": {
"clusterName": "$CLUSTERNAME",
"disabledServices": ["all"],
"externalKubeAPILB": true,
"externalingresslb": true,
"ingress": "",
"controlPlaneNodesCount": 1,
"ingressvip": "",
"podSubnet": "172.16.0.0/16",
"secure": false,
"serviceSubnet": "10.96.0.0/12",
"shturvalVersion": "2.12.0",
"mgmtCluster": false
},
"provider": {
"controlplaneNodeConfig": {
"caposNodeConfig": {
"openstackFlavorName": "STD3-4-8",
"volumeType": "ceph-hdd",
"volumeSize": 60,
"availabilityZone": "ME1"
},
"nodeConfig": {
"groupName": "control-plane",
"roles": [
{
"name": "node-role.kubernetes.io/control-plane"
}
]
}
},
"providerName": "$PROVIDERTEMPLATENAME",
"enableCSI": false,
"workerNodeConfigs": [
{
"nodeConfig": {
"groupName": "default",
"roles": [
{
"name": "node-role.kubernetes.io/workers"
}
]
},
"workersCount": 3,
"caposNodeConfig": {
"openstackFlavorName": "$OPENSTACKFLAVORNAME",
"volumeSize": 60,
"volumeType": "ceph-hdd",
"availabilityZone": "ME1"
}
},
{
"nodeConfig": {
"groupName": "infra",
"roles": [
{
"name": "node-role.kubernetes.io/infra"
}
]
},
"workersCount": 0,
"caposNodeConfig": {
"openstackFlavorName": "$OPENSTACKFLAVORNAME",
"volumeSize": 60,
"volumeType": "ceph-hdd",
"availabilityZone": "ME1"
}
}
]
}
}
EOF
) | jq -r
Пример ответа в формате json при успешном создании кластера с провайдером OpenStack
{
"cluster": {
"clusterName": "capos-new-cluster",
"clusterConfigProfileName": "",
"apiEndpoint": "",
"ingress": "",
"ingressvip": "",
"externalingresslb": true,
"secure": false,
"externalKubeAPILB": true,
"controlPlaneNodesCount": 1,
"podSubnet": "172.16.0.0/16",
"serviceSubnet": "10.96.0.0/12",
"shturvalVersion": "2.12.0",
"enabledServices": [ "shturval-snapshotter-crds", "shturval-vip", "shturval-caching-dns", "shturval-ingress-controller", "shturval-monitoring-crds", "shturval-policy-manager-crds", "shturval-cert-manager", "shturval-services-crds", "shturval-cert-manager-crds", "shturval-update-crds", "shturval-node-config-crds", "shturval-trust-manager", "shturval-networking", "shturval-node-config", "shturval-services", "shturval-vip-provider", "shturval-update", "shturval-local-csi", "shturval-snapshotter", "shturval-metrics-collector-crds", "shturval-trust-manager-crds"
],
"disabledServices": [ "shturval-rollouts", "shturval-backup-crds", "shturval-cd-crds", "shturval-rollouts-crds", "shturval-cert-expiration", "shturval-scanner-crds", "shturval-scanner", "shturval-descheduler", "shturval-policy-manager", "shturval-metrics-collector", "shturval-cd", "shturval-log-collector", "shturval-log-collector-crds", "shturval-backup"
],
"ingressCert": "",
"ingressKey": "",
"cacert": "cacert",
"cakey": "cakey",
"acmeRootCert": "",
"acmeEmail": "",
"ACMEURL": "",
"mgmtCluster": false
},
"provider": {
"providerName": "capos-template-name",
"controlplaneNodeConfig": {
"nodeConfig": {
"groupName": "control-plane",
"roles": [
{
"name": "node-role.kubernetes.io/control-plane"
}
]
},
"caposNodeConfig": {
"openstackFlavorName": "STD3-4-8",
"volumeSize": 60,
"volumeType": "ceph-hdd",
"availabilityZone": "ME1"
}
},
"workerNodeConfigs": [
{
"nodeConfig": {
"groupName": "default",
"roles": [
{
"name": "node-role.kubernetes.io/workers"
}
]
},
"workersCount": 3,
"workersScale": null,
"caposNodeConfig": {
"openstackFlavorName": "STD2-4-8",
"volumeSize": 60,
"volumeType": "ceph-hdd",
"availabilityZone": "ME1"
}
},
{
"nodeConfig": {
"groupName": "infra",
"roles": [
{
"name": "node-role.kubernetes.io/infra"
}
]
},
"workersCount": 0,
"workersScale": null,
"caposNodeConfig": {
"openstackFlavorName": "STD2-8-8",
"volumeSize": 60,
"volumeType": "ceph-ssd",
"availabilityZone": "ME1"
}
}
],
"enableCSI": false
},
"CreatedByUser": "username"
}
Создание кластера с провайдером Basis Dynamix
Пример команды создания клиентского кластера с перечнем включаемых сервисов и самоподписным сертификатом
export CLUSTERNAME="capbd-new-cluster"
export PROVIDERTEMPLATENAME="capbd-template-name"
export NETTYPE="net-type"
export NETWORKNAME="networkname"
curl -k -s -L --request POST $BACKENDPOINT/api/v1/platform/providers/clusters/capbd
--header "Authorization: Bearer $token"
--data @<(cat <<EOF
{
"cluster": {
"apiEndpoint": "10.20.30.40",
"clusterName": "$CLUSTERNAME",
"disabledServices": [],
"enabledServices": ["shturval-node-config-crds","shturval-backup","shturval-services-crds","shturval-services","shturval-rollouts-crds","shturval-descheduler","shturval-vip-provider","shturval-ingress-controller","shturval-policy-manager-crds","shturval-networking","shturval-metrics-collector","shturval-monitoring-crds","shturval-scanner","shturval-caching-dns","shturval-vip","shturval-node-config","shturval-cert-expiration","shturval-update-crds","shturval-backup-crds","shturval-cd-crds","shturval-cert-manager-crds","shturval-cert-manager","shturval-local-csi","shturval-update","shturval-scanner-crds","shturval-policy-manager"
],
"externalKubeAPILB": false,
"externalingresslb": true,
"ingress": "",
"controlPlaneNodesCount": 1,
"ingressvip": "10.20.30.41",
"podSubnet": "172.16.0.0/16",
"secure": false,
"serviceSubnet": "10.96.0.0/12",
"shturvalVersion": "2.12.0",
"mgmtCluster": false
},
"provider": {
"controlplaneNodeConfig": {
"capbdNodeConfig": {
"cpu": 4,
"memory": 12000,
"networkInterfaces": [{
"netType": "$NETTYPE",
"networkName": "$NETWORKNAME"
}],
"osDiskSizeGB": 60
},
"nodeConfig": {
"groupName": "control-plane",
"roles": [
{
"name": "node-role.kubernetes.io/control-plane"
}
]
}
},
"providerName": "$PROVIDERTEMPLATENAME",
"workerNodeConfigs": [
{
"nodeConfig": {
"groupName": "default",
"roles": [
{
"name": "node-role.kubernetes.io/workers"
}
]
},
"workersCount": 3,
"capbdNodeConfig": {
"cpu": 4,
"memory": 12000,
"osDiskSizeGB": 60
}
},
{
"nodeConfig": {
"groupName": "infra",
"roles": [
{
"name": "node-role.kubernetes.io/infra"
}
]
},
"workersCount": 3,
"capbdNodeConfig": {
"cpu": 4,
"memory": 12000,
"osDiskSizeGB": 60
}
}
]
}
}
EOF
) | jq -r
Пример команды создания клиентского кластера только с критическими сервисами
export CLUSTERNAME="capbd-new-cluster"
export PROVIDERTEMPLATENAME="capbd-template-name"
export NETTYPE="net-type"
export NETWORKNAME="networkname"
curl -k -s -L --request POST $BACKENDPOINT/api/v1/platform/providers/clusters/capbd
--header "Authorization: Bearer $token"
--data @<(cat <<EOF
{
"cluster": {
"apiEndpoint": "10.20.30.40",
"clusterName": "$CLUSTERNAME",
"disabledServices": ["all"],
"externalKubeAPILB": false,
"externalingresslb": true,
"ingress": "",
"controlPlaneNodesCount": 1,
"ingressvip": "10.20.30.41",
"podSubnet": "172.16.0.0/16",
"secure": false,
"serviceSubnet": "10.96.0.0/12",
"shturvalVersion": "2.12.0",
"mgmtCluster": false
},
"provider": {
"controlplaneNodeConfig": {
"capbdNodeConfig": {
"cpu": 4,
"memory": 12000,
"networkInterfaces": [{
"netType": "$NETTYPE",
"networkName": "$NETWORKNAME"
}],
"osDiskSizeGB": 60
},
"nodeConfig": {
"groupName": "control-plane",
"roles": [
{
"name": "node-role.kubernetes.io/control-plane"
}
]
}
},
"providerName": "$PROVIDERTEMPLATENAME",
"workerNodeConfigs": [
{
"nodeConfig": {
"groupName": "default",
"roles": [
{
"name": "node-role.kubernetes.io/workers"
}
]
},
"workersCount": 3,
"capbdNodeConfig": {
"cpu": 4,
"memory": 12000,
"osDiskSizeGB": 60
}
},
{
"nodeConfig": {
"groupName": "infra",
"roles": [
{
"name": "node-role.kubernetes.io/infra"
}
]
},
"workersCount": 3,
"capbdNodeConfig": {
"cpu": 4,
"memory": 12000,
"osDiskSizeGB": 60
}
}
]
}
}
EOF
) | jq -r
Пример ответа в формате json при успешном создании кластера с провайдером Basis Dynamix
{
"id": "capbd-new-cluster",
"clusterName": "capbd-new-cluster",
"annotations": null,
"providerType": "capbd",
"providerConfigID": "capbd-template-name",
"apiEndpoint": "10.20.30.40",
"networks": [
{
"type": "PodSubnet",
"network": "172.16.0.0/16",
"netmask": ""
},
{
"type": "ServiceSubnet",
"network": "10.96.0.0/12",
"netmask": ""
}
],
"ingress": "*.capbd-new-cluster.ip-10-20-30-41.shturval.link",
"secure": false,
"phase": "Pending",
"conditions": null,
"workersGroups": null
}
Создание кластера с провайдером Yandex Cloud
Пример команды создания клиентского кластера с перечнем включаемых сервисов
export CLUSTERNAME="capyc-new-cluster"
export PROVIDERTEMPLATENAME="capyc-template-name"
curl -k -s -L --request POST $BACKENDPOINT/api/v1/platform/providers/clusters/capyc
--header "Authorization: Bearer $token"
--data @<(cat <<EOF
{
"cluster": {
"clusterName": "$CLUSTERNAME",
"disabledServices": [],
"enabledServices": ["shturval-cert-manager-crds","shturval-vip-provider","shturval-update-crds","shturval-monitoring-crds","shturval-local-csi","shturval-policy-manager-crds","shturval-vip","shturval-node-config-crds","shturval-services","shturval-services-crds","shturval-caching-dns","shturval-cert-manager","shturval-update","shturval-networking","shturval-node-config"],
"externalKubeAPILB": true,
"externalingresslb": true,
"ingress": "cluster.shturval.link",
"controlPlaneNodesCount": 1,
"ingressvip": "",
"podSubnet": "172.16.0.0/16",
"secure": false,
"serviceSubnet": "10.96.0.0/12",
"shturvalVersion": "2.12.0",
"ingressCert": "",
"ingressKey": "",
"cacert": "",
"cakey": "",
"acmeRootCert": "",
"acmeEmail": "",
"ACMEURL": "",
"mgmtCluster": false
},
"provider": {
"controlplaneNodeConfig": {
"capycNodeConfig": {
"cpuCores": 4,
"memorySize": "800Mi",
"platformID": "standard",
"volumeType": "network-ssd",
"volumeSize": "40Gi"
},
"nodeConfig": {
"groupName": "control-plane",
"roles": [
{
"name": "node-role.kubernetes.io/control-plane"
}
]
}
},
"providerName": "$PROVIDERTEMPLATENAME",
"workerNodeConfigs": [
{
"nodeConfig": {
"groupName": "default",
"roles": [
{
"name": "node-role.kubernetes.io/workers"
}
]
},
"workersCount": 1,
"capycNodeConfig": {
"platformID": "standard",
"volumeType": "network-ssd",
"volumeSize": "40Gi",
"memorySize": "800Mi",
"cpuCores": 4
}
},
{
"nodeConfig": {
"groupName": "infra",
"roles": [
{
"name": "node-role.kubernetes.io/infra"
}
]
},
"workersCount": 0,
"capycNodeConfig": {
"platformID": "standard",
"volumeType": "network-ssd",
"volumeSize": "40Gi",
"memorySize": "800Mi",
"cpuCores": 4
}
}
]
}
}
EOF
) | jq -r
Пример команды создания клиентского кластера только с критическими сервисами
export CLUSTERNAME="capyc-new-cluster"
export PROVIDERTEMPLATENAME="capyc-template-name"
curl -k -s -L --request POST $BACKENDPOINT/api/v1/platform/providers/clusters/capyc
--header "Authorization: Bearer $token"
--data @<(cat <<EOF
{
"cluster": {
"clusterName": "$CLUSTERNAME",
"disabledServices": ["all"],
"externalKubeAPILB": true,
"externalingresslb": true,
"ingress": "cluster.shturval.link",
"controlPlaneNodesCount": 1,
"ingressvip": "",
"podSubnet": "172.16.0.0/16",
"secure": false,
"serviceSubnet": "10.96.0.0/12",
"shturvalVersion": "2.12.0",
"cacert": "cacert",
"cakey": "cakey",
"mgmtCluster": false
},
"provider": {
"controlplaneNodeConfig": {
"capycNodeConfig": {
"cpuCores": 4,
"memorySize": "800Mi",
"platformID": "standard",
"volumeType": "network-ssd",
"volumeSize": "40Gi"
},
"nodeConfig": {
"groupName": "control-plane",
"roles": [
{
"name": "node-role.kubernetes.io/control-plane"
}
]
}
},
"providerName": "$PROVIDERTEMPLATENAME",
"workerNodeConfigs": [
{
"nodeConfig": {
"groupName": "default",
"roles": [
{
"name": "node-role.kubernetes.io/workers"
}
]
},
"workersCount": 1,
"capycNodeConfig": {
"platformID": "standard",
"volumeType": "network-ssd",
"volumeSize": "40Gi",
"memorySize": "800Mi",
"cpuCores": 4
}
},
{
"nodeConfig": {
"groupName": "infra",
"roles": [
{
"name": "node-role.kubernetes.io/infra"
}
]
},
"workersCount": 0,
"capycNodeConfig": {
"platformID": "standard",
"volumeType": "network-ssd",
"volumeSize": "40Gi",
"memorySize": "800Mi",
"cpuCores": 4
}
}
]
}
}
EOF
) | jq -r
Пример ответа в формате json при успешном создании кластера с провайдером Yandex Cloud
{
"cluster": {
"clusterName": "capyc-new-cluster",
"apiEndpoint": "",
"ingress": "*.cluster.shturval.link",
"ingressvip": "",
"externalingresslb": true,
"secure": false,
"externalKubeAPILB": true,
"controlPlaneNodesCount": 1,
"podSubnet": "172.16.0.0/16",
"serviceSubnet": "10.96.0.0/12",
"shturvalVersion": "2.12.0",
"disabledServices": [],
"enabledServices": ["shturval-cert-manager-crds","shturval-vip-provider","shturval-update-crds","shturval-monitoring-crds","shturval-local-csi","shturval-policy-manager-crds","shturval-vip","shturval-node-config-crds","shturval-services","shturval-services-crds","shturval-caching-dns","shturval-cert-manager","shturval-update","shturval-networking","shturval-node-config"],
"ingressCert": "",
"ingressKey": "",
"cacert": "",
"cakey": "",
"acmeRootCert": "",
"acmeEmail": "",
"ACMEURL": "",
"mgmtCluster": false
},
"provider": {
"providerName": "capyc-template-name",
"controlplaneNodeConfig": {
"nodeConfig": {
"groupName": "control-plane",
"roles": [
{
"name": "node-role.kubernetes.io/control-plane"
}
]
},
"capycNodeConfig": {
"platformID": "standard",
"cpuCores": 4,
"memorySize": "800Mi",
"volumeSize": "40Gi",
"volumeType": "network-ssd"
}
},
"workerNodeConfigs": [
{
"nodeConfig": {
"groupName": "default",
"roles": [
{
"name": "node-role.kubernetes.io/workers"
}
]
},
"workersCount": 1,
"workersScale": null,
"capycNodeConfig": {
"platformID": "standard",
"cpuCores": 4,
"memorySize": "800Mi",
"volumeSize": "40Gi",
"volumeType": "network-ssd"
}
},
{
"nodeConfig": {
"groupName": "infra",
"roles": [
{
"name": "node-role.kubernetes.io/infra"
}
]
},
"workersCount": 0,
"workersScale": null,
"capycNodeConfig": {
"platformID": "standard",
"cpuCores": 4,
"memorySize": "800Mi",
"volumeSize": "40Gi",
"volumeType": "network-ssd"
}
}
]
},
"CreatedByUser": "username"
}
Создание кластера с провайдером vCloud Director
Пример команды создания клиентского кластера с перечнем включаемых сервисов и самоподписным сертификатом
export CLUSTERNAME="capvcd-new-cluster"
export PROVIDERTEMPLATENAME="capvcd-template-name"
curl -k -s -L --request POST $BACKENDPOINT/api/v1/platform/providers/clusters/capcd
--header "Authorization: Bearer $token"
--data @<(cat <<EOF
{
"cluster": {
"apiEndpoint": "",
"clusterName": "$CLUSTERNAME",
"disabledServices": [],
"enabledServices": ["shturval-cert-manager-crds","shturval-vip-provider","shturval-update-crds","shturval-monitoring-crds","shturval-local-csi","shturval-policy-manager-crds","shturval-vip","shturval-node-config-crds","shturval-services","shturval-services-crds","shturval-caching-dns","shturval-cert-manager","shturval-update","shturval-networking","shturval-node-config"],
"externalKubeAPILB": true,
"externalingresslb": true,
"ingress": "cluster.shturval.link",
"controlPlaneNodesCount": 1,
"ingressvip": "",
"podSubnet": "172.16.0.0/16",
"secure": false,
"serviceSubnet": "10.96.0.0/12",
"shturvalVersion": "2.12.0",
"clusterConfigProfileName": "",
"mgmtCluster": false
},
"provider": {
"enableCSI": false,
"identityName": "$PROVIDERTEMPLATENAME",
"kubeAPIVIPSubnet": "",
"serviceVIPSubnet": "",
"controlplaneNodeConfig": {
"capcdNodeConfig": {
"diskSize": "50Gi",
"sizingPolicy": "TKG"
},
"nodeConfig": {
"groupName": "control-plane",
"roles": [
{
"name": "node-role.kubernetes.io/control-plane"
}
]
}
},
"workerNodeConfigs": [
{
"nodeConfig": {
"groupName": "default",
"roles": [
{
"name": "node-role.kubernetes.io/workers"
}
]
},
"workersCount": 2,
"capcdNodeConfig": {
"diskSize": "50Gi",
"sizingPolicy": "TKG"
}
},
{
"nodeConfig": {
"groupName": "infra",
"roles": [
{
"name": "node-role.kubernetes.io/infra"
}
]
},
"workersCount": 0,
"capcdNodeConfig": {
"diskSize": "50Gi",
"sizingPolicy": "TKG"
}
}
]
}
}
EOF
) | jq -r
Пример команды создания клиентского кластера только с критическими сервисами
export CLUSTERNAME="capvcd-new-cluster"
export PROVIDERTEMPLATENAME="capvcd-template-name"
curl -k -s -L --request POST $BACKENDPOINT/api/v1/platform/providers/clusters/capcd
--header "Authorization: Bearer $token"
--data @<(cat <<EOF
{
"cluster": {
"apiEndpoint": "",
"clusterName": "$CLUSTERNAME",
"disabledServices": ["all"],
"externalKubeAPILB": true,
"externalingresslb": true,
"ingress": "cluster.shturval.link",
"controlPlaneNodesCount": 1,
"ingressvip": "",
"podSubnet": "172.16.0.0/16",
"secure": false,
"serviceSubnet": "10.96.0.0/12",
"shturvalVersion": "2.12.0",
"clusterConfigProfileName": "",
"mgmtCluster": false
},
"provider": {
"enableCSI": false,
"identityName": "$PROVIDERTEMPLATENAME",
"kubeAPIVIPSubnet": "",
"serviceVIPSubnet": "",
"controlplaneNodeConfig": {
"capcdNodeConfig": {
"diskSize": "50Gi",
"sizingPolicy": "TKG"
},
"nodeConfig": {
"groupName": "control-plane",
"roles": [
{
"name": "node-role.kubernetes.io/control-plane"
}
]
}
},
"workerNodeConfigs": [
{
"nodeConfig": {
"groupName": "default",
"roles": [
{
"name": "node-role.kubernetes.io/workers"
}
]
},
"workersCount": 2,
"capcdNodeConfig": {
"diskSize": "50Gi",
"sizingPolicy": "TKG medium 4vCPU"
}
},
{
"nodeConfig": {
"groupName": "infra",
"roles": [
{
"name": "node-role.kubernetes.io/infra"
}
]
},
"workersCount": 0,
"capcdNodeConfig": {
"diskSize": "1Gi",
"sizingPolicy": "TKG"
}
}
]
}
}
EOF
) | jq -r
Пример ответа в формате json при успешном создании кластера с провайдером vCloud Director
{
"cluster": {
"clusterName": "capvcd-new-cluster",
"clusterConfigProfileName": "",
"apiEndpoint": "",
"ingress": "cluster.shturval.link",
"ingressvip": "",
"externalingresslb": true,
"secure": false,
"externalKubeAPILB": true,
"controlPlaneNodesCount": 1,
"podSubnet": "172.16.0.0/16",
"serviceSubnet": "10.96.0.0/12",
"shturvalVersion": "2.12.0",
"enabledServices": [
"shturval-services-crds",
"shturval-networking",
"shturval-node-config-crds",
"shturval-snapshotter",
"shturval-update-crds",
"shturval-monitoring-crds",
"shturval-update",
"shturval-snapshotter-crds",
"shturval-vip-provider",
"shturval-services",
"shturval-ingress-controller",
"shturval-node-config",
"shturval-metrics-collector-crds",
"shturval-vip",
"shturval-caching-dns",
"shturval-trust-manager",
"shturval-local-csi",
"shturval-cert-manager-crds",
"shturval-cert-manager",
"shturval-policy-manager-crds",
"shturval-trust-manager-crds"
],
"disabledServices": [
"shturval-cd",
"shturval-dashboards",
"shturval-cert-expiration",
"shturval-scanner-crds",
"shturval-descheduler",
"shturval-rollouts-crds",
"shturval-cd-crds",
"shturval-rollouts",
"shturval-scanner",
"shturval-backup",
"shturval-log-collector",
"shturval-metrics-collector",
"shturval-policy-manager",
"shturval-log-collector-crds",
"shturval-backup-crds"
],
"ingressCert": "",
"ingressKey": "",
"cacert": "",
"cakey": "",
"acmeRootCert": "",
"ACMEURL": "",
"mgmtCluster": false
},
"provider": {
"identityName": "capvcd-template-name",
"enableCSI": false,
"controlplaneNodeConfig": {
"nodeConfig": {
"groupName": "control-plane",
"roles": [
{
"name": "node-role.kubernetes.io/control-plane"
}
]
},
"capcdNodeConfig": {
"sizingPolicy": "TKG",
"diskSize": "50Gi"
}
},
"workerNodeConfigs": [
{
"nodeConfig": {
"groupName": "default",
"roles": [
{
"name": "node-role.kubernetes.io/workers"
}
]
},
"capcdNodeConfig": {
"sizingPolicy": "TKG",
"diskSize": "50Gi"
},
"workersScale": null,
"workersCount": 2
},
{
"nodeConfig": {
"groupName": "infra",
"roles": [
{
"name": "node-role.kubernetes.io/infra"
}
]
},
"capcdNodeConfig": {
"sizingPolicy": "TKG medium 4vCPU",
"diskSize": "50Gi"
},
"workersScale": null,
"workersCount": 0
}
],
"kubeAPIVIPSubnet": "",
"serviceVIPSubnet": ""
},
"CreatedByUser": "username"
}
Удаление кластера
Команда
export CLUSTERNAME="clustername"
curl -k -L --request DELETE $BACKENDPOINT/api/v1/clusters/$CLUSTERNAME --header "Authorization: Bearer $token"