我正在使用 zammad helm 在我的 Kubernetes 集群(裸机)上启动 zammad。它使用 bitnami postgreSql 图表来配置 Postgres 数据库。
问题是每当我用
--set volumePermissions.enabled=true:
安装 helm 时
helm upgrade --install zammad zammad/zammad --namespace zammad --set persistence.storageClass="manual" --set volumePermissions.enabled=true
PostgreSql 仍然给出错误:
sana@SANA3:~/sampleApp$ kubectl logs pod/zammad-postgresql-0
postgresql 11:12:15.65
postgresql 11:12:15.66 Welcome to the Bitnami postgresql container
postgresql 11:12:15.66 Subscribe to project updates by watching https://github.com/bitnami/bitnami-docker-postgresql
postgresql 11:12:15.66 Submit issues and feature requests at https://github.com/bitnami/bitnami-docker-postgresql/issues
postgresql 11:12:15.66
postgresql 11:12:15.69 INFO ==> ** Starting PostgreSQL setup **
postgresql 11:12:15.72 INFO ==> Validating settings in POSTGRESQL_* env vars..
postgresql 11:12:15.73 INFO ==> Loading custom pre-init scripts...
postgresql 11:12:15.74 INFO ==> Initializing PostgreSQL database...
mkdir: cannot create directory ‘/bitnami/postgresql/data’: Permission denied
这是我的存储级别:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"storage.k8s.io/v1","kind":"StorageClass","metadata":{"annotations":{},"name":"manual-postgre"},"provisioner":"kubernetes.io/no-provisioner","volumeBindingMode":"Immediate"}
creationTimestamp: "2023-01-25T07:05:38Z"
name: manual-postgre
resourceVersion: "10359744"
uid: ad6bb681-18eb-4f80-9995-2d00273e9b08
provisioner: kubernetes.io/no-provisioner
reclaimPolicy: Delete
volumeBindingMode: Immediate
这是我的PV:
apiVersion: v1
kind: PersistentVolume
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"v1","kind":"PersistentVolume","metadata":{"annotations":{},"labels":{"type":"local"},"name":"hostpath-postgre2"},"spec":{"accessModes":["ReadWriteOnce"],"capacity":{"storage":"8Gi"},"claimRef":{"apiVersion":"v1","kind":"PersistentVolumeClaim","name":"data-zammad-postgresql-0","namespace":"zammad"},"hostPath":{"path":"/var/postgre2","type":"DirectoryOrCreate"},"persistentVolumeReclaimPolicy":"Retain","storageClassName":"manual-postgre"}}
pv.kubernetes.io/bound-by-controller: "yes"
labels:
type: local
name: hostpath-postgre2
spec:
accessModes:
- ReadWriteOnce
capacity:
storage: 8Gi
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: data-zammad-postgresql-0
namespace: zammad
hostPath:
path: /var/postgre2
type: DirectoryOrCreate
persistentVolumeReclaimPolicy: Retain
storageClassName: manual-postgre
volumeMode: Filesystem
这是我的PVC:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"v1","kind":"PersistentVolumeClaim","metadata":{"annotations":{},"labels":{"app.kubernetes.io/instance":"zammad","app.kubernetes.io/name":"postgresql"},"name":"data-zammad-postgresql-0","namespace":"zammad"},"spec":{"accessModes":["ReadWriteOnce"],"resources":{"requests":{"storage":"8Gi"}},"storageClassName":"manual-postgre","volumeMode":"Filesystem","volumeName":"hostpath-postgre2"}}
pv.kubernetes.io/bind-completed: "yes"
labels:
app.kubernetes.io/instance: zammad
app.kubernetes.io/name: postgresql
name: data-zammad-postgresql-0
namespace: zammad
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 8Gi
storageClassName: manual-postgre
volumeMode: Filesystem
volumeName: hostpath-postgre2
你能告诉我我在这里缺少什么以获得许可吗?
相同的 helm 安装命令在 microK8s kubernetes 上运行良好,没有权限问题。为什么裸机 kubernetes 会出现错误
bitnami postgresql helm 图表要求卷安装路径默认为
/bitnami/postgresql
,将 PV 卷路径从 /var/postgre2
更改为 /bitnami/postgresql
解决了问题。
chmod +777 /var/postgre2
将解决问题