Руководство по системному администрированию#

Термины и определения#

Термин/аббревиатура

Определение

Платформа

Платформа оркестрации приложений со средствами автоматизации и управления на основе политик, например, Kubernetes

Deployment / «kind: Deployment»

Набор инструкций для запуска приложения в Kubernetes

Pod / «kind: Pod»

Набор контейнеров внутри узла кластера Kubernetes

CLI

Command line interface — интерфейс командной строки, где выполняются команды с использованием терминала

SDTM

Программный компонент Synapse Distributed Transaction Manager (код SDTM) из состава программного продукта Platform V Synapse Service Mesh (код SSM)

Kubernetes

Платформа оркестрации приложений со средствами автоматизации и управления на основе политик

MONA

Программный компонент Platform V Monitor — Объединенный мониторинг Unimon

SSM

Platform V Synapse Service Mesh — Программный продукт на базе Istio SE, обеспечивающий возможность создания сервисной сети поверх Платформенной в Kubernetes

URL

Uniform Resource Locator — стандартизированный способ записи адреса ресурса в сети Интернет»

DTM server

Приложение, обеспечивающее управление и агрегацию распределенных транзакций

API расширение

Cервис, расширяющий API для отправки сообщений Kafkа

KFGT / Kafka gateway

Компонент Kafka gateway продукта Platform V Enterprise integration (SEI)

KFGT dtm-интерфейс

Расширяющий Sidecar приложения для интеграции сервиса KFGT с DTM server и проведением XA-транзакции

XA транзакция

Спецификация распределенных транзакций

RM

Менеджер ресурсов (Resource Manager), поддерживающий DTM api (sdk)

Kafka

Распределенный программный брокер сообщений

Сценарии администрирования#

Программный компонент Synapse Distributed Transaction Manager (код SDTM) не имеет собственного пользовательского интерфейса для администрирования. Все действия по управлению им производятся с использованием интерфейсов, предоставляемых Платформой Kubernetes.

Администратору должна быть назначена роль по принципу минимальных полномочий.

Запуск#

  • С использованием веб-интерфейса Kubernetes

Шаг

Действие

Вход в веб-консоль Kubernetes

Перейти по ссылке (URL) веб-консоли нужного кластера Kubernetes, в окне ввода учетных данных ввести токен пользователя или «kubeconfig»

Переход в нужный проект

Выбрать нужный проект можно в выпадающем списке в шапке веб-интерфейса Kubernetes

Запуск Pod

1. В меню выберите пункт Workload/Deployments
2. На странице найдите нужный Deployment (можно использовать поиск по имени)
3. Нажмите ⋮ и выберите Scale
4. Задайте нужное количество Pods и нажмите Scale

Выход из веб-консоли Kubernetes

1. Нажмите по имени пользователя, чтобы раскрыть меню учетной записи
2. Выберите пункт Log out
3. Закройте окно браузера

  • Через CLI kubernetes (kubectl)

Шаг

Действия

Описание

Вход в kubernetes

Загрузите «kubeConfig» от вашего «ServiceAccount». Заведите переменную KUBECONFIG=~/.kube/config где располагается выгруженная конфигурация

Переход в нужный «Namespace»

Введите команду:
kubectl config set-context --current --namespace=<имя вашего проекта>

Запуск приложения

В консоли выполните команду:
kubectl scale --replicas=<N> deployment/<имя деплоймента>

N > 0 — требуемое количество запущенных Pods приложения

Остановка#

  • С использованием веб-интерфейса Kubernetes

Шаг

Действие

Логин в веб-консоль Kubernetes

Перейти по ссылке (URL) веб-консоли нужного кластера Kubernetes, в окне ввода учетных данных ввести токен пользователя или «kubeconfig»

Переход в нужный проект

Выбрать нужный проект можно в выпадающем списке в шапке веб-интерфейса Kubernetes

Остановка компонента

Выполнить следующие действия:
1. В меню выбрать пункт Workload/Deployments
2. На странице найти нужный Deployment (при необходимости воспользоваться поиском по имени)
3. Нажать ⋮ и выбрать Scale
4. Уменьшить количество Pods до 0 и нажать Scale

Выход из веб-консоли Kubernetes

Выполнить следующие действия:
1. Кликом по иконке пользователя раскрыть меню
2. Выбрать пункт Sign out
3. Закрыть окно браузера

  • Через CLI kubernetes (kubectl)

