Я пытаюсь настроить шифрование, аутентификацию и внешний доступ для Confluent Kafka в Kubernetes.
рулевая диаграмма https://github.com/confluentinc/cp-helm-charts.
Следующий документ: https://medium.com/weareservian/encryption-authentication-and-external-access-for-confluent-kafka-on-kubernetes-69c723a612fc
Согласно документу, который я настроил
секреты.yaml https://raw.githubusercontent.com/bakuppus/kafka-demo/master/secrets.yaml
Statefulset.yaml https://github.com/bakuppus/kafka-demo/blob/master/cp-helm-charts/charts/cp-kafka/templates/statefulset.yaml
При установке SSL согласно экспорт KAFKA_ADVERTISED_LISTENERS=SSL://${POD_IP}:9092,ВНЕШНИЙ://${HOST_IP}:$((31090 + ${KAFKA_BROKER_ID})) && \
Поды получают CrashLoopBackOff
my-confluent-oss-cp-kafka-0 2/3 CrashLoopBackOff 3 2m40s my-confluent-oss-cp-kafka-1 2/3 CrashLoopBackOff 3 2m13s my-confluent-oss-cp-kafka-2 2/3 Ошибка 3 111s
ошибка журнала kubectl
SSL включен. Кодек ascii не может декодировать байт 0xb5 в позиции 0: порядковый номер не в диапазоне (128) Команда [/usr/local/bin/dub template /etc/confluent/docker/kafka.properties.template /etc/kafka/kafka.properties] НЕУДАЧА!
У вас есть незашифрованные пароли в файле secrets.yaml
: они должны быть закодированы в base64, как файлы хранилища ключей.
Кроме того, похоже, что вам не хватает сопоставления протокола для именованного прослушивателя EXTERNAL, переменная среды KAFKA_LISTENER_SECURITY_PROTOCOL_MAP
должна быть:
- name: KAFKA_LISTENER_SECURITY_PROTOCOL_MAP
value: SSL:SSL,PLAINTEXT:PLAINTEXT,EXTERNAL:SSL
@Rayan ** Как решить ** ` SSL включен. Команда [/usr/local/bin/dub path /etc/kafka/secrets/kafka.broker.keystore.jks существует] ОШИБКА! ` Спасибо
В Statefulset отсутствует VolumeMount для монтирования секретов в путь /etc/kafka/secrets — посмотрите, например, статью. Вы указали его не в том контейнере
Спасибо, Райан, проблема с монтированием исправлена, как и у вас.
POD по-прежнему аварийно завершает работу с ошибкой [2019-05-26 06:28:56,270] ERROR Неустранимая ошибка при запуске SupportedServerStartable. Подготовьтесь к завершению работы (io.confluent.support.metrics.SupportedKafka) java.lang.IllegalArgumentException: ошибка при создании слушателей брокера из «SSL://10.60.0.28:9093,EXTERNAL://10.60.0.4:31090»: нет протокола безопасности определено для слушателя SSL
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP
установлен как в исходном ответе? эта ошибка указывает на отсутствие сопоставления для объявленного прослушивателя SSL
Да, Райан, пожалуйста, посмотри на github.com/bakuppus/kafka-demo/blob/master/cp-helm-charts/…
К вашему сведению: - Я отправил сюда свой последний код - github.com/bakuppus/kafka-demo
Большое спасибо, Райан, кодировка base64 устраняет предыдущую ошибку, но модули все еще падают и получают следующую ошибку: ===> Настройка... SSL включен. Команда [/usr/local/bin/dub path /etc/kafka/secrets/kafka.broker.keystore.jks существует] ОШИБКА! [root@ip-172-31-53-106 кафка]#