【问题标题】:How to create own Kubernetes Strimzi Operator's Kafka user Certificates & Keys?如何创建自己的 Kubernetes Strimzi Operator Kafka 用户证书和密钥?
【发布时间】:2020-07-20 01:21:33
【问题描述】:

我们知道,默认情况下,当我们创建 Strimzi-Kafka 用户时,用户会在 Kubernetes secrets-manager 中获得自己的 user.crt 和 user.key,但我想使用自己的 user.crt 和 user.key,是可行吗?

而不是先创建用户然后用我们自己的密钥替换!我们是否可以选择传递我们自己的 crt,运行时用户创建的键?我们可以在部署文件中以某种方式指定吗?

来自官方文档:我得到了这个https://strimzi.io/docs/master/#installing-your-own-ca-certificates-str,但它是为kind:Kafka 而不是kind:KafkaUser,因为我们知道kind:KafkaUser 用于创建用户。

【问题讨论】:

  • @Jakub 你能帮我简而言之:如何将 acl/tls 应用于我创建的用户?请
  • @ppatierno 你也能解决这个问题吗?简而言之:如何将 acl/tls 应用于我创建的用户?
  • 那么,如果你想提供自己的密钥和证书 -> 你真的需要使用 User Operator 和 Kafka User 资源吗?你需要它做什么?对于 ACL?
  • @Jakub 请查看我在以下答案中遵循的过程!如果还有其他程序,请告诉我们。
  • 是的,我认为这看起来不错。

标签: kubernetes apache-kafka kubernetes-helm kubernetes-pod strimzi


【解决方案1】:

我自己回答我的问题!

第 1 步:

kubectl -n <namespace> create secret generic <ca-cert-secret> --from-file=ca.crt=<ca-cert-file>

例如:

kubectl -n kafka create secret generic custom-strimzi-user --from-file=ca.crt=ca-decoded.crt --from-file=user.crt=user-decoded.crt --from-file=user.key=user-decoded.key -o yaml

第二步:

kubectl -n <namespace> label secret <ca-cert-secret> strimzi.io/kind=<Kafka or KafkaUser> strimzi.io/cluster=<my-cluster>

例如:

kubectl -n kafka label secret custom-strimzi-user strimzi.io/kind=KafkaUser strimzi.io/cluster=kafka

STEP3:现在为上面创建的用户启用 ACL 和 TLS:

应用Strimzi官方提供的create user yaml部署文件(kind:KafkaUser)格式,将用户名替换为上面创建的用户名,然后执行:

kubectl apply -f kafka-create-user.yml

注意:如果我们在创建自定义用户之前运行kubectl apply -f kafka-create-user.yml,就像在 STEP1 和 STEP2 中一样,那么 Strimzi 会创建一个拥有自己的用户user.crtuser.key

仅供参考,上面我分享的是用户自定义 crt 和用户自定义 key 但对于运营商集群 CA (crt & key),我们在这里有官方文档:https://strimzi.io/docs/master/#installing-your-own-ca-certificates-str

问候, 苏迪尔·塔塔拉茹

【讨论】:

    猜你喜欢
    • 2020-07-28
    • 2021-08-21
    • 1970-01-01
    • 1970-01-01
    • 2018-02-08
    • 2015-01-01
    • 2017-07-12
    • 2019-12-05
    • 2021-02-09
    相关资源
    最近更新 更多