Модуль непрерывной доставки приложений (ArgoCD)
Argo CD декларативный инструмент непрерывной доставки GitOps, использующий Git-репозитории для определения желаемого состояния приложения.
Argo CD постоянно отслеживает состояние приложений, находящихся в кластере, относительно Git/Helm Repo таким образом, что:
- производит автоматическую доставку изменений при появлении изменений в приложении в Git/Helm Repo;
- автоматически приводит приложение в состояние, соответствующее данным в Git/Helm Repo, при появлении изменений непосредственно в приложении.
С дополнительной информацией можно ознакомиться на официальном сайте.
Установка и конфигурация
Для просмотра настройки ArgoCD в интерфейсе кластера платформы “Штурвал”:
- в боковом меню откройте раздел Сервисы и репозитории;
- перейдите на страницу Установленные сервисы;
- найдите Модуль непрерывной доставки приложений (
shturval-cd).
Если модуль не отображается, перейдите в раздел Сервисы и репозитории и откройте страницу Доступные чарты, найдите чарт “shturval-cd” и нажмите “Установить”.
В случае, если вы устанавливаете чарт shturval-cd после создания кластера, убедитесь, что включены и находятся в режиме автообновления:
- CRD для модуля непрерывной доставки приложений (shturval-cd-crds);
- Модуль управления внешними подключениями (shturval-ingress-controller).
Конфигурация ресурсов (CPU, memory)
По умолчанию определены limits, requests на ресурсы (CPU, memory). При необходимости вы можете установить требуемые limits/requests ресурсов для ArgoCD. Для этого необходимо:
- Подготовить ShturvalServicePatch для применения к спецификации (ssc) Модуля непрерывной доставки приложений (
shturval-cd), в котором определить параметры limits/requests, как в примере ниже.
Пример ShturvalServicePatch
apiVersion: ops.shturval.tech/v1beta2
kind: ShturvalServicePatch
metadata:
name: <имя ресурса>
spec:
shturvalServiceConfigName: shturval-cd
customvalues:
controller:
resources:
limits:
cpu: <ваше значение параметра>
memory: <ваше значение параметра>
requests:
cpu: <ваше значение параметра>
memory: <ваше значение параметра>
| Параметр | Описание | Тип данных | Пример |
|---|---|---|---|
metadata.name |
Имя создаваемого PatchSSC | string | shturval-cd-resource |
limits.cpu |
Ограничение CPU. По умолчанию 500m | string | 600m |
limits.memory |
Ограничение памяти. По умолчанию 512Mi | string | 800Mi |
requests.cpu |
Запрашиваемые ресурсы CPU Запрос CPU. По умолчанию 250m | string | 400m |
requests.memory |
Запрашиваемые ресурсы памяти. По умолчанию 256Mi | string | 300Mi |
- В кластере загрузить с помощью импорта манифестов подготовленный ShturvalServicePatch.
Скриншот

После загрузки ShturvalServicePatch потребуется время для применения изменений.
Переход в Argo CD
Есть 4 способа перехода в интерфейс Argo CD:
-
интерфейс Argo CD доступен по префиксу argocd в домене кластера. Например:
argocd.clustername.ip-XX-XX-XX-XX.shturval.link. -
из дашборда клиентского кластера по кнопке “Argo CD” (SSO авторизация).
-
из неймспейса клиентского кластера по кнопке “Argo CD”. Если в неймспейсе вы видите кнопку “Создать проект в Argo CD”, значит в этом неймспейсе еще не создан проект. Кнопка перехода в интерфейс Argo CD станет доступна после успешного создания проекта (SSO авторизация).
-
из неймспейса shturval-cd/Сеть/Ingresses/shturval-cd-server.
Для авторизации в интерфейсе Argo CD вы можете использовать свои учетные данные авторизации в платформе “Штурвал” или учетные данные администратора 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:
- Подготовьте ShturvalServicePatch для применения к спецификации (ssc) Модуля непрерывной доставки приложений (
shturval-cd), где пропишите параметры кастомизации.
Пример ShturvalServicePatch
apiVersion: ops.shturval.tech/v1beta2
kind: ShturvalServicePatch
metadata:
name: <имя ресурса>
spec:
shturvalServiceConfigName: shturval-cd
customvalues:
configs:
styles: |
<ваше значение параметра>
cm:
ui.bannercontent: "<ваше значение параметра>"
ui.bannerpermanent: <ваше значение параметра>
| Параметр | Описание | Тип данных | Пример |
|---|---|---|---|
metadata.name |
Имя создаваемого PatchSSC | string | shturval-cd-interface |
styles |
CCS-стили для настройки элементов интерфейса | string | .ui-banner { background-color: #FF0000; } |
cm.ui.bannercontent |
Содержимое баннера (текст для отображения пользователю) | string | !!! ПРОДУКТИВ !!! |
cm.ui.bannerpermanent |
Признак постоянной видимости баннера | boolean | true |
- В кластере загрузите с помощью импорта манифестов подготовленный ShturvalServicePatch.
Скриншот

После загрузки ShturvalServicePatch потребуется время для применения изменений.
Подключение сертификата в ARGO CD
При подключении репозитория с использованием самоподписного или корпоративного сертификата, вы можете настроить сертификаты из интерфейса ARGO CD. Для этого:
- Перейдите в раздел Settings/Repository certificates.
- Нажмите Add TLS certificate.
- В открывшемся окне введите адрес репозитория (Repository server name) и TLS сертификат в PEM формате(TLS certificate(PEM format)).
Обратите внимание! Тело сертификата должно включать:
Содержание
----BEGIN CERTIFICATE---- и ----END CERTIFICATE----