Files
polygon/site/services/150_k8s_sthutrval_cluster.yaml
T

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"}'