我尝试在k8s中部署Kafka,所以我需要使用hostpath来保存它的卷,但是当卷配置添加到部署文件时,这个错误会显示在Kafka pod中,并且pod状态变成Crash环回退:
mkdir: cannot create directory ‘/bitnami/config’: Permission denied
我想我必须改变权限,这样豆荚才能创建这个文件。
Deployment.yml:
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: kafka-broker
name: kafka-broker
namespace: kafka
spec:
replicas: 1
selector:
matchLabels:
app: kafka-broker
template:
metadata:
labels:
app: kafka-broker
spec:
containers:
- env:
- name: ALLOW_PLAINTEXT_LISTENER
value: "yes"
- name: KAFKA_BROKER_ID
value: "1"
- name: KAFKA_ZOOKEEPER_CONNECT
value: zookeeper-service:2181
- name: KAFKA_LISTENERS
value: PLAINTEXT://:9092
- name: KAFKA_ADVERTISED_LISTENERS
value: PLAINTEXT://:9092
image: bitnami/kafka
imagePullPolicy: IfNotPresent
name: kafka-broker
ports:
- containerPort: 9092
volumeMounts:
- name: kafka-data
readOnly: false
mountPath: "/bitnami/kafka"
volumes:
- name: kafka-data
hostPath:
path: /data/kafka-data
发布于 2022-09-30 07:13:42
你有没有试过
securityContext:
runAsUser: 1001
runAsGroup: 1001
fsGroup: 1001
在部署配置中?
Bitnami图像是非根用户,所需的用户1001与挂载卷(=> fsGroup)相同(参见https://github.com/bitnami/bitnami-docker-kafka#persisting-your-data )。
发布于 2022-10-01 10:51:41
通过使用以下命令更改工作服务器上的路径(在其中挂载pod数据)所有权,我解决了这个问题:
sudo chown -R 1001:1001 /data/kafka-data
但我认为这个解决方案不是最好的做法。
https://stackoverflow.com/questions/73860963
复制相似问题