[英]How do I setup Kubernetes CIFS Persistent Volume PV Permissions for Bitnami Postgres Helm Deployment?
我有一個 Kube.netes 集群,我正在嘗試部署不同的 Helm 圖表,當圖表沒有持久性時,一切都很好。 當 Helm 圖表使用持久卷時,我總是會遇到權限問題。 我正在使用 Windows 文件共享 CIFS 和我創建的持久卷,我正在使用Secrets Store CSI Driver
這是我的永久卷並聲明 yaml,我有一個密碼 (cifs-secret),其中包含我的用戶名和密碼。 現在我沒有使用存儲 class,只是手動創建的 PV/PVC
apiVersion: v1
metadata:
name: myvolume
labels:
app: myapp
spec:
storageClassName: ""
capacity:
storage: 100Gi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
mountOptions:
- dir_mode=0777
- file_mode=0777
- uid=0998
- gid=0996
- mfsymlinks
- nobrl
- cache=none
- domain=mydomain
csi:
driver: smb.csi.k8s.io
readOnly: false
volumeHandle: helmdata
volumeAttributes:
source: "//192.168.1.189/helm"
nodeStageSecretRef:
name: cifs-secret
namespace: helm
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: myclaim
namespace: mynamespace
labels:
app: myapp
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 10Gi
volumeName: cifs-helmtest-pv
在我弄清楚哪個用戶需要訪問該卷之前,這對我來說是失敗的,我使用的是 IronBank Grafana 圖像,所以我在 Docker 中本地運行該圖像,並從命令行輸入 more /etc/passwd 並對其進行加殼在 output 的末尾,它列出了 uid:0998 和 gid:0996。 所以我更新了卷 yaml 並將 -uid=0998 和 -gid=0996 添加到掛載選項中。
一旦到位,我就能夠成功安裝 Bitnami Helm Chart,我確實必須更新模板目錄中的 configmap.yaml 以匹配 IronBank 路徑,這些路徑與 Bitnami 路徑略有不同。
我已經用 Bitnami Postgresql Helm Chart 嘗試了同樣的邏輯,但我似乎無法正常工作,當我將 shell 放入容器並運行更多 /etc/passwd 時,它正在使用 uid:65543 和 gid:65543(沒有人帳戶)我用這些 uid/gids 創建了一個卷,但我經常遇到權限錯誤或目錄權限不正確,有時它會在卷安裝位置創建數據文件夾,但它總是空的。
創建 windows 共享的用戶帳戶是我在 cifs-secret 中使用的用戶名和密碼。
任何幫助,將不勝感激。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.