Я запускаю кластер Kubernetes 1.8.4 в Azure (заполненный acs-engine v0.10).
Мне нужно запустить модуль Redis с сохранением данных, поэтому я использую persistentVolume / persistentVolumeClaim с azurefile
storageClass, чтобы Redis мог сохранять на этот том.
Проблема в том, что контейнер Redis работает с Redis: redis и что Kubernetes монтирует том с правами root: root и режимом доступа 0700.
=> Итак, Redis не может писать на этот том и умирает.
Обычно я бы исправил это с помощью mountOptions, но я боюсь, что этот параметр не поддерживается для AzureFiles согласно документации Kubernetes :
Примечание. Не все типы постоянных томов поддерживают параметры монтирования.
Кому-нибудь когда-либо удавалось монтировать тома AzureFiles в модуле Kubernetes без -корневой доступ ? Если да, то мне хотелось бы узнать, как: -)
TIA!
ამ პროვიდენციური CloudBees ბლოგის პოსტის განხილვის შემდეგ , აღმოჩნდა, რომ mountOptions მხარდაჭერილია azurefile- სთვის, უბრალოდ მე მჭირდება შექმნილი StorageClass და მოიხმარე იგი PersistentVolumeClaim- ის საშუალებით.
---
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: redis-sc
annotations:
labels:
kubernetes.io/cluster-service: 'true'
provisioner: kubernetes.io/azure-file
parameters:
reclaimPolicy: 'Delete'
mountOptions:
- "uid=999,gid=999"
Альтернативным решением от Azure является монтирование azurefile в качестве утверждения постоянного тома. https://docs.microsoft.com/en-us/azure/aks/azure-files-volume#mount-file-share-as-an-persistent-volume
uid, gid
вместе с разрешениями файловой системы могут быть переданы (0777).
Лично пробовал, и это проверено!