Я монтирую NFS (на виртуальной машине Azure) в k8s (AKS). Мое приложение работает с Apache (пользователь www-data). Теперь по какой-то причине я не могу в конечном итоге понять ошибки моего приложения с ошибкой отказа в разрешении, а именно, он не может записывать в смонтированный том NFS. Это явно проблема с разрешениями, а также я все испортил.
Приложение, запущенное Apache: uid=33(www-данные) gid=33(www-данные) groups=33(www-данные)
Экспортировано из каталога NFS и всех его дочерних элементов (рекурсивно): я разделил их на www-данные: www-данные
.
Когда я набираю id в контейнере, я root: uid=0(корень) gid=0(корень) groups=0(корень),1000
Когда я касаюсь нового файла в контейнере в смонтированном томе, у него есть разрешения: uid = 65534 (никто) gid = 65534 (без группы) groups = 65534 (без группы)
. Это немного удивительно.
Когда я набираю id на сервере NFS: uid=1000(azureuser) gid=1000(azureuser) groups=1000(azureuser)
Если я коснусь нового файла на сервере NFS, у него будет: uid=1000(azureuser) gid=1000(azureuser) groups=1000(azureuser)
. Итак, я предполагаю, что это связано с этим объявлением в конфигурации развертывания k8s:
безопасностьКонтекст:
фсГрупп: 1000
/etc/экспорт
файл в NFS, который я настроил так:
/экспорт 10.240.0.0/16(RW,асинхронный,небезопасный,fsid=0,crossmnt,no_subtree_check)
Я запутался, что к чему сейчас, не могли бы вы помочь мне решить эту проблему и уточнить, что к чему?
Между прочим, соединение между NFS и AKS установлено (я могу создать файл в контейнере в смонтированном томе, и он будет виден на сервере NFS, также работает наоборот).