• Русский
  • Создание GitOps Application

    Обзор

    Используйте возможности управления приложениями Alauda Container Platform GitOps для визуального создания Argo CD ApplicationSet и обеспечения полного жизненного цикла контейнеризованных приложений через GitOps Applications.

    Предварительные требования

    Создание Argo CD Application через веб-консоль

    Упростите распространение приложений с помощью визуальных интерфейсов управления.

    Процедура

    1. В Container Platform перейдите в GitOps Applications.

    2. Нажмите Create GitOps Application.

    3. Настройте параметры в разделах Basic Info и Code Repository:

    ПараметрОписание
    ТипApplication: объект Argo CD Application для развертывания в одном namespace
    ApplicationSet: Argo CD ApplicationSet для развертываний между кластерами/namespace с дифференцированными конфигурациями
    ИсточникPlatform integrated: заранее настроенные репозитории GitLab/GitHub/Bitbucket
    ArgoCD integrated: репозитории GitLab/GitHub/Bitbucket/Gitee/Gitea, интегрированные через Argo CD. См. Integrating Code Repositories via Argo CD dashboard
    Имя интеграционного проектаПроект toolchain, назначенный Администратором
    Идентификаторы версииОснова развертывания: Branch/Tag/Commit
    Примечание:
    • Branch использует последний commit
    • Tag/Commit по умолчанию используют последний вариант, но это можно настроить
    Тип исходного файлаKustomize: использует kustomization.yaml для overlay-конфигураций; подробнее см. Kustomize Official Documentation
    Helm: использует values.yaml для шаблонизации; подробнее см. Helm Official Documentation
    Directory: необработанные манифесты
    Исходный каталогПуть в репозитории, содержащий базовые манифесты. Поддерживается выбор корневого каталога. Все ресурсы в этом пути будут развернуты в целевые кластеры
    Пользовательские значенияЕсли Source File TypeHelm, можно выбрать пользовательский файл Helm Values
    1. Настройте параметры в разделах Destination:

      • Application: дифференциальные конфигурации не изменяют базовые файлы в исходном каталоге.

      • ApplicationSet: многокластерное развертывание с Differentiated Configuration.

      Примечание: Differentiated Configuration не изменяет базовые файлы в Source Directory.

    2. Политика синхронизации (интервал согласования 3 минуты).

      ПараметрОписание
      Ручная синхронизацияТребует подтверждения пользователя при обнаружении рассогласования.
      Автоматическая синхронизацияАвтоматическое согласование без участия человека.
      Конфигурация игнорирования синхронизацииНастройка с использованием встроенных/пользовательских шаблонов игнорирования; можно View Sync Ignore Configuration Fields in YAML File.
      Примечание: для пользовательских шаблонов требуется настройка администратором.
    3. Нажмите Create.

    INFO

    Примечание по ручной синхронизации: выберите Synchronize Immediately для немедленного развертывания или Synchronize Later, чтобы запустить ее вручную со страницы сведений.

    Просмотр полей конфигурации игнорирования синхронизации в YAML-файле

    После настройки правил игнорирования синхронизации выполните проверку:

    1. Перейдите в GitOps Application

    2. Выберите целевое приложение

    3. Нажмите Action > Update

    4. Проверьте YAML-файл.

      ignoreDifferences: # The configuration actually ignored by the selected custom synchronization ignore configuration template
        - group: apps
          kind: Deployment
          jsonPointers:
            - /spec/replicas

    Создание Argo CD Application через YAML

    Процедура

    1. В Container Platform перейдите в GitOps Applications.

    2. Нажмите Create GitOps Application.

    3. Перейдите на вкладку YAML.

    4. В разделе YAML используйте следующий YAML-файл и настройте соответствующую информацию. Замените namespace и project на свои значения namespace и project.

      apiVersion: argoproj.io/v1alpha1
      kind: Application
      metadata:
        name: guestbook
        namespace: argocd # Replace with your own namespace
      spec:
        project: default # Replace with your own project
        source:
          repoURL: https://github.com/argoproj/argocd-example-apps.git
          targetRevision: master
          path: helm-guestbook
        destination:
          server: https://kubernetes.default.svc
          namespace: guestbook
        syncPolicy:
          automated:
            prune: true
            selfHeal: true
          syncOptions:
            - CreateNamespace=true
    5. Нажмите Create.

    Создание Argo CD Application через CLI

    Предварительные требования

    Установлен плагин web-cli, и переключатель web-cli включен.

    kubectl apply -f application.yaml