Шаг

Действия

Описание

Остановка приложения

В консоли выполнить команду
kubectl scale --replicas=0 deployment/<имя deployment>

Проверка работоспособности#

  • С использованием веб-интерфейса Kubernetes

Шаг

Действие

Вход в веб-консоль Kubernetes

Перейдите по ссылке (URL) веб-консоли нужного кластера Kubernetes, в окне ввода учетных данных введите токен пользователя или kubeconfig

Переход в нужный проект

Выберите нужный проект в выпадающем списке в шапке веб-интерфейса Kubernetes

Переход во вкладку Pod

1. В меню выбрать пункт Workload/Pods
2. В рамках таблицы Pods проверить столбец «Status», валидное значение «Running»

  • Через CLI kubernetes (kubectl)

Шаг

Действия

Описание

Получение имени Pod

В консоли выполнить команду kubectl get pod

Выбрать Pods с наименованиями «sdtm-api-transaction-manager-kafka-****», «kfgt-dtm-kafka-transactional-gateway-****», указанные наименования пригодятся на следующем шаге (<имя Pod>)

Проверить работоспособность

1. В консоли выполнить команду:
kubectl port-forward pod/<имя Pod> 8081:8081
2. Запустить еще одно окно консоли, в нем выполнить команду:
curl localhost:8081/api/health
3. Команда должна вывести строку «ok»
4. Завершить переадресацию портов нажатием Ctrl+C

Также проверить отсутствие ошибок в рамках логов приложения.

Настройка выделения ресурсов#

  • С использованием веб-интерфейса Kubernetes

Шаг

Действие

Логин в веб-консоль Kubernetes

Перейти по ссылке (URL) веб-консоли нужного кластера Kubernetes, в окне ввода учетных данных ввести токен пользователя или «kubeconfig»

Переход в проект

Выбрать нужный проект можно в выпадающем списке в шапке веб-интерфейса Kubernetes

Вход в Deployment

Выполнить следующие действия:
1. В меню выбрать пункт Workload/Deployments
2. На странице найти нужный Deployment (при необходимости воспользоваться поиском по имени)
3. Пройти по ссылке в наименовании ⋮ , выбрать Edit , перейти на вкладку YAML или JSON

Скорректировать параметры

В окне редактирования найдите параметры:
spec.template.spec.containers[*].resources.limits.cpu
spec.template.spec.containers[*].resources.limits.memory
spec.template.spec.containers[*].resources.requests.cpu
spec.template.spec.containers[*].resources.requests.memory
Установите нужные значения

Сохранение

Нажмите кнопку Update

Проверка конфигурации

Снова зайти на вкладку Edit в YAML или JSON

Выход из веб-консоли Kubernetes

Выполнить следующие действия:
1. Кликом по иконке пользователя раскрыть меню
2. Выбрать пункт Sign out
3. Закрыть окно браузера

  • Через CLI kubernetes (kubectl)

Шаг

Действие

Описание

Получить текущие Deployment приложений

1. В консоли выполнить команду:
kubectl get deployments
2. Выбрать тот Deployment приложения, у которого необходимо скорректировать выделения ресурсов

Скорректировать параметры

В консоли выполнить команду:
kubectl patch deploy "$DEPLOYMENT_NAME" --patch '{"spec": {"template": {"spec": {"containers": [{"name": "'"$CONTAINER_NAME"'", "resources": {"$LIMIT_TYPE": {"'"$LIMIT_ENV"'": "'"$VALUE"'"} } }]}}}}'

$CONTAINER_NAME — имя конфигурации «kind: Deployment»
$LIMIT_TYPE — секция где необходимо изменить квоту (limits/requests)
$LIMIT_ENV - значение лимита (cpu/memory)
$VALUE — необходимое значение (пример 1Gi)

Проверить конфигурацию

1. В консоли выполнить команду:
kubectl get deployment "$DEPLOYMENT_NAME" -o yaml
2. Убедиться, что желаемый результат зафиксирован

Изменение количества Pods#

  • С использованием веб-интерфейса Kubernetes

Шаг

Действие

Вход в веб-консоль Kubernetes

Перейти по ссылке (URL) веб-консоли нужного кластера Kubernetes, в окне ввода учетных данных ввести токен пользователя или «kubeconfig»

