Я пытаюсь поместить веб-приложение в контейнер. В рамках своей работы ему требуется доступ к четырем отдельным монтировкам NFS, расположенным на разном оборудовании. Два крепления находятся на обычном Linux-боксе, а два других - на отдельных проприетарных устройствах NAS.
Проблема в том, что Docker (и Kubernetes по расширению) использует внутренний NAT-адрес, чтобы позволить контейнерам взаимодействовать с внешним миром, что приводит к тому, что номер исходного порта исходящего запроса на монтирование превышает привилегированный диапазон 1024. По умолчанию NFS серверы будут блокировать непривилегированные запросы на монтирование, если вы не установите insecure
вариант на конкретный экспорт.
Для экспорта Linux NFS это просто. Я добавляю опцию и крепление просто работает.
Устройства NAS нет этой опции, и перемещение данных в другое место невозможно.
Первым решением, которое пришло в голову, было проксирование запроса NFS через третий сервер, который просто монтирует папки изначально, а затем повторно экспортирует их с небезопасным битом. Меня беспокоит доступность и производительность этого способа.
В идеале я мог бы установить некоторую опцию конфигурации в Docker или в моем манифесте модуля Kubernetes, которая заставит исходящие запросы на определенный порт поступать с определенного порта.
Я также не могу представить, что это не решается в большинстве сред, учитывая повсеместное распространение NFS.
Каковы наиболее разумные варианты решения этой проблемы?