新的 kafka pod 副本在缩放时找不到 CA

New kafka pod replicas cannot find CA on scaling

我有一个带有 kafka zookeeper statefulset 的 kubernetes 集群,可以在一个 pod 上正常工作。但是,出于性能原因,我尝试使用以下命令将 statefulset 扩展到三个 pods:

kubectl scale statefulset <my_zookeper_statefulset> --replicas=3

两个新的 pods 进入错误,然后进入 CrashLoopBackOff 并显示以下日志:

Detected Zookeeper ID 3
Preparing truststore
Adding /opt/kafka/cluster-ca-certs/ca.crt to truststore /tmp/zookeeper/cluster.truststore.p12 with alias ca
Certificate was added to keystore
Preparing truststore is complete
Looking for the right CA
No CA found. Thus exiting.

有问题的证书存在并且被现有的 pod 使用没有问题。 当我尝试扩展我的 kafka 代理时出现同样的错误。

Tl;dr:如何无误地扩展 kafka?

什么时候用Kafka就不能走这条路了。为此,您需要在文件中配置副本参数。 Kafka 资源的 spec 属性示例:

apiVersion: YourVersion
kind: Kafka 
metadata: 
  name: my-cluster
spec: 
  kafka: 
    replicas: 3 

其次,您还可以创建 ReplicationController Service 以便轻松地使用副本。