Переход в нужный проект

Выбрать нужный проект можно в выпадающем списке в шапке веб-интерфейса Kubernetes

Запуск Pod

1. В меню выберите пункт Workload/Deployments
2. На странице найдите нужный Deployment (можно использовать поиск по имени)
3. Нажать ⋮ и выбрать Scale
4. Задать нужное количество Pods и нажать Scale

Выход из веб-консоли Kubernetes

1. Нажмите по имени пользователя, чтобы раскрыть меню учетной записи.
2. Выберите пункт Log out.
3. Закройте окно браузера

  • Через CLI kubernetes (kubectl)

Шаг

Действия

Описание

Увеличить/уменьшить количество Pods

В консоли выполнить команду:
kubectl scale --replicas=<N> deployment/<имя деплоймента>

Выгрузка системных логов#

  • С использованием веб-интерфейса Kubernetes

Шаг

Действие

Вход в веб-консоль Kubernetes

Перейдите по ссылке (URL) веб-консоли нужного кластера Kubernetes, в окне ввода учетных данных введите токен пользователя или kubeconfig

Переход в нужный проект

Выберите нужный проект можно в выпадающем списке в шапке веб-интерфейса Kubernetes

Выгрузить лог

1. В меню выберите пункт Workload/Pods
2. На странице найдите нужный Pod (можно использовать поиск по имени)
3. Нажмите ⋮ и выберите Logs
4. Задайте в верхней панели имя контейнера (Logs from <имя контейнера> in <имя Pod>)

Выход из веб-консоли Kubernetes

1. Выберите имя пользователя, чтобы раскрыть меню учетной записи
2. Выберите пункт Log out
3. Закройте окно браузера

  • Через CLI kubernetes (kubectl)

Шаг

Действия

Описание

Выгрузить лог

В консоли выполнить команду:
kubectl logs -c <имя контейнера> <имя Pod> > <имя файла>.txt
где <имя контейнера> может быть названием контейнера приложения шлюза или контейнера

События системного журнала#

Системный лог выводится в консоль контейнера приложения.

API расширение#

Уровни логирования ERROR, WARN, INFO, DEBUG, FATAL или PANIC. Уровень логирования задается при старте приложения в настройках «kind: ConfigMap». Уровень по умолчанию: INFO. Уровень логирования устанавливает администратор данного компонента.

Уровень логирования DEBUG не рекомендован для ПРОМ среды.

Наименование контейнера в рамках «kind: Pod» — sdtm-proxy

Логирование об инициализации транзакции

{"level":"info","ts":"2024-11-13 15:04:39.4250","msg":"Client proxy start xa","xa":{"gid":"AL8EtqtZ3gvNdJbpmHVTgE","trans_type":"xa","branch_headers":{"Accept":"*/*","Content-Length":"5","Content-Type":"application/x-www-form-urlencoded","User-Agent":"curl/7.61.1"},"concurrent":false,"protocol":"","Phase2URL":""}}
{"level":"info","ts":"2024-11-13 15:35:46.4205","msg":"Client proxy incoming request"}

DTM server#

Уровни логирования ERROR, WARN, INFO, DEBUG, FATAL или PANIC. Уровень логирования задается при старте приложения в настройках «kind: ConfigMap». Уровень по умолчанию: INFO. Уровень логирования устанавливает администратор данного компонента.

Уровень логирования DEBUG не рекомендован для ПРОМ среды.

Наименование контейнера в рамках «kind: Pod» — sdtm

Логирование успешной передачи транзакции в KFGT

