У AKS есть проблема с получением образа контейнера из ACR

У меня проблема с AKS, Kubernetes не может извлечь изображение из ACR, он показывает сообщение «unauthorized: authentication required». Я уже установил разрешения на ACR для субъекта-службы AKS. Он работал нормально до сегодняшнего дня, когда я попытался обновить модуль новым контейнером из ACR.


person Jesús A. Odreman    schedule 17.09.2019    source источник


Ответы (3)


Согласно сообщению, которое вы предоставили, возможная причина, о которой я могу думать, - это истечение срока авторизации. Вы можете взять чек на своего принципала обслуживания, если срок его авторизации истекает.

Кроме этого, я рекомендую вам также проверить, все ли в порядке, аутентификация с ACR для AKS здесь. Это поможет избежать неправильного действия.

person Charles Xu    schedule 18.09.2019
comment
Спасибо. SP, автоматически созданный Azure для AKS, уже имеет роль AcrPull в ACR. С другой стороны, проверяя AKS SP в AD, в сертификатах и ​​секретах ничего не установлено, может ли это быть причиной отсутствия авторизации? - person Jesús A. Odreman; 18.09.2019
comment
Я добавил секрет в SP AKS, затем удалил модуль, чтобы принудительно извлечь изображение из ACR, сообщение то же самое ... Не удалось получить изображение .... неавторизовано: требуется аутентификация - person Jesús A. Odreman; 18.09.2019
comment
Я выполнил обе конфигурации, рекомендованные здесь И все же проблема не исчезла. - person Jesús A. Odreman; 19.09.2019
comment
Кстати, версия AKS - 1.12.6. - person Jesús A. Odreman; 19.09.2019
comment
@ JesúsA.Odreman Вы создаете назначение ролей для ИП AKS? Когда создается AKS, его SP не имеет разрешения ACR. Значит, вам нужно назначить роль самому. - person Charles Xu; 19.09.2019
comment
Привет @Charles Xu, Да, я сделал это, но все еще не работает. - person Jesús A. Odreman; 19.09.2019
comment
Я нахожу это сообщение на панели управления Kubernetes в развертывании, которое не может получить изображение из ACR :: azure.BearerAuthorizer # WithAuthorization: не удалось обновить токен для запроса на management.azure.com / subscriptions / xxxx-xx / resourceGroups /: StatusCode = 401 - исходная ошибка: adal: сбой запроса на обновление. Код состояния = «401». Тело ответа: {error: invalid_client, error_description: AADSTS7000222: Срок действия предоставленных секретных ключей клиента истек. \ R \ n - person Jesús A. Odreman; 19.09.2019

У SP уже есть право извлекать образы из ACR.

Я следил за сообщением здесь, и теперь AKS может извлекать изображения из ACR . Когда я создавал AKS, его SP не имел ни секретов, ни сертификатов, но он работал нормально с 12 месяцев назад, внезапно AKS теперь должен иметь секрет в своем SP для аутентификации через ACR.

Спасибо...

person Jesús A. Odreman    schedule 19.09.2019
comment
Почему бы не принять мой ответ, когда он указывает на проблему, с которой вы столкнулись? - person Charles Xu; 23.09.2019

используя этот обходной путь выполнил свою работу:

az role assignment create --assignee <servicePrincipalID> --scope <registryID> --role acrpull
person Volodymyr    schedule 03.01.2020