я использую стандартный АМС ЭКС кластер, полностью основанный на облаке (K8S 1.21) с несколькими группами узлов, одна из которых использует шаблон запуска, определяющий ускоритель эластичного вывода, прикрепленный к экземплярам (eia2.средний) служить какой-то Тензорный поток модель.
Я изо всех сил пытался заставить нашу модель глубокого обучения вообще работать во время развертывания, а именно, у меня есть модуль в развертывании с учетной записью службы и прикрепленной политикой EKS IRSA, которая основана на Контейнер глубокого обучения AWS для обслуживания модели вывода на основе Tensorflow 1.15.0.
Используемое изображение 763104351884.dkr.ecr.eu-west-1.amazonaws.com/tensorflow-inference-eia:1.15.0-cpu
и когда модель развернута в кластере, с привязкой узла к нужному с поддержкой EIA node, он просто не работает при вызове с использованием /вызовы
конечная точка:
Использование клиентской библиотеки Amazon Elastic Inference версии: 1.6.3
Количество доступных ускорителей эластичного вывода: 1
Идентификатор ускорителя эластичного вывода: eia-<id>
Тип ускорителя эластичного вывода: eia2.medium
Порядковый номер ускорителя эластичного вывода: 0
2022-05-11 13:47:17.799145: F external/org_tensorflow/tensorflow/contrib/ei/session/eia_session.cc:1221] Статус не в порядке: SwapExStateWithEI(tmp_inputs, tmp_outputs, tmp_freeze) статус: внутренний: не удалось получить исходный белый список операторов с сервера.
ВНИМАНИЕ: __main__: непредвиденный выход из обслуживания тензорного потока (статус: 134). перезапуск.
Для справки, при использовании только процессор изображение доступно на 763104351884.dkr.ecr.eu-west-1.amazonaws.com/tensorflow-inference:1.15.0-cpu
, модель отлично служит в любой среде (локально тоже).
К каждому узлу EKS и самому поду (через IRSA) прикреплена следующая политика:
{
«Версия»: «2012-10-17»,
"Заявление": [
{
«Эффект»: «Разрешить»,
"Действие": [
"эластичный вывод: подключение",
"ЯМ:Список*",
"ЯМ:Получить*",
"ec2:Описать*",
"ec2:Получить*",
"ec2: изменить атрибут экземпляра"
],
"Ресурс": "*"
}
]
}
согласно документации самого AWS, я также создал конечную точку VPC для Elastic Inference, как описано AWS, и привязал ее к частным подсетям, используемым узлами EKS, вместе с правильно настроенной группой безопасности, которая позволяет SSH, HTTPS и 8500/8501 TCP-порты с любого рабочего узла в VPC CIDR.
Используя оба Анализатор доступности AWS и Симулятор политики IAM ничего не кажется неправильным, и сеть и разрешения кажутся в порядке, а также EISetupValidator.py
script, предоставленный AWS, говорит то же самое.
Любая подсказка о том, что на самом деле происходит здесь? Мне не хватает каких-то разрешений или настроек сети?