{"level":"info","ts":"2024-11-13T15:04:39.424Z","caller":"dtmutil/utils.go:118","msg":" 1ms 200 POST /api/dtmsvr/prepare {\"dtm_result\":\"SUCCESS\"}"}
{"level":"info","ts":"2024-11-13T15:04:39.428Z","caller":"dtmsvr/api.go:133","msg":"LockGlobalSaveBranches result: <nil>: gid: AL8EtqtZ3gvNdJbpmHVTgE old status: prepared branches: [{\"id\":0,\"create_time\":null,\"update_time\":null,\"gid\":\"AL8EtqtZ3gvNdJbpmHVTgE\",\"url\":\"HTTP://kafka-transactional-gateway-smvvpj:8081/server/xa\",\"branch_id\":\"01\",\"op\":\"rollback\",\"status\":\"prepared\"},{\"id\":0,\"create_time\":null,\"update_time\":null,\"gid\":\"AL8EtqtZ3gvNdJbpmHVTgE\",\"url\":\"HTTP://kafka-transactional-gateway-smvvpj:8081/server/xa\",\"branch_id\":\"01\",\"op\":\"commit\",\"status\":\"prepared\"}]"}
{"level":"info","ts":"2024-11-13T15:04:39.428Z","caller":"dtmutil/utils.go:118","msg":" 0ms 200 POST /api/dtmsvr/registerBranch {\"dtm_result\":\"SUCCESS\"}"}
{"level":"info","ts":"2024-11-13T15:04:39.428Z","caller":"dtmsvr/trans_process.go:98","msg":"MaySaveNewTrans result: storage: UniqueKeyConflict, global: {\"id\":0,\"create_time\":\"2024-11-13T15:04:39.428935293Z\",\"update_time\":\"2024-11-13T15:04:39.428935293Z\",\"gid\":\"AL8EtqtZ3gvNdJbpmHVTgE\",\"trans_type\":\"xa\",\"status\":\"submitted\",\"protocol\":\"http\",\"options\":\"{\\\"branch_headers\\\":{\\\"Accept\\\":\\\"*/*\\\",\\\"Content-Length\\\":\\\"5\\\",\\\"Content-Type\\\":\\\"application/x-www-form-urlencoded\\\",\\\"User-Agent\\\":\\\"curl/7.61.1\\\"},\\\"concurrent\\\":false}\",\"next_cron_interval\":10,\"next_cron_time\":\"2024-11-13T15:04:49.428927066Z\",\"branch_headers\":{\"Accept\":\"*/*\",\"Content-Length\":\"5\",\"Content-Type\":\"application/x-www-form-urlencoded\",\"User-Agent\":\"curl/7.61.1\"},\"concurrent\":false} branches: []"}
{"level":"info","ts":"2024-11-13T15:04:39.429Z","caller":"dtmsvr/trans_status.go:85","msg":"ChangeGlobalStatus to submitted ok for {\"id\":0,\"create_time\":\"2024-11-13T15:04:39.423849439Z\",\"update_time\":\"2024-11-13T15:04:39.429005856Z\",\"gid\":\"AL8EtqtZ3gvNdJbpmHVTgE\",\"trans_type\":\"xa\",\"status\":\"submitted\",\"protocol\":\"http\",\"options\":\"{\\\"concurrent\\\":false}\",\"next_cron_interval\":10,\"next_cron_time\":\"2024-11-13T15:04:49.4238354Z\",\"concurrent\":false}"}
{"level":"info","ts":"2024-11-13T15:04:39.429Z","caller":"dtmutil/utils.go:118","msg":" 0ms 200 POST /api/dtmsvr/submit {\"dtm_result\":\"SUCCESS\"}"}
{"level":"info","ts":"2024-11-13T15:04:39.439Z","caller":"dtmsvr/trans_status.go:105","msg":"LockGlobalSaveBranches ok: gid: AL8EtqtZ3gvNdJbpmHVTgE old status: prepared branches: {\"id\":0,\"create_time\":null,\"update_time\":\"2024-11-13T15:04:39.438561504Z\",\"gid\":\"AL8EtqtZ3gvNdJbpmHVTgE\",\"url\":\"HTTP://kafka-transactional-gateway-smvvpj:8081/server/xa\",\"branch_id\":\"01\",\"op\":\"commit\",\"status\":\"succeed\",\"finish_time\":\"2024-11-13T15:04:39.438561504Z\"}"}
{"level":"info","ts":"2024-11-13T15:04:39.440Z","caller":"dtmsvr/trans_status.go:85","msg":"ChangeGlobalStatus to succeed ok for {\"id\":0,\"create_time\":\"2024-11-13T15:04:39.428935293Z\",\"update_time\":\"2024-11-13T15:04:39.439471256Z\",\"gid\":\"AL8EtqtZ3gvNdJbpmHVTgE\",\"trans_type\":\"xa\",\"status\":\"succeed\",\"protocol\":\"http\",\"finish_time\":\"2024-11-13T15:04:39.439471256Z\",\"options\":\"{\\\"branch_headers\\\":{\\\"Accept\\\":\\\"*/*\\\",\\\"Content-Length\\\":\\\"5\\\",\\\"Content-Type\\\":\\\"application/x-www-form-urlencoded\\\",\\\"User-Agent\\\":\\\"curl/7.61.1\\\"},\\\"concurrent\\\":false}\",\"next_cron_interval\":10,\"next_cron_time\":\"2024-11-13T15:04:49.428927066Z\",\"branch_headers\":{\"Accept\":\"*/*\",\"Content-Length\":\"5\",\"Content-Type\":\"application/x-www-form-urlencoded\",\"User-Agent\":\"curl/7.61.1\"},\"concurrent\":false}"}

