Как это действие Github изменяет файл deployment.yml

#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, и я также не нашел никаких документов по этому поводу.