如何通过JAAS配置Kafka环境变量kubernetes

凯文萨莫伊

我正在尝试通过SASL对我的Kafka rest代理进行身份验证,但是我无法将本地docker compose中所做的配置转移到Kubernetes。

我正在使用JAAS配置来实现这一点。我的JAAS文件看起来像这样。

KafkaClient {
       org.apache.kafka.common.security.plain.PlainLoginModule required
       username="rest"
       password="rest-secret";
};

Client {
       org.apache.zookeeper.server.auth.DigestLoginModule required
       username="rest"
       password="restsecret";
};

然后在我的docker compose中,我完成了:

KAFKA_OPTS: -Djava.security.auth.login.config=/etc/kafka/secrets/rest_jaas.conf

我将如何将同样的逻辑转移到Kubernetes?我试过像这样传递env变量:

env:
  - name: KAFKA_OPTS
    value: |
      KafkaClient {
        org.apache.kafka.common.security.plain.PlainLoginModule required
        username="rest"
        password="rest-secret";
      };
      Client {
        org.apache.zookeeper.server.auth.DigestLoginModule required
        username="rest"
        password="rest-secret";
      };

但仍然失败。这是我的日志所说的:

Error: Could not find or load main class KafkaClient
/bin/sh: 3: org.apache.kafka.common.security.plain.PlainLoginModule: not found
/bin/sh: 6: Syntax error: "}" unexpected

非常感谢您的帮助。

瓦西里·安加波夫(Vasily Angapov)

将您的Kafka JAAS配置文件另存为rest_jaas.conf。然后执行:

kubectl create secret generic kafka-secret --from-file=rest_jaas.conf

然后在您的部署中插入:

      env:
      - name: KAFKA_OPTS 
        value: -Djava.security.auth.login.config=/etc/kafka/secrets/rest_jaas.conf
      volumeMounts:
      - name: kafka-secret
        mountPath: /etc/kafka/secrets
        subPath: rest_jaas.conf
    volumes:
    - name: kafka-secret
      secret:
        secretName: kafka-secret

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何通过Kubernetes statefulset环境变量更改Postgresql max_connections配置?

SBT:如何访问环境变量或配置?

如何在Kubernetes配置文件中添加环境变量?

如何通过环境变量或配置文件禁用JxBrowser中的GPU加速?

如何通过环境变量在SSIS 2012中配置项目连接管理器

如何通过Elasticbeanstalk配置文件(使用Docker)访问环境变量?

如何通过jenkins配置文件提供openshift环境变量?

通过Kubernetes中的服务传递环境变量?

Jenkins kubernetes插件未通过管道传递环境变量

LLVM环境变量在哪里或如何配置LLVM环境?

通过环境变量配置Docker容器的Solr数据导入

通过环境变量进行数据库配置

通过C#删除为lambda配置的环境变量

如何通过环境文件设置环境变量

如何通过环境变量识别Buildbot环境?

如何通过环境文件在Docker中传递环境变量?

Kafka在kubernetes上使用sasl.jaas.config配置jaas

Kubernetes容器环境变量

从环境变量配置Dancer?

如何通过环境变量覆盖局部变量

如何在 kubernetes 容器中创建环境变量

如何使用kubernetes env访问容器环境变量?

如何在容器内访问 Kubernetes 集群环境变量?

如何在Kubernetes中取消设置环境变量?

如何临时更改kubernetes容器的环境变量?

如何在kubernetes的环境变量中设置mountPath的值?

如何配置Apache钻取选项为环境变量?

如何在Scala的TypeSafe配置中读取环境变量?

如何在spring xml配置中注入环境变量?