У меня есть служба приложений Azure, в которой работает настраиваемый контейнер. Когда я привязываю путь к общему ресурсу файлов Azure, мой контейнер перестает работать. Глядя на Проблемы с контейнером
журналы, я вижу ошибку: [BYOS] Не удалось инициализировать пользовательские тома(ы) хранилища: [/var/LWASFiles/Sites/my-app/a3484543-39f9-45a3-816b-9524640dfd50]
.
В моем пользовательском контейнере определен объем /var/www/html/v3/загрузки
.
Я пытаюсь сопоставить это с общим ресурсом файлов Azure, который находится в учетной записи хранения в той же виртуальной сети, что и размещающая ASE, с правилами, разрешающими трафик между подсетью ASE и файловым ресурсом через порты 137, 138, 138 и 445. .
Хостинг ASE настроен с внутренним балансировщиком нагрузки (т. е. это частная ASE).
Для учетной записи хранения настроена частная конечная точка.
Том сопоставляется в разделе Параметры > Конфигурация > Сопоставления путей службы приложений с использованием действительного ключа и пути подключения, который соответствует пути к тому в контейнере.
Перед добавлением сопоставления пути служба приложения работает должным образом.
После добавления сопоставления пути контейнер не запускается / единственная информация об исключении, которую я могу найти, находится в Проблемы с контейнером
журналы, как указано выше.
Если я удалю сопоставление путей, проблема не исчезнет даже после принудительного перезапуска. Единственный способ решить проблему — удалить и повторно развернуть службу приложений.
Он успешно подключается к базе данных MySql (база данных Azure для серверов MySQL) через частную конечную точку.
С использованием копать {privateEndpointFqdn}
Я могу доказать, что частная конечная точка учетной записи хранения разрешена правильно (как и MySQL, как и следовало ожидать).
С использованием tcptraceroute {privateEndpointFqdn} {порт назначения}
Я могу доказать, что могу подключиться к учетной записи хранения через порт 445 (и к базе данных MySQL через порт 3306).
Примечание. Я не могу подключиться к учетной записи хранения через порты 137, 138 или 139, несмотря на то, что они разрешены через NSG по тем же правилам входящего и исходящего трафика, которые используются для порта 445 выше; хотя я подозреваю, что эти порты больше не требуются для CIFS (я добавил их только на всякий случай после того, как впервые столкнулся с проблемой, на случай, если они были каким-то образом актуальны, поскольку они упоминались в некоторых сообщениях).
Я запускаю вышеуказанные тесты с помощью SSH в контейнере, поэтому команды запускаются из его контекста. Примечание. Поскольку я не могу запустить контейнер после добавления сопоставления пути, эти тесты выполняются после создания службы приложения, но до добавления сопоставления пути.
я увеличил ВЕБ-САЙТЫ_CONTAINER_START_TIME_LIMIT
до максимального значения: 1800
Мой контейнер предоставляет порт 80 (т. е. один из портов по умолчанию, поддерживаемых службой приложений для контейнера); и веб-сайт работает, когда сопоставление путей не существует, так что это не должно быть проблемой. Я также установил ВЕБ-САЙТЫ_ПОРТ
к 80
, только для ремней и подтяжек.
ВЕБ-САЙТЫ_ENABLE_APP_SERVICE_STORAGE
установлен на ЛОЖЬ
(хотя я также экспериментировал с установкой истинный
, на всякий случай / это не имело значения, поэтому я вернулся к ЛОЖЬ
).
В моей общей папке есть несколько ГБ данных. Я попытался создать идентичный общий файловый ресурс без содержимого и сопоставить его (сразу после воссоздания службы приложений и доказательства того, что это сработало; чтобы убедиться, что на мои тесты не повлияло похмелье более крупного общего файлового ресурса). Это дает ту же проблему, что и с большим файловым ресурсом.
Образ моего контейнера загружается из репозитория контейнеров Azure.
Образ основан на Убунту: 21.04
я включил лазурный кли
и cifs-утилиты
пакеты (я думаю, это требуется только при выполнении операции монтирования из контейнера, а не из конфигурации AppService, но я хотел охватить все предположения)
Хостинг ASE находится в Юг Великобритании
регион (как и учетная запись хранения/все ресурсы).
Примечание. Это мой первый опыт запуска контейнеров в службе приложений. так что PEBKAC определенно возможен.
Любые предложения или рекомендации по устранению неполадок будут высоко оценены. Спасибо.