KFGT dtm-интерфейс#

Уровни логирования ERROR, WARN, INFO, DEBUG, FATAL или PANIC. Уровень логирования задается при старте приложения в настройках «kind: ConfigMap». Уровень по умолчанию: INFO. Уровень логирования устанавливает администратор данного компонента.

Уровень логирования DEBUG не рекомендован для ПРОМ среды.

Наименование контейнера в рамках «kind: Pod» — kfgt-dtm-interface

Логирование об успешной записи транзакции в DTM server

{"level":"info","ts":"2024-11-13 15:04:39.4270","msg":"Action","gid":"AL8EtqtZ3gvNdJbpmHVTgE"}
{"level":"info","ts":"2024-11-13 15:04:39.4309","msg":"Commit","gid":"AL8EtqtZ3gvNdJbpmHVTgE"}

Логирование о получении пустого запроса

{"level":"error","ts":"2024-11-14 08:11:51.2446","msg":"response status is not 200","status code":400,"gid":"vHjXhsASXX4n6rRMgiLfrU","stacktrace":"dtm-demo-server/internal/logger.Error\n\tdtm-demo-server/internal/logger/logger.go:50\ndtm-demo-server/internal/pkg/adapter/kfgt.(*HttpClient).Send\n\tdtm-demo-server/internal/pkg/adapter/kfgt/http.go:54\ndtm-demo-server/internal/pkg/adapter/kfgt.(*KfgtAdapter).Send\n\tdtm-demo-server/internal/pkg/adapter/kfgt/kfgt.go:36\ndtm-demo-server/internal/service.(*ServerProxy).ProxyXa\n\tdtm-demo-server/internal/service/server.go:62\ndtm-demo-server/internal/handler.(*ServerHandler).Proxy\n\tdtm-demo-server/internal/handler/server.go:37\nnet/http.HandlerFunc.ServeHTTP\n\tnet/http/server.go:2171\nnet/http.(*ServeMux).ServeHTTP\n\tnet/http/server.go:2688\ndtm-demo-server/internal/handler.(*ServerHandler).ServeHTTP\n\tdtm-demo-server/internal/handler/server.go:33\nnet/http.serverHandler.ServeHTTP\n\tnet/http/server.go:3142\nnet/http.(*conn).serve\n\tnet/http/server.go:2044"}
{"level":"error","ts":"2024-11-14 08:11:51.2446","msg":"Server proxy send failed","error":"got error from kfgt","stacktrace":"dtm-demo-server/internal/logger.Error\n\tdtm-demo-server/internal/logger/logger.go:50\ndtm-demo-server/internal/service.(*ServerProxy).ProxyXa\n\tdtm-demo-server/internal/service/server.go:64\ndtm-demo-server/internal/handler.(*ServerHandler).Proxy\n\tdtm-demo-server/internal/handler/server.go:37\nnet/http.HandlerFunc.ServeHTTP\n\tnet/http/server.go:2171\nnet/http.(*ServeMux).ServeHTTP\n\tnet/http/server.go:2688\ndtm-demo-server/internal/handler.(*ServerHandler).ServeHTTP\n\tdtm-demo-server/internal/handler/server.go:33\nnet/http.serverHandler.ServeHTTP\n\tnet/http/server.go:3142\nnet/http.(*conn).serve\n\tnet/http/server.go:2044"}
{"level":"error","ts":"2024-11-14 08:11:51.2447","msg":"Error proxying XA request","body":{},"error":"got error from kfgt","stacktrace":"dtm-demo-server/internal/logger.Error\n\tdtm-demo-server/internal/logger/logger.go:50\ndtm-demo-server/internal/handler.(*ServerHandler).Proxy\n\tdtm-demo-server/internal/handler/server.go:39\nnet/http.HandlerFunc.ServeHTTP\n\tnet/http/server.go:2171\nnet/http.(*ServeMux).ServeHTTP\n\tnet/http/server.go:2688\ndtm-demo-server/internal/handler.(*ServerHandler).ServeHTTP\n\tdtm-demo-server/internal/handler/server.go:33\nnet/http.serverHandler.ServeHTTP\n\tnet/http/server.go:3142\nnet/http.(*conn).serve\n\tnet/http/server.go:2044"}

