mws_mkafka_cluster (Resource)
Заголовок раздела «mws_mkafka_cluster (Resource)»Кластер Managed Kafka — это группа узлов (брокеров), объединенных для приема, хранения и передачи потоков данных с помощью Apache Kafka. В облачной инфраструктуре кластер — единый интерфейс для управления потоками данных в реальном времени
Пример использования
Заголовок раздела «Пример использования»resource "mws_vpc_network" "network" { network = var.network_name}
resource "mws_vpc_subnet" "subnet_a" { subnet = "${var.subnet_name}-a" network = mws_vpc_network.network.network cidr = var.subnet_cidr_a}
resource "mws_vpc_subnet" "subnet_b" { subnet = "${var.subnet_name}-b" network = mws_vpc_network.network.network cidr = var.subnet_cidr_b}
resource "mws_vpc_address" "broker_addr_1" { address = "${var.kafka_name}-broker-addr-1" network = mws_vpc_network.network.network subnet = mws_vpc_subnet.subnet_a.metadata.id}
resource "mws_vpc_address" "broker_addr_2" { address = "${var.kafka_name}-broker-addr-2" network = mws_vpc_network.network.network subnet = mws_vpc_subnet.subnet_b.metadata.id}
resource "mws_vpc_address" "broker_addr_3" { address = "${var.kafka_name}-broker-addr-3" network = mws_vpc_network.network.network subnet = mws_vpc_subnet.subnet_b.metadata.id}
resource "mws_mkafka_cluster" "example" { cluster = var.kafka_name version = "4.0"
metadata = { display_name = "Example Kafka Cluster" description = "Managed Kafka cluster example with VPC endpoints" }
active = true
endpoints = [ { name = "vpc-endpoint" network = mws_vpc_network.network.metadata.id broker_addresses = [ { ref = mws_vpc_address.broker_addr_1.id }, { ref = mws_vpc_address.broker_addr_2.id }, { ref = mws_vpc_address.broker_addr_3.id } ] } ]
instances = { broker = { vm_type = "compute/vmTypes/gen-2-4" disk = { size = "10Gb" type = "NETWORK_STANDARD_SSD" } allocation = [ { zone = "ru-central1-b" count = 3 } ] } controller = { combined_with_broker = false vm_type = "compute/vmTypes/gen-2-4" disk = { size = "10Gb" type = "NETWORK_STANDARD_SSD" } allocation = [ { zone = "ru-central1-b" count = 3 } ] } }
maintenance_window = { weekly = { days = ["TUESDAY"] hour = 4 } } timeouts = { create = "1h" update = "1h" delete = "1h" }}
variable "network_name" { type = string default = "kafka-vpc-network" description = "VPC network name"}
variable "subnet_name" { type = string default = "kafka-subnet" description = "Base name for subnets"}
variable "subnet_cidr_a" { type = string default = "192.168.1.0/24" description = "CIDR for subnet A"}
variable "subnet_cidr_b" { type = string default = "192.168.2.0/24" description = "CIDR for subnet B"}
variable "kafka_name" { type = string default = "kafka-cluster" description = "Kafka cluster name"}Required
Заголовок раздела «Required»cluster(String) Название или идентификатор кластера.endpoints(Attributes List) Описание эндпойнтов в сетях пользователя (VPC) для подключения к брокерам кластера. (see below for nested schema)instances(Attributes) Описание ресурсов хостов брокеров и контроллеров. (see below for nested schema)version(String) Версия продукта.
Optional
Заголовок раздела «Optional»active(Boolean) Значение включен/выключен кластер.kind(String)maintenance_window(Attributes) (see below for nested schema)metadata(Attributes) (see below for nested schema)product_config(String) Настройки Kafka. Если не указаны, будут использованы настройки по-умолчанию.project(String) Путь к проектуschema_registry(Attributes) Настройка Schema Registry для кластера. (see below for nested schema)timeouts(Attributes) (see below for nested schema)
Read-Only
Заголовок раздела «Read-Only»id(String) The ID of this resource.status(Attributes) (see below for nested schema)
Nested Schema for endpoints
Заголовок раздела «Nested Schema for endpoints»Required:
broker_addresses(Attributes List) Список адресов в пользовательской сети, на которые “отображаются” брокеры. (see below for nested schema)name(String) Имя эндпойнта.network(String) Идентификатор пользовательской сети (VPC).
Optional:
external_access(Attributes) Настройка внешнего доступа к кластеру Kafka. (see below for nested schema)
Nested Schema for endpoints.broker_addresses
Заголовок раздела «Nested Schema for endpoints.broker_addresses»Optional:
ref(String) Идентификатор существующего адреса.spec(Attributes) Спецификация нового адреса. Адрес будет выделен в ходе реконсиляции кластера. (see below for nested schema)
Nested Schema for endpoints.broker_addresses.spec
Заголовок раздела «Nested Schema for endpoints.broker_addresses.spec»Required:
subnet(String) Идентификатор подсети, в которой необходимо выделить адрес.
Nested Schema for endpoints.external_access
Заголовок раздела «Nested Schema for endpoints.external_access»Required:
allowed(Boolean) Назначить внешние адреса для кластера Kafka.
Optional:
broker_addresses(Attributes List) Список внешних адресов, используемых для настройки доступа к кластеру Kafka. Если флаг “allowed” установлен в true и адреса не указаны, внешние адреса будут выделены автоматически. (see below for nested schema)
Nested Schema for endpoints.external_access.broker_addresses
Заголовок раздела «Nested Schema for endpoints.external_access.broker_addresses»Optional:
ref(String) Идентификатор существующего внешнего адреса.spec(Attributes) Спецификация нового внешнего адреса. Адрес будет выделен в ходе реконсиляции кластера. (see below for nested schema)
Nested Schema for endpoints.external_access.broker_addresses.spec
Заголовок раздела «Nested Schema for endpoints.external_access.broker_addresses.spec»Nested Schema for instances
Заголовок раздела «Nested Schema for instances»Required:
broker(Attributes) Параметры виртуальной машины, где будет работать брокер Кафки. (see below for nested schema)controller(Attributes) Параметры виртуальной машины, где будет работать KRaft контроллер Кафки. (see below for nested schema)
Nested Schema for instances.broker
Заголовок раздела «Nested Schema for instances.broker»Required:
disk(Attributes) Параметры диска с данными на узле кластера. (see below for nested schema)vm_type(String) Тип виртуальной машины, описывающий ресурсы (vCPU, memory).
Optional:
allocation(Attributes List) Параметры размещения брокеров по зонам. (see below for nested schema)
Nested Schema for instances.broker.disk
Заголовок раздела «Nested Schema for instances.broker.disk»Required:
size(String) Размер диска.
Optional:
iops(Number) Количество дисковых операций в секунду.type(String) Тип используемого диска:
- “NETWORK_STANDARD_SSD” — сетевой SSD
Nested Schema for instances.broker.allocation
Заголовок раздела «Nested Schema for instances.broker.allocation»Required:
count(Number) Количество брокеров в зоне/подсети.zone(String) Зона расположения узла.
Nested Schema for instances.controller
Заголовок раздела «Nested Schema for instances.controller»Optional:
allocation(Attributes List) Параметры размещения контроллеров по зонам. (see below for nested schema)combined_with_broker(Boolean) Размещать контроллеры на тех же виртуальных машинах, что и брокерыdisk(Attributes) Параметры диска с данными на узле кластера. (see below for nested schema)vm_type(String) Тип виртуальной машины, описывающий ресурсы (vCPU, memory).
Nested Schema for instances.controller.allocation
Заголовок раздела «Nested Schema for instances.controller.allocation»Required:
count(Number) Количество брокеров в зоне/подсети.zone(String) Зона расположения узла.
Nested Schema for instances.controller.disk
Заголовок раздела «Nested Schema for instances.controller.disk»Required:
size(String) Размер диска.
Optional:
iops(Number) Количество дисковых операций в секунду.type(String) Тип используемого диска:
- “NETWORK_STANDARD_SSD” — сетевой SSD
Nested Schema for maintenance_window
Заголовок раздела «Nested Schema for maintenance_window»Required:
weekly(Attributes) (see below for nested schema)
Nested Schema for maintenance_window.weekly
Заголовок раздела «Nested Schema for maintenance_window.weekly»Required:
days(List of String) Дни недели, в который будет запущено задание на тех.обслуживаниеhour(Number) Час, в который будет запущено задание на тех.обслуживание
Optional:
duration(String) Допустимая продолжительность процесса обновления. Если не указано, то не ограничено по времени. Принимается только формат в часах (h)
Nested Schema for metadata
Заголовок раздела «Nested Schema for metadata»Optional:
description(String) Описание ресурса.display_name(String) Отображаемое имя. Необязательное поле, можно свободно задавать и изменять для удобства организации ресурсов.
Read-Only:
create_time(String) Дата создания объекта.delete_time(String) Время запроса на удаление ресурса (не фактическое время удаления).id(String) ссылка на типизированный референсpurge_time(String)usages(Attributes List) Связи с другими ресурсами. В зависимости от типа связи, операции над ресурсом могут быть ограничены. (see below for nested schema)
Nested Schema for metadata.usages
Заголовок раздела «Nested Schema for metadata.usages»Read-Only:
name(String) Имя связи, требуется для модификации коллекцииresource(String) ссылка на ресурсusage_type(String) Тип связи. Помимо стандартных own и use могут быть добавлены специализированные типы для конкретных сервисов
Nested Schema for schema_registry
Заголовок раздела «Nested Schema for schema_registry»Optional:
enabled(Boolean) Включить Schema Registry в кластере.
Nested Schema for timeouts
Заголовок раздела «Nested Schema for timeouts»Optional:
create(String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as ”30s” or “2h45m”. Valid time units are “s” (seconds), “m” (minutes), “h” (hours).delete(String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as ”30s” or “2h45m”. Valid time units are “s” (seconds), “m” (minutes), “h” (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.update(String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as ”30s” or “2h45m”. Valid time units are “s” (seconds), “m” (minutes), “h” (hours).
Nested Schema for status
Заголовок раздела «Nested Schema for status»Read-Only:
effective_kafka_config(Map of String) Конфигурация параметров кластера после валидации и преобразования из пользователского вводаendpoints(Attributes List) Описание эндпойнтов в сетях пользователя (VPC) для подключения к брокерам кластера. (see below for nested schema)health(String) Работоспособность кластера- “ALIVE” - Полностью работоспособен
- “DEGRADED” - Деградирует (некоторые, но не все, экземпляры неработоспособны)
- “FAILED” - Неработоспособен
- “UNKNOWN” - Не удаётся определить состояние (на этапе создания)
instances(Attributes) Описание ресурсов хостов брокеров и контроллеров. (see below for nested schema)maintenance_window(Attributes) (see below for nested schema)message(String)ready(Attributes) Информация о статусе реконсиляции (see below for nested schema)schema_registry(Attributes) Настройка Schema Registry для кластера. (see below for nested schema)state(String) Состояние кластера- “CREATING” - Создаётся
- “RUNNING” - Работает в штатном режиме
- “STOPPING” - Останавливается
- “STOPPED” - Остановлен
- “STARTING” - Запуск ранее остановленного
- “UPDATING” - Выполняется обновление
- “ERROR” - Произошла ошибка, требуется участие команды поддержки
- “DELETING” - Удаляется
- “DELETED” - Удалён
- “UNIDENTIFIED” - Не удаётся определить статус
- “RESTORING” - Восстанавливается
Nested Schema for status.endpoints
Заголовок раздела «Nested Schema for status.endpoints»Read-Only:
bootstrap_servers(String) Список адресов для первоначального подключения к кластеру внутри пользовательской (VPC).broker_addresses(Attributes List) Список адресов в пользовательской сети, на которые “отображаются” брокеры. (see below for nested schema)external_access(Attributes) Настройка внешнего доступа к кластеру Kafka. (see below for nested schema)name(String) Имя эндпойнта.network(String) Идентификатор пользовательской сети (VPC).port(Number) Порт для доступа к кластеру Kafka внутри пользовательской сети (VPC).schema_registry(Attributes) Адреса Schema Registry во внутренней сети (VPC). (see below for nested schema)
Nested Schema for status.endpoints.broker_addresses
Заголовок раздела «Nested Schema for status.endpoints.broker_addresses»Read-Only:
dns(Attributes List) Доменные имена. (see below for nested schema)ip_address(String) Выделенный адрес.ref(String) Идентификатор адреса.subnet(String) Подсеть, в которой выделен адрес.
Nested Schema for status.endpoints.broker_addresses.dns
Заголовок раздела «Nested Schema for status.endpoints.broker_addresses.dns»Read-Only:
name(String)
Nested Schema for status.endpoints.external_access
Заголовок раздела «Nested Schema for status.endpoints.external_access»Read-Only:
allowed(Boolean) Назначить внешние адреса для кластера Kafka.bootstrap_servers(String) Список адресов для первоначального подключения к кластеру Apache Kafka из внешней сети.broker_addresses(Attributes List) Список внешних адресов, выделенных для брокеров Kafka. (see below for nested schema)port(Number) Порт, используемый для доступа к кластеру Kafka из внешней сети.schema_registry(Attributes) Внешние HTTPS-адреса Schema Registry. (see below for nested schema)
Nested Schema for status.endpoints.external_access.broker_addresses
Заголовок раздела «Nested Schema for status.endpoints.external_access.broker_addresses»Read-Only:
ip_address(String) Выделенный адрес.managed(Boolean) False если ссылка на внешний адрес был указана в спецификации, true если адрес был созданref(String) Идентификатор адреса.
Nested Schema for status.endpoints.external_access.schema_registry
Заголовок раздела «Nested Schema for status.endpoints.external_access.schema_registry»Read-Only:
urls(List of String) Список HTTPS URL Schema Registry.
Nested Schema for status.endpoints.schema_registry
Заголовок раздела «Nested Schema for status.endpoints.schema_registry»Read-Only:
urls(List of String) Список HTTPS URL Schema Registry.
Nested Schema for status.instances
Заголовок раздела «Nested Schema for status.instances»Read-Only:
broker(Attributes) Параметры виртуальной машины, где работает брокер Кафки. (see below for nested schema)controller(Attributes) Параметры виртуальной машины, где работает контроллер. (see below for nested schema)
Nested Schema for status.instances.broker
Заголовок раздела «Nested Schema for status.instances.broker»Read-Only:
disk(Attributes) Параметры диска с данными на узле кластера Managed Kafka. (see below for nested schema)
Nested Schema for status.instances.broker.disk
Заголовок раздела «Nested Schema for status.instances.broker.disk»Read-Only:
iops(Number) Количество дисковых операций в секунду.
Nested Schema for status.instances.controller
Заголовок раздела «Nested Schema for status.instances.controller»Read-Only:
combined_with_broker(Boolean) Контроллеры размещаются на тех же виртуальных машинах, что и брокерыdisk(Attributes) Параметры диска с данными на узле кластера Managed Kafka. (see below for nested schema)
Nested Schema for status.instances.controller.disk
Заголовок раздела «Nested Schema for status.instances.controller.disk»Read-Only:
iops(Number) Количество дисковых операций в секунду.
Nested Schema for status.maintenance_window
Заголовок раздела «Nested Schema for status.maintenance_window»Required:
weekly(Attributes) (see below for nested schema)
Nested Schema for status.maintenance_window.weekly
Заголовок раздела «Nested Schema for status.maintenance_window.weekly»Required:
days(List of String) Дни недели, в который будет запущено задание на тех.обслуживаниеhour(Number) Час, в который будет запущено задание на тех.обслуживание
Optional:
duration(String) Допустимая продолжительность процесса обновления. Если не указано, то не ограничено по времени. Принимается только формат в часах (h)
Nested Schema for status.ready
Заголовок раздела «Nested Schema for status.ready»Read-Only:
message(String) Описание статусаstate(String) Состояние ресурса
Nested Schema for status.schema_registry
Заголовок раздела «Nested Schema for status.schema_registry»Optional:
enabled(Boolean) Включить Schema Registry в кластере.