Шифрование, аутентификация и внешний доступ для Confluent Kafka в Kubernetes - PullRequest
0 голосов
/ 22 мая 2019

Пытаюсь настроить шифрование, аутентификацию и внешний доступ для 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

В соответствии с документом, который я настроил

  1. secrets.yaml https://raw.githubusercontent.com/bakuppus/kafka-demo/master/secrets.yaml

  2. Statefulset.yaml https://github.com/bakuppus/kafka-demo/blob/master/cp-helm-charts/charts/cp-kafka/templates/statefulset.yaml

Пока установлен SSL согласно export KAFKA_ADVERTISED_LISTENERS = SSL: // $ {POD_IP}: 9092, EXTERNAL: // $ {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 logs

SSL включен. Кодек 'ascii' не может декодировать байт 0xb5 в позиции 0: порядковый номер не в диапазоне (128) Команда [/ usr / local / bin / dub template /etc/confluent/docker/kafka.properties.template /etc/kafka/kafka.properties] FAILED!

1 Ответ

0 голосов
/ 23 мая 2019

У вас есть незашифрованные пароли в файле secrets.yaml: они должны быть закодированы как base64, как файлы хранилища ключей.

Кроме того, похоже, что вы пропустили сопоставление протокола для указанного EXTERNAL слушателя, KAFKA_LISTENER_SECURITY_PROTOCOL_MAP переменная окружения должна быть:

        - name: KAFKA_LISTENER_SECURITY_PROTOCOL_MAP
          value: SSL:SSL,PLAINTEXT:PLAINTEXT,EXTERNAL:SSL
...