Модуль непрерывной доставки приложений (ArgoCD)

Argo CD декларативный инструмент непрерывной доставки GitOps, использующий Git-репозитории для определения желаемого состояния приложения.

Argo CD постоянно отслеживает состояние приложений, находящихся в кластере, относительно Git/Helm Repo таким образом, что:

  • производит автоматическую доставку изменений при появлении изменений в приложении в Git/Helm Repo;
  • автоматически приводит приложение в состояние, соответствующее данным в Git/Helm Repo при появлении изменений непосредственно в приложении.

С дополнительной информацией можно ознакомиться на официальном сайте.

Установка и конфигурация

Для настройки ArgoCD в интерфейсе кластера платформы “Штурвал”:

  • в боковом меню откройте раздел Сервисы и репозитории;
  • перейдите на страницу Установленные сервисы;
  • найдите модуль непрерывной доставки приложений.

Если модуль не отображается, перейдите в раздел Сервисы и репозитории и откройте страницу Доступные чарты, найдите чарт “shturval-cd” и нажмите “Установить”.

В случае, если вы устанавливаете чарт “shturval-cd” после создания кластера, убедитесь, что включены и находятся в режиме автообновления:

  • CRD для модуля непрерывной доставки приложений (shturval-cd-crds);
  • Модуль управления внешними подключениями (shturval-ingress-controller).

Обратите внимание! По умолчанию в модуле определены limits, requests на ресурсы (CPU, memory). При необходимости установите требуемые limits/requests ресурсов для ваших приложений.

Пример customvalues
resources:
  limits:
    cpu: <ваше значение параметра>
    memory: <ваше значение параметра>
  requests:
    cpu: <ваше значение параметра>
    memory: <ваше значение параметра>

Параметр Описание Тип данных Пример
limits.cpu Ограничение CPU. По умолчанию 500m string 600m
limits.memory Ограничение памяти. По умолчанию 512Mi string 800Mi
requests.cpu Запрашиваемые ресурсы CPU Запрос CPU. По умолчанию 250m string 400m
requests.memory Запрашиваемые ресурсы памяти. По умолчанию 256Mi string 300Mi

Переход в Argo CD

Есть 4 способа перехода в интерфейс Argo CD:

  1. интерфейс Argo CD доступен по префиксу argocd в домене кластера. Например: argocd.apps.ip-XX-XX-XX-XX.shturval.link.

  2. из дашборда клиентского кластера по кнопке “Перейти в Argo CD” (SSO авторизация).

  3. из неймспейса клиентского кластера по кнопке “Перейти в Argo CD”. Если в неймспейсе вы видите кнопку “Создать проект в Argo CD”, значит в этом неймспейсе еще не создан проект. Кнопка перехода в интерфейс Argo CD станет доступна после успешного создания проекта (SSO авторизация).

  4. из неймспейса shturval-cd/Сеть/Ingresses/shturval-cd-server.

Для авторизации в интерфейсе Argo CD используйте:

  • логин: admin
  • пароль можно получить в графическом интерфейсе платформы или консоли.

В графическом интерфейсе пароль можно найти в неймспейсе shturval-cd в секрете argocd-initial-admin-secret.

В консоли для получения пароля подключитесь к кластеру.

Команда
kubectl -n shturval-cd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d

Кастомизация

Для кастомизации интерфейса ARGO CD допишите параметры кастомизации в спецификации (customvalues) модуля непрерывной доставки приложений кластера.

Пример customvalues для выделения продуктивной среды
configs:
  styles: |
    <ваше значение параметра>
  cm:
    ui.bannercontent: <ваше значение параметра> 
    ui.bannerpermanent: <ваше значение параметра>
Параметр Описание Тип данных Пример
styles CCS-стили для настройки элементов интерфейса string .ui-banner { background-color: #FF0000; }
cm.ui.bannercontent Содержимое баннера (текст для отображения пользователю) string !!! ПРОДУКТИВ !!!
cm.ui.bannerpermanent Признак постоянной видимости баннера boolean true

Подключение сертификата в ARGO CD

При подключении репозитория с использованием самоподписного или корпоративного сертификата, вы можете настроить сертификаты из интерфейса ARGO CD. Для этого:

  1. Перейдите в раздел Settings/Repository certificates.
  2. Нажмите Add TLS certificate.
  3. В открывшемся окне введите адрес репозитория (Repository server name) и TLS сертификат в PEM формате(TLS certificate(PEM format)).

Обратите внимание! Тело сертификата должно включать:

Содержание
----BEGIN CERTIFICATE---- и ----END CERTIFICATE----
Для сохранения сертификата нажмите Create.
×