#azure #kubernetes #github-actions #azure-aks
Вопрос:
Я использую действие Azure/k8s-развертывание на Github.
Проблема в том, как указать образ в файле манифеста развертывания, чтобы действие изменило развертывание на новый URL-адрес образа?
Прямо сейчас действие не заменяет URL-адрес изображения.
Он пытается применить файл без изменения изображения, которое не работает.
- uses: azure/k8s-deploy@v1
with:
manifests: |
k8s/deployment.yml
k8s/service.yml
images: |
${{ env.REGISTRY_NAME }}.azurecr.io/${{ env.APP_NAME }}:${{ github.sha }}
imagepullsecrets: |
${{ env.SECRET }}
namespace: ${{ env.NAMESPACE }}
Я хочу, чтобы это действие развернуло файл k8s/deployment.yml с URL-адресом изображения, указанным в поле изображения
Ответ №1:
Решение может быть добавлено Kustomization
в ваш git-action' **but** you will need to create an extra file named
файл kustomization.yaml` чтобы его использовать.
Kustomization
позволит вам изменить желаемое изображение
Пример кода о том, как обновить изображение с помощью кустомизации: https://github.com/nirgeier/KubernetesLabs/tree/master/Labs/08-Kustomization#images
kustomize-github-action
https://github.com/marketplace/actions/kustomize-github-action
Комментарии:
1. Я использовал kustomize, но тогда есть еще одна проблема. Реестр контейнеров Azure требует, чтобы imagePullSecrets извлекал изображения. Действие Azure/k8s-развертывание автоматически обрабатывает эти секреты извлечения. Используя kustomize, мне больше не нужно это действие, но после этого k8s не может извлекать изображения из-за 401 несанкционированного кода, который вызван imagePullSecret, и я также не нашел никаких документов по этому поводу.