【问题标题】:Encryption, authentication and external access for Confluent Kafka on KubernetesConfluent Kafka on Kubernetes 的加密、身份验证和外部访问
【发布时间】:2019-10-09 07:58:16
【问题描述】:

我正在尝试在 Kubernetes 上为 Confluent Kafka 配置加密、身份验证和外部访问。

舵图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})) && \

Pod 正在发生 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”编解码器无法解码位置 0 中的字节 0xb5:序数不在范围内(128) 命令 [/usr/local/bin/dub 模板 /etc/confluent/docker/kafka.properties.template /etc/kafka/kafka.properties] 失败!

【问题讨论】:

    标签: kubernetes apache-kafka kubernetes-helm


    【解决方案1】:

    secrets.yaml 文件中有明文密码:它们需要像密钥库文件一样进行 base64 编码。

    此外,您似乎缺少命名的 EXTERNAL 侦听器的协议映射,KAFKA_LISTENER_SECURITY_PROTOCOL_MAP 环境变量应该是:

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

    【讨论】:

    • 非常感谢 Ryan,base64 编码解决了之前的错误,但 pod 仍然崩溃并出现以下错误:===> 正在配置... SSL 已启用。命令 [/usr/local/bin/dub 路径 /etc/kafka/secrets/kafka.broker.keystore.jks 存在] 失败! [root@ip-172-31-53-106 kafka]#
    • @Rayan **如何解决 ** ` SSL 已启用。命令 [/usr/local/bin/dub 路径 /etc/kafka/secrets/kafka.broker.keystore.jks 存在] 失败! ` 谢谢
    • Statefulset 缺少用于将秘密挂载到 /etc/kafka/secrets 路径的 volumeMount - 例如查看文章。你把它列在错误的容器下
    • 感谢 Ryan,安装问题已按照您的方法解决。
    • 仍然 POD 因错误而崩溃 [2019-05-26 06:28:56,270] 错误 SupportedServerStartable 启动期间出现致命错误。准备关闭 (io.confluent.support.metrics.SupportedKafka) java.lang.IllegalArgumentException:从“SSL://10.60.0.28:9093,EXTERNAL://10.60.0.4:31090”创建代理侦听器时出错:没有安全协议为侦听器 SSL 定义
    猜你喜欢
    • 1970-01-01
    • 2011-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-17
    相关资源
    最近更新 更多