我正在將我的應用程式部署在集群中只讀的 kubernetes pod 中。另外,在 entrypoint.sh 我正在使用啟動 apache2 服務器
apachectl -D FOREGROUND
這是試圖在只讀 pod 中創建一些檔案夾,導致此錯誤:
mktemp: failed to create directory via template '/var/lock/apache2.XXXXXXXXXX': Read-only file system
chmod: missing operand after '755'
我怎樣才能避免這種情況。請注意,我已嘗試在 docker 映像創建時創建此 tmp 檔案并應用該映像,但它仍然給出相同的錯誤。
uj5u.com熱心網友回復:
我認為您不能阻止 Apache 創建此檔案。DefaultRuntimeDir 指令改變了它的位置,但是你不能阻止它創建它的鎖檔案。
但是,您可以做的是在您的 pod中安裝一個emptyDir卷。這是臨時可寫的 pod-local 存盤。這將允許您在其他只讀容器檔案系統中創建讀寫“孤島”。
apiVersion: apps/v1
kind: Deployment
spec:
template:
spec:
volumes:
- name: apache-var-lock
emptyDir: {}
containers:
- image: httpd
volumeMounts:
- name: apache-var-lock
mountPath: /var/lock
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/457713.html
標籤:Kubernetes 阿帕奇2
