在 Kubernetes 使用 Synology NAS 的 NFS 作 Persistent storage 可以參考這一篇:

https://benyoung.blog/persistent-storage-class-in-kubernetes-backed-by-synology-nfs/

實際測試時,在 Deploy WordPress 的測試 mysql 容器一直出現 Back-off restarting failed container 錯誤

# kubectl describe pod wordpress-mysql-79c87bbdf9-w8h22

查詢錯誤的時候發現 Entrypoint Script 無法變更目錄權限,導致容器一直無法正常啟動

# kubectl logs wordpress-mysql-79c87bbdf9-w8h22

2022-06-03 14:11:14+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.6.51-1debian9 started.

chown: changing ownership of ‘/var/lib/mysql/’: Operation not permitted

查詢網路文章,需要對 NFS 設定作一些修改

https://blog.csdn.net/m0_46090675/article/details/122276216

開啟 Synology NAS 的 SSH 登入,修改 /etc/exports

從:

/volume1/k8s 192.168.9.0/255.255.255.0(rw,async,no_wdelay,crossmnt,insecure,all_squash,insecure_locks,sec=sys,anonuid=1024,anongid=100)

修改為:

/volume1/k8s 192.168.9.0/255.255.255.0(rw,async,no_wdelay,crossmnt,insecure,no_root_squash,insecure_locks,sec=sys,anonuid=1024,anongid=100)

主要是修改 no_root_squash

NAS 重開機後測試可正常啟動了,不過 控制台 > 共用資料夾 > NFS 權限設定 的 Squash 欄位應該不要再從網頁設定去修改了,否則儲存後還需要手動 SSH 到機器上去修正。

update 2022-6-7

後來發現直接將 Squash 設定為 「不調整」也有這個結果,但 anonuid 會有不同,持續觀察測試中…

/volume1/k8s 192.168.9.0/255.255.255.0(rw,async,no_wdelay,crossmnt,insecure,no_root_squash,insecure_locks,sec=sys,anonuid=1025,anongid=100)
最後修改日期: 2022-06-07