KFGT#

Уровни логирования ERROR, WARN, INFO, DEBUG, FATAL или PANIC. Уровень логирования задается при старте приложения в настройках «kind: ConfigMap». Уровень по умолчанию: INFO. Уровень логирования устанавливает администратор данного компонента.

Уровень логирования DEBUG не рекомендован для ПРОМ среды.

Наименование контейнера в рамках «kind: Pod» — kfgt

Логирование об успешной отправке транзакции в Kafka

2024-11-13 15:04:39.433 [INFO ] [http-nio-8080-exec-35] [c.s.s.kafka.service.api.RestService] [T:] - Сообщение получено от сервиса: RqUID: AL8EtqtZ3gvNdJbpmHVTgE
2024-11-13 15:04:39.436 [INFO ] [http-nio-8080-exec-35] [c.s.s.kafka.service.KafkaService] [T:] - Сообщение отправлено в топик topic-test в кластер [vm-sy-sec-test-sy-kafka-111.vdc09.sy.dev.sbt:9092] RqUID: AL8EtqtZ3gvNdJbpmHVTgE

Логирование о недоступности сервиса

2024-11-14 07:53:57.480 [INFO ] [main] [c.s.s.c.s.util.GRpcServiceUtils] [T:] - Недоступен повтор запросов для канала 127.0.0.1:6565

Предупреждение о пустом запросе

2024-11-14 08:11:01.989 [WARN ] [http-nio-8080-exec-5] [o.s.w.s.m.s.DefaultHandlerExceptionResolver] [T:] - Resolved [org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing: public org.springframework.http.ResponseEntity<java.lang.String> com.sbt.synapse.kafka.service.api.RestService.controller(java.lang.String,org.springframework.http.HttpHeaders)]

События мониторинга#

Программный компонент SDTM не интегрирован с компонентом «Объединенный мониторинг Unimon» продукта Platform V Monitor (MONA).

Для наблюдения за состоянием Pods используйте существующие средства мониторинга Платформы, описанные в документации на конкретную платформу.

Компонент не порождает метрики мониторинга.

Часто встречающиеся проблемы и пути их устранения#

Проблема

Причина

Решение

Не стартует Pod приложения

Недостаточно ресурсов

Увеличить limits/requests для приложения

Не стартует Pod приложения

Нет доступной node для запуска

Зарегистрировать обращение в поддержку инфраструктуры

Не стартует Pod приложения

Ошибка в конфигурации

Выгрузить лог, провести анализ, скорректировать конфигурацию

Частый перезапуск контейнера приложения

Медленная загрузка приложения

Увеличить задержку и/или интервал опроса Liveness пробы

Частый перезапуск контейнера приложения

Недостаточно ресурсов

Увеличить limits/requests для приложения

Ошибка при вызове

Нет доступных Pods сервиса, которому направлен вызов

Проверить состояние сервиса - получателя вызова

Ошибка при вызове

Ошибки в конфигурации сервисного прокси

Выгрузить лог сервисного прокси, проанализировать, устранить ошибки (ознакомиться с указанными действиями можно в документации компонента SPVX «Руководство по системному администрированию», раздел «Сценарии администрирования»).
Пример устранения: редактирование конфигурации Istio по host вызываемого сервиса

Ошибка при вызове

Ошибки в конфигурации kafka-шлюза (KFGT)

Выгрузить лог kafka-шлюза, проанализировать, устранить ошибки (ознакомиться с указанными действиями можно в документации компонента KFGT «Руководство по системному администрированию», раздел «Сценарии администрирования»).
Пример устранения: редактирование конфигурации «kind: ConfigMap» по доступу в kafka