Files
polygon/site/services/prod/116_kafka.yaml
T

350 lines
12 KiB
YAML

name: kafka
service_id: 116
service_display_name: ApacheKafka
service_short_name: kafka
service_man: "# Инструкция по развертыванию Apache Kafka через платформу<br/><br/>---<br/>## 1. Общая информация<br/>Брокер сообщений Apache Kafka — это отказоустойчивая распределённая платформа для обмена\
\ сообщениями и потоковой обработки данных в реальном времени.<br/>Позволяет надёжно передавать события между сервисами и системами, интегрироваться с внешними решениями и использовать как внутренние,\
\ так и защищённые TLS-подключения. Развёртывание полностью автоматизировано платформой.<br/><br/>## Доступные операции<br/>- **create** — Создание кластера<br/>- **delete** — Удаление кластера<br/>-\
\ **suspend** — Остановка кластера<br/>- **resume** — Запуск кластера<br/><br/>- **create_topic** — Создание топика<br/>- **modify_topic** — Модификация топика<br/>- **delete_topic** — Удаление\
\ топика<br/><br/>- **create_user** — Создание пользователя<br/>- **modify_user** — Модификация пользователя<br/>- **delete_user** — Удаление пользователя<br/><br/><br/>---<br/>## 2. Параметры\
\ развертывания кластера<br/>Ниже перечислены параметры, которые необходимо указать при создании ресурса Kafka:<br/><br/>* **Платформа для развертывания:**<br/> Платформа для развертывания (среда, в\
\ которой будет развернут кластер). Пример: `\tk8s-3.ext.nubes.ru`.<br/><br/>* **Количество узлов в сети:**<br/> Количество узлов (брокеров) в кластере Kafka<br/><br/>* **Квота (megabyte) памяти пода:**<br/>\
\ Квота памяти пода в мегабайтах. Пример: `2048`<br/><br/>* **Квота (millicore ) ядра пода:**<br/> Квота CPU пода в миликорах (1000 mCPU = 1 vCPU). Пример: `1000`<br/><br/>* **Размер (gigabyte) диска\
\ для базы данных:**<br/> Размер диска для хранения данных в гигабайтах. Пример: `20`<br/><br/>* **Выделяет внешний IP для доступа к master:**<br/> Флаг, определяющий, нужно ли выделять внешний IP для\
\ доступа к master-брокеру. Пример: `true` или `false`<br/><br/>* **Имя ipSpace для публикации внешнего IP**<br/> Если включен предыдущий параметр, то поле необходимо заполнить. Пример: `internet-no-antiddos-v1`<br/><br/>---<br/>##\
\ 4. Выходные параметры<br/>После успешного развертывания ресурса Kafka платформа возвращает ряд параметров.<br/>Ключевыми из них являются:<br/><br/>**internalConnect** (выдаётся только при работе кластера\
\ по внутренним адресам)<br/>Внутренние эндпоинты для подключения из сервисов, развёрнутых внутри того же Kubernetes-кластера.<br/>```yaml<br/>internalConnect:<br/> bootstrap:<br/> fqdn: \"<serviceName>-kafka-tls-bootstrap.<namespace>.svc.<clusterDomain>\"\
<br/> port: 9093<br/> brokers:<br/> broker-1:<br/> fqdn: \"<serviceName>-<serviceName>-pool-0.<serviceName>-kafka-brokers.<namespace>.svc.<clusterDomain>\"<br/> port: 9093<br/>```<br/><br/>**externalConnect**\
\ (выдаётся только при выделении внешнего IP)<br/>Внешние эндпоинты, зарегистрированные в DNS.<br/>```yaml<br/>externalConnect:<br/> bootstrap:<br/> fqdn: \"bootstrap.<namespace>.<dnsZone>\"<br/>\
\ port: 9093<br/> brokers:<br/> broker-1:<br/> fqdn: \"broker-1.<namespace>.<dnsZone>\"<br/> port: 9093<br/>```<br/><br/>Заполняется **только один** из параметров:<br/>- при внешней аллокации\
\ (`loadbalancer`) — `externalConnect`, `internalConnect` остаётся пустым;<br/>- при внутреннем режиме — `internalConnect`, `externalConnect` остаётся пустым.<br/><br/>Для подключения используются следующие\
\ порты:<br/><br/>* 9092 — внутренний нешифрованный доступ (plain).<br/>* 9093 — внутренний и внешний доступ по TLS, с обязательной TLS-аутентификацией.<br/><br/>---<br/>## 5. Дополнительная информация<br/>Для\
\ создания топиков, пользователей и управления ими, а также для интеграции с кластерами Kafka используйте соответствующие сервисы и раздел \"Облачные сервисы\".<br/>---"
lifecycle:
suspendOnDestroyDefault: true
adoptExistingOnCreateDefault: false
operations:
- svcOperationId: 148
operation: create
kind: instance
action: create
- svcOperationId: 165
operation: create_topic
kind: subresource
action: create
- svcOperationId: 168
operation: create_user
kind: subresource
action: create
- svcOperationId: 149
operation: delete
kind: instance
action: delete
- svcOperationId: 167
operation: delete_topic
kind: subresource
action: delete
- svcOperationId: 170
operation: delete_user
kind: subresource
action: delete
- svcOperationId: 162
operation: modify
kind: instance
action: modify
- svcOperationId: 166
operation: modify_topic
kind: subresource
action: modify
- svcOperationId: 169
operation: modify_user
kind: subresource
action: modify
- svcOperationId: 161
operation: resume
kind: instance
action: resume
- svcOperationId: 160
operation: suspend
kind: instance
action: suspend
stateOut:
topics: {}
users: {}
cfsParams:
- svcOperationCfsParamId: 1084
svcOperationCfsParam: startupConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: false
dataDescriptor:
resourceRealm:
dataType: string
defaultValue: k8s-4-ext-nubes-ru
isRequired: true
isModifiable: false
valueList:
- k8s-4-ext-nubes-ru
- svcOperationCfsParamId: 1085
svcOperationCfsParam: clusterConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: true
dataDescriptor:
cpu:
dataType: integer > 0
defaultValue: '2000'
isRequired: true
isModifiable: false
memory:
dataType: integer > 0
defaultValue: '2048'
isRequired: true
isModifiable: false
replicas:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- '1'
- '3'
- '5'
- '7'
disk:
dataType: integer > 0
defaultValue: '1'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1086
svcOperationCfsParam: accessConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: true
dataDescriptor:
allocationExternal:
dataType: boolean
defaultValue: 'false'
isRequired: true
isModifiable: false
valueList:
- 'false'
- 'true'
masterAccessList:
dataType: json
defaultValue: '[]'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 523
svcOperationCfsParam: nameTopic
dataType: string
isRequired: true
defaultValue: ''
isModifiable: false
- svcOperationCfsParamId: 524
svcOperationCfsParam: partitions
dataType: integer > 0
isRequired: true
defaultValue: ''
isModifiable: false
- svcOperationCfsParamId: 525
svcOperationCfsParam: replicas
dataType: integer > 0
isRequired: true
defaultValue: ''
isModifiable: false
- svcOperationCfsParamId: 530
svcOperationCfsParam: username
dataType: string
isRequired: true
defaultValue: ''
isModifiable: false
- svcOperationCfsParamId: 531
svcOperationCfsParam: nameTopic
dataType: string
isRequired: true
defaultValue: ''
isModifiable: false
- svcOperationCfsParamId: 532
svcOperationCfsParam: operations
dataType: array
isRequired: true
defaultValue: ''
isModifiable: false
valueList:
- Create
- Describe
- Read
- Write
- svcOperationCfsParamId: 533
svcOperationCfsParam: group
dataType: string
isRequired: true
defaultValue: '*'
isModifiable: false
- svcOperationCfsParamId: 534
svcOperationCfsParam: accessHosts
dataType: string
isRequired: true
defaultValue: '*'
isModifiable: false
- svcOperationCfsParamId: 529
svcOperationCfsParam: nameTopic
dataType: string
isRequired: true
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 540
svcOperationCfsParam: username
dataType: string
isRequired: true
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 1087
svcOperationCfsParam: clusterConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: true
dataDescriptor:
cpu:
dataType: integer > 0
defaultValue: '2000'
isRequired: true
isModifiable: false
memory:
dataType: integer > 0
defaultValue: '2048'
isRequired: true
isModifiable: false
replicas:
dataType: integer > 0
defaultValue: '1'
isRequired: true
isModifiable: false
valueList:
- '1'
- '3'
- '5'
- '7'
disk:
dataType: integer > 0
defaultValue: '1'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1088
svcOperationCfsParam: accessConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: true
dataDescriptor:
allocationExternal:
dataType: boolean
defaultValue: 'false'
isRequired: true
isModifiable: false
valueList:
- 'false'
- 'true'
masterAccessList:
dataType: json
defaultValue: '[]'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 526
svcOperationCfsParam: nameTopic
dataType: string
isRequired: true
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 527
svcOperationCfsParam: partitions
dataType: string
isRequired: false
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 528
svcOperationCfsParam: replicas
dataType: string
isRequired: false
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 535
svcOperationCfsParam: nameTopic
dataType: string
isRequired: false
defaultValue: '*'
isModifiable: true
- svcOperationCfsParamId: 536
svcOperationCfsParam: operations
dataType: array
isRequired: false
defaultValue: ''
isModifiable: true
valueList:
- Create
- Describe
- Read
- Write
- svcOperationCfsParamId: 537
svcOperationCfsParam: group
dataType: string
isRequired: false
defaultValue: '*'
isModifiable: true
- svcOperationCfsParamId: 538
svcOperationCfsParam: accessHosts
dataType: string
isRequired: false
defaultValue: '*'
isModifiable: true
- svcOperationCfsParamId: 539
svcOperationCfsParam: username
dataType: string
isRequired: true
defaultValue: ''
isModifiable: true
cfsParamsByOp:
148:
- 1084
- 1085
- 1086
165:
- 523
- 524
- 525
168:
- 530
- 531
- 532
- 533
- 534
149: []
167:
- 529
170:
- 540
162:
- 1087
- 1088
166:
- 526
- 527
- 528
169:
- 535
- 536
- 537
- 538
- 539
161: []
160: []
stateParams:
startupConfiguration: '{"resourceRealm": "k8s-4-ext-nubes-ru"}'
clusterConfiguration: '{"cpu": 2000, "memory": 2048, "replicas": 0, "disk": 1}'
accessConfiguration: '{"allocationExternal": false, "masterAccessList": "[]"}'