При настройке входного контроллера K8, который задокументирован здесь
Я не могу пройти этап «Создать контроллер входящего трафика».
На шаге команды Helm и переводе команды в режим отладки я вижу тайм-аут на одном из шагов:
неудачная предварительная установка: истекло время ожидания условия
Изучив журналы K8 POD, я обнаружил, что система K8 не может подключиться к реестру из-за ошибки авторизации. Следующий вывод был изменен по соображениям безопасности, но показывает ошибку
Не удалось извлечь изображение "myregistry.azurecr.io/jettech/kube-webhook-certgen:v1.5.1@sha256:...90bd8068": [ошибка rpc: code = NotFound desc = не удалось извлечь и распаковать изображение "... .azurecr.io/jettech/kube-webhook-certgen@sha256:....9b9e90bd8068": не удалось разрешить ссылку "myregistry.azurecr.io/jettech/kube-webhook-certgen@sha256:...190b1dcbcb9b9e90bd8068": . ...azurecr.io/jettech/kube-webhook-certgen@sha256:...9b9e90bd8068: не найдено, ошибка rpc: code = Unknown desc = не удалось извлечь и распаковать образ "myregistry.azurecr.io/jettech/kube- webhook-certgen@sha256:...dcbcb9b9e90bd8068": не удалось разрешить ссылку "myregistry.azurecr.io/jettech/kube-webhook-certgen@sha256:...b9b9e90bd8068": не удалось авторизоваться: не удалось получить анонимный токен: неожиданно статус: 401 Неавторизованный]
Я проверил, что образы расположены в реестре контейнеров на основе команды «az acr import», и что если я выполню стандартное развертывание K8 с помощью «kubectl», k8 сможет подключиться к файлу acr. Я также проверил соединение между кластером и реестром, используя следующую команду, она работает как положено:
az aks check-acr -n <кластер> -g <rg> --acr <acr>
Эта ошибка возникает только при использовании команды helm.
РЕДАКТИРОВАТЬ
Изучив это больше, я нашел следующую статью
https://stackoverflow.com/questions/68949434/installing-nginx-ingress-controller-into-aks-cluster-cant-pull-image-from-azu
Похоже, проблема с дайджестом. Я добавил/заменил следующее в команде helm:
--set controller.image.digest="sha256:e9fb216ace49dfa4a5983b183067e97496e7a8b307d2093f4278cd550c303899" \
--set controller.admissionWebhooks.patch.image.digest="sha256:950833e19ade18cd389d647efb88992a7cc077abedef343fa59e012d376d79b7" \
Однако при выполнении модифицированной команды helm POD находятся в состоянии ошибки со следующей ошибкой
неизвестный флаг: --controller-class
Я попытался установить переменную env CONTROLLER_TAG=v1.0.0, как описано в статье, но это не помогает.
Другое решение — установить номер версии: 3.36.0 в команде. Это успешно, но требуется более ранняя версия