Kafka helm chart:java.io.IOException:无法创建数据目录/opt/kafka/data/logs

Kafka helm chart: java.io.IOException: Failed to create data directory /opt/kafka/data/logs

我知道这个问题已经存在,但它与 Kubernetes 或容器有关。

图表存储库https://github.com/helm/charts/tree/master/incubator/kafka

helm install kafka-test incubator/kafka

我在使用 helm charts 安装 Kafka 时遇到以下异常。

[2020-06-24 01:54:05,234] INFO Log directory /opt/kafka/data/logs not found, creating it. (kafka.log.LogManager)
[2020-06-24 01:54:05,235] ERROR Failed to create or validate data directory /opt/kafka/data/logs (kafka.server.LogDirFailureChannel)
java.io.IOException: Failed to create data directory /opt/kafka/data/logs
    at kafka.log.LogManager$$anonfun$createAndValidateLogDirs.apply(LogManager.scala:158)
    at kafka.log.LogManager$$anonfun$createAndValidateLogDirs.apply(LogManager.scala:149)
    at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)
    at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48)
    at kafka.log.LogManager.createAndValidateLogDirs(LogManager.scala:149)
    at kafka.log.LogManager.<init>(LogManager.scala:80)
    at kafka.log.LogManager$.apply(LogManager.scala:953)
    at kafka.server.KafkaServer.startup(KafkaServer.scala:237)
    at io.confluent.support.metrics.SupportedServerStartable.startup(SupportedServerStartable.java:114)
    at io.confluent.support.metrics.SupportedKafka.main(SupportedKafka.java:66)
[2020-06-24 01:54:05,239] ERROR Shutdown broker because none of the specified log dirs from /opt/kafka/data/logs can be created or validated (kafka.log.LogManager)

这是权限相关的问题。 我检查了 values.yaml 文件。

有一个属性

## Optional Container Security context
securityContext: {}

我已将该值更改为以 root 用户身份在下方点赞

## Optional Container Security context
securityContext:
  runAsUser: 0

运行 它作为特权容器。

securityContext:
  runAsUser: 0
  privileged: true

Reference