446 lines
13 KiB
YAML
446 lines
13 KiB
YAML
name: k8s_sthutrval_cluster
|
|
service_id: 150
|
|
service_display_name: Kubernetes кластер Штурвал
|
|
service_short_name: k8sSthutrvalCluster
|
|
service_man: '# Развёртывание Kubernetes: ограничения и предварительный чек-лист<br/><br/>> **Внимание:** перед началом развёртывания кластера Kubernetes убедитесь, что выполнены все описанные ниже условия.
|
|
Несоблюдение порядка шагов может привести к ошибкам при создании кластера.<br/><br/>---<br/><br/>## Ограничения при развёртывании<br/><br/>| Ограничение | Статус |<br/>|---|---|<br/>| 1 кластер = 1 vDC
|
|
| Действует (будет исправлено в ближайшее время) |<br/><br/>---<br/><br/>## Предварительный чек-лист<br/><br/>Перед установкой кластера Kubernetes необходимо последовательно выполнить следующие шаги.<br/><br/>###
|
|
1. Создать организацию в Cloud Director<br/><br/>- Перейдите в услугу **Организация в Cloud Director**.<br/>- Создайте организацию.<br/><br/>### 2. Создать виртуальный датацентр (vDC)<br/><br/>- Перейдите
|
|
в услугу **Виртуальный датацентр (vDC)**.<br/>- Создайте vDC.<br/>- Выделите **достаточно ресурсов для разворачивания _всех_ нод** кластера.<br/><br/>### 3. Создать Edge (сетевой шлюз периметра)<br/><br/>-
|
|
Перейдите в услугу **Сетевой шлюз периметра (Edge)**.<br/>- Создайте Edge.<br/>- Обязательно:<br/> - Включить **ALB**.<br/> - Установить **Кол-во VS на AVI ≥ 3**.<br/><br/>### 4. Добавить внешние адреса
|
|
в организации<br/><br/>- Вернитесь в **Организация в Cloud Director**.<br/>- Выполните операцию **Modify**.<br/>- Добавьте **3 внешних адреса**.<br/>- Количество `ipSpaces` значения не имеет, важно чтобы
|
|
суммарно было 3 адреса.<br/><br/>### 5. Настроить SNAT для виртуальных машин<br/><br/>- Вернитесь в **Сетевой шлюз периметра (Edge)**.<br/>- Выполните операцию **Modify**.<br/>- Выберите доступный `ipSpaceName`.<br/>-
|
|
Это будет **SNAT для виртуальных машин**.<br/><br/>### 6. Развернуть кластер Kubernetes<br/><br/>- Только **после выполнения всех шагов выше** переходите к услуге **Kubernetes кластер Штурвал**.<br/>-
|
|
Начните разворачивание кластера.<br/><br/>---<br/><br/>## Минимальные требования к кластеру<br/><br/>| Параметр | Значение |<br/>|---|---|<br/>| Мастер-ноды | минимум **1** |<br/>| Воркер-ноды | минимум
|
|
**1** |<br/>| CPU (на ноду) | **4 vCPU** |<br/>| RAM (на ноду) | **8 GB** |<br/>| Диск (на ноду) | **50 GB** |<br/><br/>---'
|
|
lifecycle:
|
|
suspendOnDestroyDefault: true
|
|
adoptExistingOnCreateDefault: false
|
|
operations:
|
|
- svcOperationId: 108
|
|
operation: create
|
|
kind: instance
|
|
action: create
|
|
- svcOperationId: 281
|
|
operation: create_user
|
|
kind: subresource
|
|
action: create
|
|
- svcOperationId: 109
|
|
operation: delete
|
|
kind: instance
|
|
action: delete
|
|
- svcOperationId: 282
|
|
operation: delete_user
|
|
kind: subresource
|
|
action: delete
|
|
- svcOperationId: 110
|
|
operation: modify
|
|
kind: instance
|
|
action: modify
|
|
- svcOperationId: 253
|
|
operation: reconcile
|
|
kind: action
|
|
action: reconcile
|
|
- svcOperationId: 174
|
|
operation: resume
|
|
kind: instance
|
|
action: resume
|
|
- svcOperationId: 173
|
|
operation: suspend
|
|
kind: instance
|
|
action: suspend
|
|
stateOut:
|
|
users: {}
|
|
cfsParams:
|
|
- svcOperationCfsParamId: 750
|
|
svcOperationCfsParam: startupConfiguration
|
|
dataType: map-fixed
|
|
isRequired: true
|
|
defaultValue: ''
|
|
isModifiable: false
|
|
dataDescriptor:
|
|
vdcUid:
|
|
dataType: string
|
|
defaultValue: ''
|
|
isRequired: true
|
|
isModifiable: false
|
|
nsxtUid:
|
|
dataType: string
|
|
defaultValue: ''
|
|
isRequired: true
|
|
isModifiable: false
|
|
clusterName:
|
|
dataType: string
|
|
defaultValue: example-ryatr2rx
|
|
isRequired: true
|
|
isModifiable: false
|
|
exLogging:
|
|
dataType: boolean
|
|
defaultValue: 'true'
|
|
isRequired: false
|
|
isModifiable: false
|
|
valueList:
|
|
- 'true'
|
|
- 'false'
|
|
exMonitoring:
|
|
dataType: boolean
|
|
defaultValue: 'true'
|
|
isRequired: false
|
|
isModifiable: false
|
|
valueList:
|
|
- 'true'
|
|
- 'false'
|
|
exLocalCsi:
|
|
dataType: boolean
|
|
defaultValue: 'true'
|
|
isRequired: false
|
|
isModifiable: false
|
|
valueList:
|
|
- 'true'
|
|
- 'false'
|
|
exVip:
|
|
dataType: boolean
|
|
defaultValue: 'true'
|
|
isRequired: false
|
|
isModifiable: false
|
|
valueList:
|
|
- 'true'
|
|
- 'false'
|
|
exUpdate:
|
|
dataType: boolean
|
|
defaultValue: 'true'
|
|
isRequired: false
|
|
isModifiable: false
|
|
valueList:
|
|
- 'true'
|
|
- 'false'
|
|
exIngress:
|
|
dataType: boolean
|
|
defaultValue: 'true'
|
|
isRequired: false
|
|
isModifiable: false
|
|
valueList:
|
|
- 'true'
|
|
- 'false'
|
|
exNamedCsi:
|
|
dataType: boolean
|
|
defaultValue: 'true'
|
|
isRequired: false
|
|
isModifiable: false
|
|
valueList:
|
|
- 'true'
|
|
- 'false'
|
|
- svcOperationCfsParamId: 751
|
|
svcOperationCfsParam: controlPlaneConfiguration
|
|
dataType: map-fixed
|
|
isRequired: true
|
|
defaultValue: ''
|
|
isModifiable: true
|
|
dataDescriptor:
|
|
sizingPolicy:
|
|
dataType: string
|
|
defaultValue: '[]'
|
|
isRequired: true
|
|
isModifiable: false
|
|
valueList:
|
|
- '{}'
|
|
sizingDisk:
|
|
dataType: integer > 0
|
|
defaultValue: '50'
|
|
isRequired: true
|
|
isModifiable: false
|
|
count:
|
|
dataType: integer > 0
|
|
defaultValue: '1'
|
|
isRequired: true
|
|
isModifiable: false
|
|
valueList:
|
|
- '1'
|
|
- '3'
|
|
- '5'
|
|
- svcOperationCfsParamId: 752
|
|
svcOperationCfsParam: workerConfiguration
|
|
dataType: array-map-fixed
|
|
isRequired: true
|
|
defaultValue: '[{}]'
|
|
isModifiable: true
|
|
dataDescriptor:
|
|
groupName:
|
|
dataType: string
|
|
defaultValue: workers-e6bfgpqf
|
|
isRequired: true
|
|
isModifiable: false
|
|
sizingPolicy:
|
|
dataType: string
|
|
defaultValue: ''
|
|
isRequired: true
|
|
isModifiable: false
|
|
valueList:
|
|
- '{}'
|
|
sizingDisk:
|
|
dataType: integer > 0
|
|
defaultValue: '50'
|
|
isRequired: true
|
|
isModifiable: false
|
|
count:
|
|
dataType: integer > 0
|
|
defaultValue: '2'
|
|
isRequired: true
|
|
isModifiable: false
|
|
autoscale:
|
|
dataType: boolean
|
|
defaultValue: 'false'
|
|
isRequired: false
|
|
isModifiable: false
|
|
valueList:
|
|
- 'false'
|
|
- 'true'
|
|
autoscaleMin:
|
|
dataType: integer > 0
|
|
defaultValue: '2'
|
|
isRequired: false
|
|
isModifiable: false
|
|
autoscaleMax:
|
|
dataType: integer > 0
|
|
defaultValue: '3'
|
|
isRequired: false
|
|
isModifiable: false
|
|
labelDeck:
|
|
dataType: boolean
|
|
defaultValue: 'true'
|
|
isRequired: true
|
|
isModifiable: false
|
|
valueList:
|
|
- 'true'
|
|
- 'false'
|
|
- svcOperationCfsParamId: 753
|
|
svcOperationCfsParam: accessConfiguration
|
|
dataType: map-fixed
|
|
isRequired: true
|
|
defaultValue: ''
|
|
isModifiable: true
|
|
dataDescriptor:
|
|
needExternalAddressAPI:
|
|
dataType: boolean
|
|
defaultValue: 'true'
|
|
isRequired: true
|
|
isModifiable: false
|
|
valueList:
|
|
- 'true'
|
|
accessIpListAPI:
|
|
dataType: json
|
|
defaultValue: '[]'
|
|
isRequired: true
|
|
isModifiable: false
|
|
needExternalAddressIngress:
|
|
dataType: boolean
|
|
defaultValue: 'true'
|
|
isRequired: true
|
|
isModifiable: false
|
|
valueList:
|
|
- 'true'
|
|
accessIpListIngress:
|
|
dataType: json
|
|
defaultValue: '[]'
|
|
isRequired: true
|
|
isModifiable: false
|
|
- svcOperationCfsParamId: 755
|
|
svcOperationCfsParam: clusterConfiguration
|
|
dataType: map-fixed
|
|
isRequired: true
|
|
defaultValue: ''
|
|
isModifiable: true
|
|
dataDescriptor:
|
|
appVersion:
|
|
dataType: string
|
|
defaultValue: 2.14.0
|
|
isRequired: true
|
|
isModifiable: false
|
|
valueList:
|
|
- 2.14.0
|
|
- 2.13.1
|
|
- 2.12.1
|
|
- 2.11.0
|
|
- svcOperationCfsParamId: 869
|
|
svcOperationCfsParam: admins
|
|
dataType: array-map-fixed
|
|
isRequired: true
|
|
defaultValue: '[{}]'
|
|
isModifiable: false
|
|
dataDescriptor:
|
|
email:
|
|
dataType: string
|
|
defaultValue: ''
|
|
isRequired: true
|
|
isModifiable: false
|
|
- svcOperationCfsParamId: 870
|
|
svcOperationCfsParam: admins
|
|
dataType: array-map-fixed
|
|
isRequired: true
|
|
defaultValue: ''
|
|
isModifiable: true
|
|
dataDescriptor:
|
|
email:
|
|
dataType: string
|
|
defaultValue: ''
|
|
isRequired: true
|
|
isModifiable: false
|
|
- svcOperationCfsParamId: 756
|
|
svcOperationCfsParam: clusterConfiguration
|
|
dataType: map-fixed
|
|
isRequired: true
|
|
defaultValue: ''
|
|
isModifiable: true
|
|
dataDescriptor:
|
|
appVersion:
|
|
dataType: string
|
|
defaultValue: ''
|
|
isRequired: true
|
|
isModifiable: false
|
|
valueList:
|
|
- 2.14.0
|
|
- 2.13.1
|
|
- 2.12.1
|
|
- 2.11.0
|
|
- svcOperationCfsParamId: 757
|
|
svcOperationCfsParam: controlPlaneConfiguration
|
|
dataType: map-fixed
|
|
isRequired: true
|
|
defaultValue: ''
|
|
isModifiable: true
|
|
dataDescriptor:
|
|
sizingPolicy:
|
|
dataType: string
|
|
defaultValue: ''
|
|
isRequired: true
|
|
isModifiable: false
|
|
valueList:
|
|
- '{}'
|
|
sizingDisk:
|
|
dataType: integer > 0
|
|
defaultValue: ''
|
|
isRequired: true
|
|
isModifiable: false
|
|
count:
|
|
dataType: integer > 0
|
|
defaultValue: ''
|
|
isRequired: true
|
|
isModifiable: false
|
|
valueList:
|
|
- '1'
|
|
- '3'
|
|
- '5'
|
|
- svcOperationCfsParamId: 758
|
|
svcOperationCfsParam: workerConfiguration
|
|
dataType: array-map-fixed
|
|
isRequired: true
|
|
defaultValue: ''
|
|
isModifiable: true
|
|
dataDescriptor:
|
|
groupName:
|
|
dataType: string
|
|
defaultValue: workers-ohtgog3p
|
|
isRequired: true
|
|
isModifiable: false
|
|
sizingPolicy:
|
|
dataType: string
|
|
defaultValue: ''
|
|
isRequired: true
|
|
isModifiable: false
|
|
valueList:
|
|
- '{}'
|
|
sizingDisk:
|
|
dataType: integer > 0
|
|
defaultValue: ''
|
|
isRequired: true
|
|
isModifiable: false
|
|
count:
|
|
dataType: integer >= 0
|
|
defaultValue: ''
|
|
isRequired: true
|
|
isModifiable: false
|
|
autoscale:
|
|
dataType: boolean
|
|
defaultValue: ''
|
|
isRequired: false
|
|
isModifiable: false
|
|
valueList:
|
|
- 'false'
|
|
- 'true'
|
|
autoscaleMin:
|
|
dataType: integer > 0
|
|
defaultValue: ''
|
|
isRequired: false
|
|
isModifiable: false
|
|
autoscaleMax:
|
|
dataType: integer > 0
|
|
defaultValue: ''
|
|
isRequired: false
|
|
isModifiable: false
|
|
labelDeck:
|
|
dataType: boolean
|
|
defaultValue: ''
|
|
isRequired: true
|
|
isModifiable: false
|
|
valueList:
|
|
- 'true'
|
|
- 'false'
|
|
- svcOperationCfsParamId: 759
|
|
svcOperationCfsParam: accessConfiguration
|
|
dataType: map-fixed
|
|
isRequired: true
|
|
defaultValue: ''
|
|
isModifiable: true
|
|
dataDescriptor:
|
|
needExternalAddressAPI:
|
|
dataType: boolean
|
|
defaultValue: 'true'
|
|
isRequired: true
|
|
isModifiable: false
|
|
valueList:
|
|
- 'true'
|
|
accessIpListAPI:
|
|
dataType: json
|
|
defaultValue: '[]'
|
|
isRequired: true
|
|
isModifiable: false
|
|
needExternalAddressIngress:
|
|
dataType: boolean
|
|
defaultValue: 'true'
|
|
isRequired: true
|
|
isModifiable: false
|
|
valueList:
|
|
- 'true'
|
|
accessIpListIngress:
|
|
dataType: json
|
|
defaultValue: '[]'
|
|
isRequired: true
|
|
isModifiable: false
|
|
cfsParamsByOp:
|
|
108:
|
|
- 750
|
|
- 751
|
|
- 752
|
|
- 753
|
|
- 755
|
|
281:
|
|
- 869
|
|
109: []
|
|
282:
|
|
- 870
|
|
110:
|
|
- 756
|
|
- 757
|
|
- 758
|
|
- 759
|
|
253: []
|
|
174: []
|
|
173: []
|
|
stateParams:
|
|
startupConfiguration: '{"vdcUid": "", "nsxtUid": "", "clusterName": "example-ryatr2rx", "exLogging": true, "exMonitoring": true, "exLocalCsi": true, "exVip": true, "exUpdate": true, "exIngress": true,
|
|
"exNamedCsi": true}'
|
|
controlPlaneConfiguration: '{"sizingPolicy": "[]", "sizingDisk": 50, "count": 1}'
|
|
workerConfiguration: '{"groupName": "workers-e6bfgpqf", "sizingPolicy": "", "sizingDisk": 50, "count": 2, "autoscale": false, "autoscaleMin": 2, "autoscaleMax": 3, "labelDeck": true}'
|
|
accessConfiguration: '{"needExternalAddressAPI": true, "accessIpListAPI": "[]", "needExternalAddressIngress": true, "accessIpListIngress": "[]"}'
|
|
clusterConfiguration: '{"appVersion": "2.14.0"}'
|