TOOLS/ — generators + scripts + config + ARCHITECTURE.md ├── yaml-generator/ (code) ├── resource-generator/ (code) ├── docs-generator/ (code) ├── scripts/ (← devops/*.sh) ├── config/ (← devops/profiles/ + devops/config/) │ ├── test/ profile.env, services_list.txt, operation_timeouts.json │ ├── prod/ │ └── dev/ └── ARCHITECTURE.md (← devops/ARCHITECTURE.md) generated/ — pipeline output only (gitignored) ├── test/resources_yaml/, go/, docs/, provider_build/ ├── prod/ └── dev/ provider/ — code only, no generated files resources_yaml/ — DELETED (generated) internal/resources_gen/ — DELETED (generated) devops/ — removed (replaced by TOOLS/scripts + TOOLS/config + generated/) Generators now fail if NUBES_*_DIR not set (no defaults to provider/). Provider requires pipeline to populate resources_gen/ before build.
39 KiB
39 KiB
Resource nubes_kafka
Service ID: 116
Service Name: ApacheKafka
Manual | Create params | Modify params | Output params | Operations | Example
Operations
create— Создание кластера. Параметры: Create paramscreate_topic— # Инструкция по управлению топиками Apache Kafka через платформу ## 1. Общая информация --- Топик — это основная сущность в Apache Kafka, предназначенная для приёма сообщений от продюсеров и передачи их консюмерам. Платформа позволяет создавать, удалять и изменять параметры топиков без прямого доступа к брокерам, обеспечивая удобное управление через интерфейс или API. --- ## Доступные операции - create_topic — Создание топика - modify_topic — Модификация топика - delete_topic — Удаление топика --- ## 2. Параметры создания топика Ниже перечислены параметры, которые необходимо указать при создании нового топика: * Имя топика Название топика. Должно быть уникальным в пределах кластера. Пример:orders-events. * Партиции Количество партиций топика. Рекомендуется выбирать с учётом уровня параллелизма потребителей и предполагаемой нагрузки. Пример:6. Здесь важно рассказать о том как происходит расчет оптимального количества Обратите внимание: уменьшить количество партиций после создания невозможно, поэтому лучше закладывать небольшой запас на будущий рост нагрузки. * Реплики Количество реплик для каждой партиции. Обычно равно количеству доступных брокеров или меньше. Пример:3. --- ## 4. Параметры модификации топика Для уже существующих топиков можно изменять параметры. Все параметры являются опциональными: * Имя топика Название топика. Пример:orders-events. * Партиции Новое количество партиций. Пример:12. * Реплики Новое количество реплик. Пример:2. --- ## 5. Рекомендации * Планируйте количество партиций с запасом — уменьшение их числа невозможно. * Количество реплик должно соответствовать требуемому уровню отказоустойчивости, но не превышать количество брокеров. * Изменение параметров топика в рабочем окружении может временно влиять на производительность. Рекомендуется проводить крупные изменения в периоды минимальной нагрузки. ---. См. nubes_kafka_topiccreate_user— # Инструкция по управлению пользователями Apache Kafka. --- ## 1. Общая информация Пользователи в Apache Kafka используются для аутентификации и авторизации при подключении к кластеру. Платформа позволяет создавать, удалять и изменять пользователей без прямого доступа к брокерам, а также настраивать права доступа к топикам и группам. Это обеспечивает централизованное и безопасное управление доступом к ресурсам Kafka. --- ## Доступные операции - create_user — Создание пользователя - modify_user — Модификация пользователя - delete_user — Удаление пользователя --- ## 2. Параметры создания пользователя Ниже перечислены параметры, которые необходимо указать при создании нового пользователя: * Имя пользователя Имя создаваемого пользователя. Используется для подключения к Kafka и настройки прав. Пример:username-admin* Топик Название топика, к которому будут назначены права для данного пользователя. Пример:orders-events. Использовать маску нельзя (orders*), только полное название или*. * Операции Список разрешённых операций на указанном топике. Пример:Describe, Read, Write* Группа Имя группы, которой разрешён доступ. Используется при настройке консюмер-групп. Пример:order-consumers. * Разрешённые хосты Список хостов или подсетей, с которых разрешено подключение пользователя. Пример:192.168.1.0/24или*. --- ## 3. Параметры модификации пользователя Ниже перечислены параметры, которые необходимо указать при модификации пользователя: * Имя пользователя Имя создаваемого пользователя. Используется для подключения к Kafka и настройки прав. Пример:username-admin* Топик Название топика, к которому будут назначены права для данного пользователя. Пример:orders-events. Использовать маску нельзя (orders*), только полное название или*. * Операции Список разрешённых операций на указанном топике. Пример:Describe, Read, Write* Группа Имя группы, которой разрешён доступ. Используется при настройке консюмер-групп. Пример:order-consumers. * Разрешённые хосты Список хостов или подсетей, с которых разрешено подключение пользователя. Пример:192.168.1.0/24или*. --- ## 4. Параметры удалении пользователя Ниже перечислены параметры, которые необходимо указать при удалении пользователя: * Имя пользователя Имя удаляемого пользователя. Пример:username-admin## 5. Выходные параметры После успешного создания пользователя платформа возвращает параметры, необходимые для подключения: * ca.crt Корневой сертификат (Certificate Authority), используемый для проверки подлинности сервера при TLS-подключении. Файл содержит публичный ключ удостоверяющего центра, которому доверяют брокеры и клиенты. Выдаеться в формате base64 для получения файла сертификата использовать командуbash echo '<содержание поля>' | base64 -d > <название>.crt* ca.p12 PKCS#12-хранилище с корневым сертификатом (Certificate Authority), используемое для проверки подлинности сервера при TLS-подключении. Выдаеться в формате base64 для получения файла сертификата использовать командуbash echo '<содержание поля>' | base64 -d > <название>.p12* ca.password Пароль для доступа к хранилищуca.p12. Выдаеться в чистом виде. Раскодировать не нужно. * user.crt Клиентский сертификат, подтверждающий личность пользователя при подключении к Kafka. Используется совместно с приватным ключомuser.keyдля аутентификации. Выдаеться в формате base64 для получения файла сертификата использовать командуbash echo '<содержание поля>' | base64 -d > <название>.crt* user.key Приватный ключ пользователя, применяемый для установления защищённого TLS-соединения и подтверждения подлинности. Выдаеться в формате base64 для получения файла сертификата использовать командуbash echo '<содержание поля>' | base64 -d > <название>.key* user.p12 PKCS#12-хранилище с клиентским сертификатом и приватным ключом, предназначенное для аутентификации пользователя в Kafka. Выдаеться в формате base64 для получения файла сертификата использовать командуbash echo "<содержание поля>" | base64 -d > <название>.p12* user.password Пароль для доступа к хранилищуuser.p12. Выдаеться в чистом виде. Раскодировать не нужно. Эти параметры используются для настройки TLS-подключения. --- ## 6. Пример конфигурации клиента внутри кластера Пример пода:yaml apiVersion: v1 kind: Pod metadata: name: kafka-4 spec: volumes: - name: work emptyDir: {} containers: - name: kcat image: quay.io/strimzi/kafka:latest-kafka-4.0.0 command: ["sleep", "5600"] volumeMounts: - name: work mountPath: /work restartPolicy: NeverСоздаём под и сохраняем сертификаты:bash kubectl cp user.p12 kafka-4:/work/ kubectl cp ca.p12 kafka-4:/work/Создаём файлы конфигурации:bash cat > /work/user-read.properties <<'EOF' security.protocol=SSL ssl.keystore.type=PKCS12 ssl.keystore.location=/work/user.p12 ssl.keystore.password=<user.password> ssl.truststore.type=PKCS12 ssl.truststore.location=/work/ca.p12 ssl.truststore.password=<ca.password> EOFbash cat > /work/user-write.properties <<'EOF' security.protocol=SSL ssl.keystore.type=PKCS12 ssl.keystore.location=/work/user-write.p12 ssl.keystore.password=<user.password> ssl.truststore.type=PKCS12 ssl.truststore.location=/work/ca.p12 ssl.truststore.password=<ca.password> EOFЛистинг доступных топиков:bash /opt/kafka/bin/kafka-topics.sh \ --bootstrap-server kafkak8s-bootstrap-external:9093 \ --command-config /work/user-read.properties \ --listЗапись сообщений:bash /opt/kafka/bin/kafka-console-producer.sh \ --bootstrap-server <адрес сервис брокера>:9093 \ --topic <topic> \ --producer.config /work/user-write.propertiesЧтение сообщений:bash /opt/kafka/bin/kafka-console-consumer.sh \ --bootstrap-server <адрес сервис брокера>:9093 \ --topic <topic> \ --from-beginning \ --group <group> \ --consumer.config /work/user-read.properties \ --max-messages 50--- ## 7. Пример внешнего подключения с использованием kcat Листинг топиковbash kcat -b <externalConnect.bootstrap.fqdn>:9093 \ -L \ -X security.protocol=SSL \ -X ssl.ca.location=./ca.crt \ -X ssl.certificate.location=./user-read.crt \ -X ssl.key.location=./user-read.key \ -X ssl.endpoint.identification.algorithm=noneЗапись сообщенияbash echo "hello from kcat" | kcat -P \ -b <externalConnect.bootstrap.fqdn>:9093 \ -t write-test \ -X security.protocol=SSL \ -X ssl.ca.location=./ca.crt \ -X ssl.certificate.location=./user-write.crt \ -X ssl.key.location=./user-write.key \ -X ssl.endpoint.identification.algorithm=noneЧтение сообщенийbash kcat -C \ -b <externalConnect.bootstrap.fqdn>:9093 \ -t write-test \ -o beginning \ -q \ -X security.protocol=SSL \ -X ssl.ca.location=./ca.crt \ -X ssl.certificate.location=./user-read.crt \ -X ssl.key.location=./user-read.key \ -X ssl.endpoint.identification.algorithm=none--- ## 9. Рекомендации * Минимизируйте набор разрешённых операций для повышения безопасности. * Используйте отдельные учётные записи для продюсеров, консюмеров и системных сервисов. * Ограничивайте доступ по IP или подсетям с помощью параметра Разрешённые хосты. * После изменения прав или групп пользователя рекомендуется проверить подключение и доступ к топикам. ---. См. nubes_kafka_userdeletedelete_topic— . См. nubes_kafka_topicdelete_user— # Инструкция по управлению пользователями Apache Kafka. --- ## 1. Общая информация Пользователи в Apache Kafka используются для аутентификации и авторизации при подключении к кластеру. Платформа позволяет создавать, удалять и изменять пользователей без прямого доступа к брокерам, а также настраивать права доступа к топикам и группам. Это обеспечивает централизованное и безопасное управление доступом к ресурсам Kafka. --- ## Доступные операции - create_user — Создание пользователя - modify_user — Модификация пользователя - delete_user — Удаление пользователя --- ## 2. Параметры создания пользователя Ниже перечислены параметры, которые необходимо указать при создании нового пользователя: * Имя пользователя Имя создаваемого пользователя. Используется для подключения к Kafka и настройки прав. Пример:username-admin* Топик Название топика, к которому будут назначены права для данного пользователя. Пример:orders-events. Использовать маску нельзя (orders*), только полное название или*. * Операции Список разрешённых операций на указанном топике. Пример:Describe, Read, Write* Группа Имя группы, которой разрешён доступ. Используется при настройке консюмер-групп. Пример:order-consumers. * Разрешённые хосты Список хостов или подсетей, с которых разрешено подключение пользователя. Пример:192.168.1.0/24или*. --- ## 3. Параметры модификации пользователя Ниже перечислены параметры, которые необходимо указать при модификации пользователя: * Имя пользователя Имя создаваемого пользователя. Используется для подключения к Kafka и настройки прав. Пример:username-admin* Топик Название топика, к которому будут назначены права для данного пользователя. Пример:orders-events. Использовать маску нельзя (orders*), только полное название или*. * Операции Список разрешённых операций на указанном топике. Пример:Describe, Read, Write* Группа Имя группы, которой разрешён доступ. Используется при настройке консюмер-групп. Пример:order-consumers. * Разрешённые хосты Список хостов или подсетей, с которых разрешено подключение пользователя. Пример:192.168.1.0/24или*. --- ## 4. Параметры удалении пользователя Ниже перечислены параметры, которые необходимо указать при удалении пользователя: * Имя пользователя Имя удаляемого пользователя. Пример:username-admin## 5. Выходные параметры После успешного создания пользователя платформа возвращает параметры, необходимые для подключения: * ca.crt Корневой сертификат (Certificate Authority), используемый для проверки подлинности сервера при TLS-подключении. Файл содержит публичный ключ удостоверяющего центра, которому доверяют брокеры и клиенты. Выдаеться в формате base64 для получения файла сертификата использовать командуbash echo '<содержание поля>' | base64 -d > <название>.crt* ca.p12 PKCS#12-хранилище с корневым сертификатом (Certificate Authority), используемое для проверки подлинности сервера при TLS-подключении. Выдаеться в формате base64 для получения файла сертификата использовать командуbash echo '<содержание поля>' | base64 -d > <название>.p12* ca.password Пароль для доступа к хранилищуca.p12. Выдаеться в чистом виде. Раскодировать не нужно. * user.crt Клиентский сертификат, подтверждающий личность пользователя при подключении к Kafka. Используется совместно с приватным ключомuser.keyдля аутентификации. Выдаеться в формате base64 для получения файла сертификата использовать командуbash echo '<содержание поля>' | base64 -d > <название>.crt* user.key Приватный ключ пользователя, применяемый для установления защищённого TLS-соединения и подтверждения подлинности. Выдаеться в формате base64 для получения файла сертификата использовать командуbash echo '<содержание поля>' | base64 -d > <название>.key* user.p12 PKCS#12-хранилище с клиентским сертификатом и приватным ключом, предназначенное для аутентификации пользователя в Kafka. Выдаеться в формате base64 для получения файла сертификата использовать командуbash echo "<содержание поля>" | base64 -d > <название>.p12* user.password Пароль для доступа к хранилищуuser.p12. Выдаеться в чистом виде. Раскодировать не нужно. Эти параметры используются для настройки TLS-подключения. --- ## 6. Пример конфигурации клиента внутри кластера Пример пода:yaml apiVersion: v1 kind: Pod metadata: name: kafka-4 spec: volumes: - name: work emptyDir: {} containers: - name: kcat image: quay.io/strimzi/kafka:latest-kafka-4.0.0 command: ["sleep", "5600"] volumeMounts: - name: work mountPath: /work restartPolicy: NeverСоздаём под и сохраняем сертификаты:bash kubectl cp user.p12 kafka-4:/work/ kubectl cp ca.p12 kafka-4:/work/Создаём файлы конфигурации:bash cat > /work/user-read.properties <<'EOF' security.protocol=SSL ssl.keystore.type=PKCS12 ssl.keystore.location=/work/user.p12 ssl.keystore.password=<user.password> ssl.truststore.type=PKCS12 ssl.truststore.location=/work/ca.p12 ssl.truststore.password=<ca.password> EOFbash cat > /work/user-write.properties <<'EOF' security.protocol=SSL ssl.keystore.type=PKCS12 ssl.keystore.location=/work/user-write.p12 ssl.keystore.password=<user.password> ssl.truststore.type=PKCS12 ssl.truststore.location=/work/ca.p12 ssl.truststore.password=<ca.password> EOFЛистинг доступных топиков:bash /opt/kafka/bin/kafka-topics.sh \ --bootstrap-server kafkak8s-bootstrap-external:9093 \ --command-config /work/user-read.properties \ --listЗапись сообщений:bash /opt/kafka/bin/kafka-console-producer.sh \ --bootstrap-server <адрес сервис брокера>:9093 \ --topic <topic> \ --producer.config /work/user-write.propertiesЧтение сообщений:bash /opt/kafka/bin/kafka-console-consumer.sh \ --bootstrap-server <адрес сервис брокера>:9093 \ --topic <topic> \ --from-beginning \ --group <group> \ --consumer.config /work/user-read.properties \ --max-messages 50--- ## 7. Пример внешнего подключения с использованием kcat Листинг топиковbash kcat -b <externalConnect.bootstrap.fqdn>:9093 \ -L \ -X security.protocol=SSL \ -X ssl.ca.location=./ca.crt \ -X ssl.certificate.location=./user-read.crt \ -X ssl.key.location=./user-read.key \ -X ssl.endpoint.identification.algorithm=noneЗапись сообщенияbash echo "hello from kcat" | kcat -P \ -b <externalConnect.bootstrap.fqdn>:9093 \ -t write-test \ -X security.protocol=SSL \ -X ssl.ca.location=./ca.crt \ -X ssl.certificate.location=./user-write.crt \ -X ssl.key.location=./user-write.key \ -X ssl.endpoint.identification.algorithm=noneЧтение сообщенийbash kcat -C \ -b <externalConnect.bootstrap.fqdn>:9093 \ -t write-test \ -o beginning \ -q \ -X security.protocol=SSL \ -X ssl.ca.location=./ca.crt \ -X ssl.certificate.location=./user-read.crt \ -X ssl.key.location=./user-read.key \ -X ssl.endpoint.identification.algorithm=none--- ## 9. Рекомендации * Минимизируйте набор разрешённых операций для повышения безопасности. * Используйте отдельные учётные записи для продюсеров, консюмеров и системных сервисов. * Ограничивайте доступ по IP или подсетям с помощью параметра Разрешённые хосты. * После изменения прав или групп пользователя рекомендуется проверить подключение и доступ к топикам. ---. См. nubes_kafka_usermodify— Изменение кластера. Параметры: Modify paramsmodify_topic— # Инструкция по управлению топиками Apache Kafka через платформу ## 1. Общая информация --- Топик — это основная сущность в Apache Kafka, предназначенная для приёма сообщений от продюсеров и передачи их консюмерам. Платформа позволяет создавать, удалять и изменять параметры топиков без прямого доступа к брокерам, обеспечивая удобное управление через интерфейс или API. --- ## Доступные операции - create_topic — Создание топика - modify_topic — Модификация топика - delete_topic — Удаление топика --- ## 2. Параметры создания топика Ниже перечислены параметры, которые необходимо указать при создании нового топика: * Имя топика Название топика. Должно быть уникальным в пределах кластера. Пример:orders-events. * Партиции Количество партиций топика. Рекомендуется выбирать с учётом уровня параллелизма потребителей и предполагаемой нагрузки. Пример:6. Здесь важно рассказать о том как происходит расчет оптимального количества Обратите внимание: уменьшить количество партиций после создания невозможно, поэтому лучше закладывать небольшой запас на будущий рост нагрузки. * Реплики Количество реплик для каждой партиции. Обычно равно количеству доступных брокеров или меньше. Пример:3. --- ## 4. Параметры модификации топика Для уже существующих топиков можно изменять параметры. Все параметры являются опциональными: * Имя топика Название топика. Пример:orders-events. * Партиции Новое количество партиций. Пример:12. * Реплики Новое количество реплик. Пример:2. --- ## 5. Рекомендации * Планируйте количество партиций с запасом — уменьшение их числа невозможно. * Количество реплик должно соответствовать требуемому уровню отказоустойчивости, но не превышать количество брокеров. * Изменение параметров топика в рабочем окружении может временно влиять на производительность. Рекомендуется проводить крупные изменения в периоды минимальной нагрузки. ---. См. nubes_kafka_topicmodify_user— # Инструкция по управлению пользователями Apache Kafka. --- ## 1. Общая информация Пользователи в Apache Kafka используются для аутентификации и авторизации при подключении к кластеру. Платформа позволяет создавать, удалять и изменять пользователей без прямого доступа к брокерам, а также настраивать права доступа к топикам и группам. Это обеспечивает централизованное и безопасное управление доступом к ресурсам Kafka. --- ## Доступные операции - create_user — Создание пользователя - modify_user — Модификация пользователя - delete_user — Удаление пользователя --- ## 2. Параметры создания пользователя Ниже перечислены параметры, которые необходимо указать при создании нового пользователя: * Имя пользователя Имя создаваемого пользователя. Используется для подключения к Kafka и настройки прав. Пример:username-admin* Топик Название топика, к которому будут назначены права для данного пользователя. Пример:orders-events. Использовать маску нельзя (orders*), только полное название или*. * Операции Список разрешённых операций на указанном топике. Пример:Describe, Read, Write* Группа Имя группы, которой разрешён доступ. Используется при настройке консюмер-групп. Пример:order-consumers. * Разрешённые хосты Список хостов или подсетей, с которых разрешено подключение пользователя. Пример:192.168.1.0/24или*. --- ## 3. Параметры модификации пользователя Ниже перечислены параметры, которые необходимо указать при модификации пользователя: * Имя пользователя Имя создаваемого пользователя. Используется для подключения к Kafka и настройки прав. Пример:username-admin* Топик Название топика, к которому будут назначены права для данного пользователя. Пример:orders-events. Использовать маску нельзя (orders*), только полное название или*. * Операции Список разрешённых операций на указанном топике. Пример:Describe, Read, Write* Группа Имя группы, которой разрешён доступ. Используется при настройке консюмер-групп. Пример:order-consumers. * Разрешённые хосты Список хостов или подсетей, с которых разрешено подключение пользователя. Пример:192.168.1.0/24или*. --- ## 4. Параметры удалении пользователя Ниже перечислены параметры, которые необходимо указать при удалении пользователя: * Имя пользователя Имя удаляемого пользователя. Пример:username-admin## 5. Выходные параметры После успешного создания пользователя платформа возвращает параметры, необходимые для подключения: * ca.crt Корневой сертификат (Certificate Authority), используемый для проверки подлинности сервера при TLS-подключении. Файл содержит публичный ключ удостоверяющего центра, которому доверяют брокеры и клиенты. Выдаеться в формате base64 для получения файла сертификата использовать командуbash echo '<содержание поля>' | base64 -d > <название>.crt* ca.p12 PKCS#12-хранилище с корневым сертификатом (Certificate Authority), используемое для проверки подлинности сервера при TLS-подключении. Выдаеться в формате base64 для получения файла сертификата использовать командуbash echo '<содержание поля>' | base64 -d > <название>.p12* ca.password Пароль для доступа к хранилищуca.p12. Выдаеться в чистом виде. Раскодировать не нужно. * user.crt Клиентский сертификат, подтверждающий личность пользователя при подключении к Kafka. Используется совместно с приватным ключомuser.keyдля аутентификации. Выдаеться в формате base64 для получения файла сертификата использовать командуbash echo '<содержание поля>' | base64 -d > <название>.crt* user.key Приватный ключ пользователя, применяемый для установления защищённого TLS-соединения и подтверждения подлинности. Выдаеться в формате base64 для получения файла сертификата использовать командуbash echo '<содержание поля>' | base64 -d > <название>.key* user.p12 PKCS#12-хранилище с клиентским сертификатом и приватным ключом, предназначенное для аутентификации пользователя в Kafka. Выдаеться в формате base64 для получения файла сертификата использовать командуbash echo "<содержание поля>" | base64 -d > <название>.p12* user.password Пароль для доступа к хранилищуuser.p12. Выдаеться в чистом виде. Раскодировать не нужно. Эти параметры используются для настройки TLS-подключения. --- ## 6. Пример конфигурации клиента внутри кластера Пример пода:yaml apiVersion: v1 kind: Pod metadata: name: kafka-4 spec: volumes: - name: work emptyDir: {} containers: - name: kcat image: quay.io/strimzi/kafka:latest-kafka-4.0.0 command: ["sleep", "5600"] volumeMounts: - name: work mountPath: /work restartPolicy: NeverСоздаём под и сохраняем сертификаты:bash kubectl cp user.p12 kafka-4:/work/ kubectl cp ca.p12 kafka-4:/work/Создаём файлы конфигурации:bash cat > /work/user-read.properties <<'EOF' security.protocol=SSL ssl.keystore.type=PKCS12 ssl.keystore.location=/work/user.p12 ssl.keystore.password=<user.password> ssl.truststore.type=PKCS12 ssl.truststore.location=/work/ca.p12 ssl.truststore.password=<ca.password> EOFbash cat > /work/user-write.properties <<'EOF' security.protocol=SSL ssl.keystore.type=PKCS12 ssl.keystore.location=/work/user-write.p12 ssl.keystore.password=<user.password> ssl.truststore.type=PKCS12 ssl.truststore.location=/work/ca.p12 ssl.truststore.password=<ca.password> EOFЛистинг доступных топиков:bash /opt/kafka/bin/kafka-topics.sh \ --bootstrap-server kafkak8s-bootstrap-external:9093 \ --command-config /work/user-read.properties \ --listЗапись сообщений:bash /opt/kafka/bin/kafka-console-producer.sh \ --bootstrap-server <адрес сервис брокера>:9093 \ --topic <topic> \ --producer.config /work/user-write.propertiesЧтение сообщений:bash /opt/kafka/bin/kafka-console-consumer.sh \ --bootstrap-server <адрес сервис брокера>:9093 \ --topic <topic> \ --from-beginning \ --group <group> \ --consumer.config /work/user-read.properties \ --max-messages 50--- ## 7. Пример внешнего подключения с использованием kcat Листинг топиковbash kcat -b <externalConnect.bootstrap.fqdn>:9093 \ -L \ -X security.protocol=SSL \ -X ssl.ca.location=./ca.crt \ -X ssl.certificate.location=./user-read.crt \ -X ssl.key.location=./user-read.key \ -X ssl.endpoint.identification.algorithm=noneЗапись сообщенияbash echo "hello from kcat" | kcat -P \ -b <externalConnect.bootstrap.fqdn>:9093 \ -t write-test \ -X security.protocol=SSL \ -X ssl.ca.location=./ca.crt \ -X ssl.certificate.location=./user-write.crt \ -X ssl.key.location=./user-write.key \ -X ssl.endpoint.identification.algorithm=noneЧтение сообщенийbash kcat -C \ -b <externalConnect.bootstrap.fqdn>:9093 \ -t write-test \ -o beginning \ -q \ -X security.protocol=SSL \ -X ssl.ca.location=./ca.crt \ -X ssl.certificate.location=./user-read.crt \ -X ssl.key.location=./user-read.key \ -X ssl.endpoint.identification.algorithm=none--- ## 9. Рекомендации * Минимизируйте набор разрешённых операций для повышения безопасности. * Используйте отдельные учётные записи для продюсеров, консюмеров и системных сервисов. * Ограничивайте доступ по IP или подсетям с помощью параметра Разрешённые хосты. * После изменения прав или групп пользователя рекомендуется проверить подключение и доступ к топикам. ---. См. nubes_kafka_userresumesuspend