小编kev*_*oei的帖子

如何通过JAAS配置kafka env变量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";
};
Run Code Online (Sandbox Code Playgroud)

然后在我的 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";
      };
Run Code Online (Sandbox Code Playgroud)

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

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: "}" …
Run Code Online (Sandbox Code Playgroud)

apache-kafka kubernetes

3
推荐指数
1
解决办法
4407
查看次数

标签 统计

apache-kafka ×1

kubernetes ×1