Изменение настроек кластера Apache Kafka®
После создания кластера Managed Service for Apache Kafka® вы можете:
- Изменить класс и количество хостов-брокеров.
- Изменить класс хостов ZooKeeper.
- Увеличить размер хранилища (недоступно для хранилища на нереплицируемых SSD-дисках).
- Изменить дополнительные настройки кластера.
- Изменить настройки Apache Kafka®.
- Переместить кластер из текущего каталога в другой каталог.
- Изменить настройки групп безопасности и публичного доступа.
Если вы хотите переместить кластер в другую зону доступности, обратитесь к инструкции. В результате вы перенесете хосты кластера.
Изменить класс и количество хостов-брокеров
Увеличить количество хостов-брокеров Apache Kafka® можно, только если кластер содержит не менее двух хостов-брокеров в разных зонах доступности. Уменьшить количество хостов-брокеров нельзя. Для выполнения условий отказоустойчивости кластера необходимо минимум три хоста-брокера.
-
Перейдите на страницу каталога
и выберите сервис Managed Service for Kafka. -
В строке с нужным кластером нажмите на значок
, затем выберите Изменить кластер. -
Измените требуемые настройки:
- Чтобы изменить класс хостов-брокеров, выберите новый Класс хоста.
- Измените Количество брокеров в зоне.
-
Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы изменить класс и количество хостов:
-
Получите информацию о кластере:
yc managed-kafka cluster list yc managed-kafka cluster get <имя_или_идентификатор_кластера>
-
Посмотрите описание команды CLI для изменения кластера:
yc managed-kafka cluster update --help
-
Чтобы увеличить количество хостов-брокеров, выполните команду:
yc managed-kafka cluster update <имя_или_идентификатор_кластера> --brokers-count <число>
-
Чтобы изменить класс хоста-брокера, выполните команду:
yc managed-kafka cluster update <имя_или_идентификатор_кластера> --resource-preset <класс_хоста>
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
-
Измените в описании кластера Managed Service for Apache Kafka® значение параметра
brokers_count
, чтобы увеличить количество хостов-брокеров:resource "yandex_mdb_kafka_cluster" "<имя_кластера>" { config { brokers_count = <количество_хостов-брокеров> ... } ... }
-
Измените в описании кластера Managed Service for Apache Kafka® значение параметра
resource_preset_id
в блокеkafka.resources
, чтобы задать новый класс хостов-брокеров:resource "yandex_mdb_kafka_cluster" "<имя_кластера>" { ... kafka { resources { resource_preset_id = "<класс_хостов-брокеров>" ... } } }
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее см. в документации провайдера Terraform
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение всех операций с кластером Managed Service for Apache Kafka® 60 минутами.
Операции, длящиеся дольше указанного времени, прерываются.
Добавьте к описанию кластера блок timeouts
, например:
resource "yandex_mdb_kafka_cluster" "<имя_кластера>" {
...
timeouts {
create = "1h30m" # Полтора часа
update = "2h" # 2 часа
delete = "30m" # 30 минут
}
}
Чтобы изменить класс и количество хостов-брокеров, воспользуйтесь методом REST API update для ресурса Cluster или вызовом gRPC API ClusterService/Update и передайте в запросе:
- Идентификатор кластера в параметре
clusterId
. Чтобы узнать идентификатор, получите список кластеров в каталоге. - Класс хостов-брокеров в параметре
configSpec.kafka.resources.resourcePresetId
. - Количество хостов-брокеров в параметре
configSpec.brokersCount
. - Список настроек, которые необходимо изменить, в параметре
updateMask
.
Важно
Этот метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask
(одной строкой через запятую).
Изменить класс хостов ZooKeeper
- Перейдите на страницу каталога
и выберите сервис Managed Service for Kafka. - В строке с нужным кластером нажмите на значок
, затем выберите Изменить кластер. - Выберите новый Класс хоста ZooKeeper.
- Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы изменить класс хостов ZooKeeper:
-
Получите информацию о кластере:
yc managed-kafka cluster list yc managed-kafka cluster get <имя_или_идентификатор_кластера>
-
Посмотрите описание команды CLI для изменения кластера:
yc managed-kafka cluster update --help
-
Чтобы изменить класс хостов ZooKeeper, выполните команду:
yc managed-kafka cluster update <имя_или_идентификатор_кластера> \ --zookeeper-resource-preset <класс_хоста>
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
-
Измените в описании кластера Managed Service for Apache Kafka® значение параметра
resource_preset_id
в блокеzookeeper.resources
, чтобы задать новый класс хостов ZooKeeper:resource "yandex_mdb_kafka_cluster" "<имя_кластера>" { ... zookeeper { resources { resource_preset_id = "<класс_хостов_ZooKeeper>" ... } } }
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее см. в документации провайдера Terraform
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение всех операций с кластером Managed Service for Apache Kafka® 60 минутами.
Операции, длящиеся дольше указанного времени, прерываются.
Добавьте к описанию кластера блок timeouts
, например:
resource "yandex_mdb_kafka_cluster" "<имя_кластера>" {
...
timeouts {
create = "1h30m" # Полтора часа
update = "2h" # 2 часа
delete = "30m" # 30 минут
}
}
Чтобы изменить класс хостов ZooKeeper, воспользуйтесь методом REST API update для ресурса Cluster или вызовом gRPC API ClusterService/Update и передайте в запросе:
- Идентификатор кластера в параметре
clusterId
. Чтобы узнать идентификатор, получите список кластеров в каталоге. - Класс хостов ZooKeeper в параметре
configSpec.zookeeper.resources.resourcePresetId
. - Список настроек, которые необходимо изменить, в параметре
updateMask
.
Важно
Этот метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask
(одной строкой через запятую).
Увеличить размер хранилища
Важно
Тип диска для кластера Apache Kafka® нельзя изменить после создания.
Проверьте, что в облаке достаточно квот для увеличения хранилища. Откройте страницу Квоты
Чтобы увеличить размер хранилища для кластера:
- Перейдите на страницу каталога
и выберите сервис Managed Service for Kafka. - В строке с нужным кластером нажмите на значок
, затем выберите Изменить кластер. - Измените настройки в блоке Хранилище.
- Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы увеличить размер хранилища для хостов:
-
Посмотрите описание команды CLI для изменения кластера:
yc managed-kafka cluster update --help
-
Чтобы изменить объем хранилища хостов-брокеров, выполните команду:
yc managed-kafka cluster update <имя_или_идентификатор_кластера> \ --disk-size <объем_хранилища>
Если не указаны единицы размера, то используются гигабайты.
-
Чтобы изменить объем хранилища хостов ZooKeeper, выполните команду:
yc managed-kafka cluster update <имя_или_идентификатор_кластера> \ --zookeeper-disk-size <размер_диска>
Если не указаны единицы размера, то используются гигабайты.
Чтобы увеличить размер хранилища для кластера
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
-
Измените в описании кластера Managed Service for Apache Kafka® значение параметра
disk_size
в блокахkafka.resources
иzookeeper.resources
для хостов Apache Kafka® и ZooKeeper соответственно:resource "yandex_mdb_kafka_cluster" "<имя_кластера>" { ... kafka { resources { disk_size = <размер_хранилища_ГБ> ... } ... } zookeeper { resources { disk_size = <размер_хранилища_ГБ> ... } } }
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее см. в документации провайдера Terraform
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение всех операций с кластером Managed Service for Apache Kafka® 60 минутами.
Операции, длящиеся дольше указанного времени, прерываются.
Добавьте к описанию кластера блок timeouts
, например:
resource "yandex_mdb_kafka_cluster" "<имя_кластера>" {
...
timeouts {
create = "1h30m" # Полтора часа
update = "2h" # 2 часа
delete = "30m" # 30 минут
}
}
Чтобы увеличить размер хранилища для кластера, воспользуйтесь методом REST API update для ресурса Cluster или вызовом gRPC API ClusterService/Update и передайте в запросе:
- Идентификатор кластера в параметре
clusterId
. Чтобы узнать идентификатор, получите список кластеров в каталоге. - Новые настройки хранилища в параметре
configSpec.kafka.resources
(configSpec.zookeeper.resources
— для хостов ZooKeeper). - Список настроек, которые необходимо изменить, в параметре
updateMask
.
Важно
Этот метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask
(одной строкой через запятую).
Изменить настройки групп безопасности и публичного доступа
- Перейдите на страницу каталога
и выберите сервис Managed Service for Kafka. - В строке с нужным кластером нажмите на значок
, затем выберите Изменить кластер. - В блоке Сетевые настройки выберите группы безопасности для сетевого трафика кластера.
- Установите или отключите публичный доступ к кластеру при помощи опции Публичный доступ.
- Нажмите кнопку Сохранить.
Перезагрузите кластер, чтобы изменение настройки публичного доступа вступило в силу.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы изменить список групп безопасности для кластера:
-
Посмотрите описание команды CLI для изменения кластера:
yc managed-kafka cluster update --help
-
Укажите нужные группы безопасности и настройку публичного доступа в команде изменения кластера:
yc managed-kafka cluster update <имя_или_идентификатор_кластера> \ --security-group-ids <список_групп_безопасности> \ --assign-public-ip=<публичный_доступ>
Где:
--security-group-ids
— список идентификаторов групп безопасности кластера.--assign-public-ip
— публичный доступ к кластеру:true
илиfalse
.
Перезагрузите кластер, чтобы изменение настройки публичного доступа вступило в силу.
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
-
Измените значения параметров
security_group_ids
иassign_public_ip
в описании кластера:resource "yandex_mdb_kafka_cluster" "<имя_кластера>" { ... security_group_ids = [ <список_групп_безопасности> ] ... config { assign_public_ip = "<публичный_доступ>" ... } }
Где:
security_group_ids
— список идентификаторов групп безопасности кластера.assign_public_ip
— публичный доступ к кластеру:true
илиfalse
.
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Перезагрузите кластер, чтобы изменение настройки публичного доступа вступило в силу.
Подробнее см. в документации провайдера Terraform
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение всех операций с кластером Managed Service for Apache Kafka® 60 минутами.
Операции, длящиеся дольше указанного времени, прерываются.
Добавьте к описанию кластера блок timeouts
, например:
resource "yandex_mdb_kafka_cluster" "<имя_кластера>" {
...
timeouts {
create = "1h30m" # Полтора часа
update = "2h" # 2 часа
delete = "30m" # 30 минут
}
}
Чтобы изменить настройки групп безопасности и публичного доступа, воспользуйтесь методом REST API update для ресурса Cluster или вызовом gRPC API ClusterService/Update и передайте в запросе:
- Идентификатор кластера в параметре
clusterId
. Чтобы узнать идентификатор, получите список кластеров в каталоге. - Список идентификаторов групп безопасности в параметре
securityGroupIds
. - Значение настройки публичного доступа в параметре
configSpec.assignPublicIp
. - Список настроек, которые необходимо изменить, в параметре
updateMask
.
Важно
Этот метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask
(одной строкой через запятую).
Перезагрузите кластер, чтобы изменение настройки публичного доступа вступило в силу.
Для подключения к кластеру может потребоваться дополнительная настройка групп безопасности.
Изменить дополнительные настройки кластера
-
Перейдите на страницу каталога
и выберите сервис Managed Service for Kafka. -
В строке с нужным кластером нажмите на значок
, затем выберите Изменить кластер. -
Измените дополнительные настройки кластера:
-
Окно обслуживания — настройки времени технического обслуживания:
- Чтобы разрешить проведение технического обслуживания в любое время, выберите пункт произвольное (по умолчанию).
- Чтобы указать предпочтительное время начала обслуживания, выберите пункт по расписанию и укажите нужные день недели и час дня по UTC. Например, можно выбрать время, когда кластер наименее загружен.
Операции по техническому обслуживанию проводятся для включенных и выключенных кластеров. Они могут включать в себя: обновление СУБД, применение патчей и так далее.
-
Доступ из Data Transfer в режиме Serverless — включите эту опцию, чтобы разрешить доступ к кластеру из сервиса Yandex Data Transfer в Serverless-режиме.
Это позволит через специальную сеть подключаться к Yandex Data Transfer, запущенному в Kubernetes. В результате будут быстрее выполняться, например, запуск и деактивация трансфера.
-
Защита от удаления — управляет защитой кластера, его баз данных и пользователей от непреднамеренного удаления.
Включенная защита от удаления кластера не помешает подключиться к нему вручную и удалить данные.
-
Реестр схем данных — включите эту опцию, чтобы управлять схемами данных с помощью Managed Schema Registry.
Важно
Настройку Реестр схем данных невозможно отключить после ее включения.
-
-
Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы изменить дополнительные настройки кластера:
-
Посмотрите описание команды CLI для изменения кластера:
yc managed-kafka cluster update --help
-
Выполните команду, передав список настроек, которые хотите изменить:
yc managed-kafka cluster update <имя_или_идентификатор_кластера> \ --maintenance-window type=<тип_технического_обслуживания>,` `day=<день_недели>,` `hour=<час_дня> \ --datatransfer-access=<доступ_к_кластеру> \ --deletion-protection=<защита_от_удаления> \ --schema-registry=<управление_схемами_данных>
Вы можете изменить следующие настройки:
-
--maintenance-window
— настройки времени технического обслуживания (в т. ч. для выключенных кластеров), гдеtype
— тип технического обслуживания:anytime
(по умолчанию) — в любое время.weekly
— по расписанию. При задании этого значения укажите день недели и час дня:day
— день недели в форматеDDD
:MON
,TUE
,WED
,THU
,FRI
,SAT
илиSUN
.hour
— час дня по UTC в форматеHH
: от1
до24
.
-
--datatransfer-access
— разрешает доступ к кластеру из сервиса Yandex Data Transfer в Serverless-режиме:true
илиfalse
. Значение по умолчанию —false
.Это позволит через специальную сеть подключаться к Yandex Data Transfer, запущенному в Kubernetes. В результате будут быстрее выполняться, например, запуск и деактивация трансфера.
-
--deletion-protection
— защита кластера, его баз данных и пользователей от непреднамеренного удаления:true
илиfalse
.Включенная защита от удаления кластера не помешает подключиться к нему вручную и удалить данные.
-
--schema-registry
– включите эту опцию, чтобы управлять схемами данных с помощью Managed Schema Registry.Важно
Настройку Реестр схем данных невозможно отключить после ее включения.
Идентификатор и имя кластера можно получить со списком кластеров в каталоге.
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
-
Чтобы настроить время технического обслуживания (в т. ч. для выключенных кластеров), добавьте к описанию кластера блок
maintenance_window
:resource "yandex_mdb_kafka_cluster" "<имя_кластера>" { ... maintenance_window { type = <тип_технического_обслуживания> day = <день_недели> hour = <час_дня> } ... }
Где:
type
— тип технического обслуживания. Принимает значения:ANYTIME
— в любое время.WEEKLY
— по расписанию.
day
— день недели для типаWEEKLY
в форматеDDD
. Например,MON
.hour
— час дня по UTC для типаWEEKLY
в форматеHH
. Например,21
.
-
Чтобы включить защиту кластера от непреднамеренного удаления пользователем вашего облака, добавьте к описанию кластера поле
deletion_protection
со значениемtrue
:resource "yandex_mdb_kafka_cluster" "<имя_кластера>" { ... deletion_protection = <защита_от_удаления> }
Включенная защита от удаления кластера не помешает подключиться к нему вручную и удалить данные.
-
Чтобы включить управление схемами данных с помощью Managed Schema Registry, добавьте к описанию кластера поле
config.schema_registry
со значениемtrue
:resource "yandex_mdb_kafka_cluster" "<имя кластера>" { ... config { ... schema_registry = <управление_схемами_данных> } }
Важно
Настройку Реестр схем данных невозможно отключить после ее включения.
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее см. в документации провайдера Terraform
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение всех операций с кластером Managed Service for Apache Kafka® 60 минутами.
Операции, длящиеся дольше указанного времени, прерываются.
Добавьте к описанию кластера блок timeouts
, например:
resource "yandex_mdb_kafka_cluster" "<имя_кластера>" {
...
timeouts {
create = "1h30m" # Полтора часа
update = "2h" # 2 часа
delete = "30m" # 30 минут
}
}
Чтобы изменить дополнительные настройки кластера, воспользуйтесь методом REST API update для ресурса Cluster или вызовом gRPC API ClusterService/Update и передайте в запросе:
-
Идентификатор кластера в параметре
clusterId
. Чтобы узнать идентификатор, получите список кластеров в каталоге. -
Настройки времени технического обслуживания (в т. ч. для выключенных кластеров) в параметре
maintenanceWindow
. -
Настройки доступа к кластеру из сервиса Yandex Data Transfer в Serverless-режиме в параметре
configSpec.access.dataTransfer
.Это позволит через специальную сеть подключаться к Yandex Data Transfer, запущенному в Kubernetes. В результате будут быстрее выполняться, например, запуск и деактивация трансфера.
-
Настройки защиты от удаления кластера в параметре
deletionProtection
.Включенная защита от удаления кластера не помешает подключиться к нему вручную и удалить данные.
-
Настройки управления схемами данных с помощью Managed Schema Registry в параметре
configSpec.schemaRegistry
.Важно
Настройку Реестр схем данных невозможно отключить после ее включения.
-
Список изменяемых полей конфигурации кластера в параметре
updateMask
.
Важно
Этот метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask
(одной строкой через запятую).
Изменить настройки Apache Kafka®
-
Перейдите на страницу каталога
и выберите сервис Managed Service for Kafka. -
В строке с нужным кластером нажмите на значок
, затем выберите Изменить кластер. -
В блоке Настройки Kafka нажмите кнопку Настроить.
Подробнее см. в разделе Настройки Apache Kafka®.
-
Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы изменить настройки Apache Kafka®:
-
Посмотрите описание команды CLI для изменения настроек кластера:
yc managed-kafka cluster update --help
-
Измените настройки Apache Kafka® в команде изменения кластера (в примере приведены не все настройки):
yc managed-kafka cluster update <имя_или_идентификатор_кластера> \ --compression-type <тип_сжатия> \ --log-flush-interval-messages <количество_сообщений_в_логе> \ --log-flush-interval-ms <максимальное_время_хранения_сообщений>
Где:
--log-flush-interval-messages
— количество сообщений в логе, необходимое для их сброса на диск.--log-flush-interval-ms
— максимальное время хранения сообщений в памяти перед сбросом на диск.
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
-
Измените в описании кластера Managed Service for Apache Kafka® значения параметров в блоке
kafka.kafka_config
(в примере приведены не все настройки):resource "yandex_mdb_kafka_cluster" "<имя_кластера>" { ... config { kafka { ... kafka_config { compression_type = "<тип_сжатия>" log_flush_interval_messages = <максимальное_количество_сообщений_в_памяти> ... } } } }
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее см. в документации провайдера Terraform
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение всех операций с кластером Managed Service for Apache Kafka® 60 минутами.
Операции, длящиеся дольше указанного времени, прерываются.
Добавьте к описанию кластера блок timeouts
, например:
resource "yandex_mdb_kafka_cluster" "<имя_кластера>" {
...
timeouts {
create = "1h30m" # Полтора часа
update = "2h" # 2 часа
delete = "30m" # 30 минут
}
}
Чтобы изменить настройки Apache Kafka®, воспользуйтесь методом REST API update для ресурса Cluster или вызовом gRPC API ClusterService/Update и передайте в запросе:
-
Идентификатор кластера в параметре
clusterId
. Чтобы узнать идентификатор, получите список кластеров в каталоге. -
Новые значения настроек Apache Kafka® в параметре:
configSpec.kafka.kafkaConfig_2_8
, если используете Apache Kafka® версии2.8
;configSpec.kafka.kafkaConfig_3
, если используете Apache Kafka® версий3.x
.
-
Список настроек, которые необходимо изменить, в параметре
updateMask
.
Важно
Этот метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask
(одной строкой через запятую).
Переместить кластер
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы переместить кластер:
-
Посмотрите описание команды CLI для перемещения кластера:
yc managed-kafka cluster move --help
-
Укажите каталог назначения в команде перемещения кластера:
yc managed-kafka cluster move <идентификатор_кластера> \ --destination-folder-name=<имя_каталога_назначения>
Идентификатор кластера можно получить со списком кластеров в каталоге.
Чтобы переместить кластер, воспользуйтесь методом REST API move для ресурса Cluster или вызовом gRPC API ClusterService/Move и передайте в запросе:
- Идентификатор кластера в параметре
clusterId
. Чтобы узнать идентификатор, получите список кластеров в каталоге. - Идентификатор каталога назначения в параметре
destinationFolderId
.
Изменить группы безопасности
- Перейдите на страницу каталога
и выберите сервис Managed Service for Kafka. - В строке с нужным кластером нажмите на значок
, затем Изменить кластер. - В блоке Сетевые настройки выберите группы безопасности для сетевого трафика кластера.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы изменить список групп безопасности для кластера:
-
Посмотрите описание команды CLI для изменения кластера:
yc managed-kafka cluster update --help
-
Укажите нужные группы безопасности в команде изменения кластера:
yc managed-kafka cluster update <имя_или_идентификатор_кластера> \ --security-group-ids <список_групп_безопасности>
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
-
Измените значение параметра
security_group_ids
в описании кластера:resource "yandex_mdb_kafka_cluster" "<имя_кластера>" { ... security_group_ids = [ <список_групп_безопасности> ] }
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее см. в документации провайдера Terraform
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение всех операций с кластером Managed Service for Apache Kafka® 60 минутами.
Операции, длящиеся дольше указанного времени, прерываются.
Добавьте к описанию кластера блок timeouts
, например:
resource "yandex_mdb_kafka_cluster" "<имя_кластера>" {
...
timeouts {
create = "1h30m" # Полтора часа
update = "2h" # 2 часа
delete = "30m" # 30 минут
}
}
Чтобы изменить группы безопасности, воспользуйтесь методом REST API update для ресурса Cluster или вызовом gRPC API ClusterService/Update и передайте в запросе:
- Идентификатор кластера в параметре
clusterId
. Чтобы узнать идентификатор, получите список кластеров в каталоге. - Список идентификаторов групп безопасности в параметре
securityGroupIds
. - Список настроек, которые необходимо изменить, в параметре
updateMask
.
Важно
Этот метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask
(одной строкой через запятую).
Может потребоваться дополнительная настройка групп безопасности для подключения к кластеру.