Изменение настроек кластера Apache Kafka®
После создания кластера Managed Service for Apache Kafka® вы можете:
- изменить имя и описание кластера;
- изменить класс и количество хостов-брокеров;
- изменить класс хостов ZooKeeper;
- изменить настройки групп безопасности и публичного доступа;
- изменить дополнительные настройки кластера;
- изменить настройки Apache Kafka®;
- переместить кластер в другой каталог.
Подробнее о других изменениях кластера:
- Обновление версии Apache Kafka®.
- Управление дисковым пространством в кластере Managed Service for Apache Kafka®.
- Миграция хостов кластера 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 <имя_или_идентификатор_кластера> \ --new-name <новое_имя_кластера> \ --description <новое_описание_кластера>
Чтобы узнать имя или идентификатор кластера, получите список кластеров в каталоге.
Внимание
Не изменяйте имя кластера с помощью Terraform. Это приведет к удалению существующего кластера и созданию нового.
Чтобы изменить описание кластера:
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
Как создать такой файл, см. в разделе Создание кластера.
-
Измените в описании кластера Managed Service for Apache Kafka® значение параметра
description
:resource "yandex_mdb_kafka_cluster" "<имя_кластера>" { name = "<имя_кластера>" description = "<новое_описание_кластера>" ... }
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее см. в документации провайдера Terraform
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с кластером Yandex Managed Service for Valkey™:
- создание, в т. ч. путем восстановления из резервной копии, — 15 минут;
- изменение — 60 минут;
- удаление — 15 минут.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию кластера блок timeouts
, например:
resource "yandex_mdb_redis_cluster" "<имя_кластера>" {
...
timeouts {
create = "1h30m" # Полтора часа
update = "2h" # 2 часа
delete = "30m" # 30 минут
}
}
Чтобы изменить дополнительные настройки кластера, воспользуйтесь методом REST API update для ресурса Cluster или вызовом gRPC API ClusterService/Update и передайте в запросе:
- Идентификатор кластера в параметре
clusterId
. Чтобы узнать идентификатор кластера, получите список кластеров в каталоге. - Новое имя кластера в параметре
name
. - Новое описание кластера в параметре
description
. - Список полей, которые необходимо изменить (в данном случае —
name
иdescription
), в параметреupdateMask
.
Важно
Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask
(одной строкой через запятую).
Изменить класс и количество хостов-брокеров
Увеличить количество хостов-брокеров можно, если выполняются условия:
- В кластере используется версия Apache Kafka® 3.5 или ниже. В кластерах с версией Apache Kafka® 3.6 или выше используется протокол Apache Kafka® Raft, из-за чего в таких кластерах всегда ровно три хоста 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
Примечание
Класс хостов ZooKeeper используется только в кластерах с версией Apache Kafka® 3.5 и ниже.
- Перейдите на страницу каталога
и выберите сервис 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
(одной строкой через запятую).
Изменить настройки групп безопасности и публичного доступа
- Перейдите на страницу каталога
и выберите сервис 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. Например, можно выбрать время, когда кластер наименее загружен.
Операции по техническому обслуживанию проводятся для включенных и выключенных кластеров. Они могут включать в себя: обновление СУБД, применение патчей и так далее.
-
Защита от удаления — управляет защитой кластера, его баз данных и пользователей от непреднамеренного удаления.
Включенная защита от удаления кластера не помешает подключиться к нему вручную и удалить данные.
-
Чтобы управлять схемами данных с помощью Managed Schema Registry, включите настройку Реестр схем данных.
Важно
Настройку Реестр схем данных невозможно отключить после ее включения.
-
Чтобы разрешить отправку запросов к API Apache Kafka®, включите настройку Kafka Rest API.
В качестве реализации используется приложение с открытым исходным кодом Karapace
. API Karapace совместимо с API Confluent REST Proxy за исключением небольших расхождений.Важно
Настройку Kafka Rest API невозможно отключить после ее включения.
-
-
Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы изменить дополнительные настройки кластера:
-
Посмотрите описание команды CLI для изменения кластера:
yc managed-kafka cluster update --help
-
Выполните команду, передав список настроек, которые хотите изменить:
yc managed-kafka cluster update <имя_или_идентификатор_кластера> \ --maintenance-window type=<тип_технического_обслуживания>,` `day=<день_недели>,` `hour=<час_дня> \ --deletion-protection \ --schema-registry=<управление_схемами_данных>
Вы можете изменить следующие настройки:
-
--maintenance-window
— настройки времени технического обслуживания (в т. ч. для выключенных кластеров), гдеtype
— тип технического обслуживания:anytime
(по умолчанию) — в любое время.weekly
— по расписанию. При задании этого значения укажите день недели и час дня:day
— день недели в форматеDDD
:MON
,TUE
,WED
,THU
,FRI
,SAT
илиSUN
.hour
— час дня по UTC в форматеHH
: от1
до24
.
-
--deletion-protection
— защита кластера, его баз данных и пользователей от непреднамеренного удаления.Включенная защита от удаления кластера не помешает подключиться к нему вручную и удалить данные.
-
--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
. -
Настройки защиты от удаления кластера в параметре
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
.