Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • ИИ для бизнеса
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Managed Service for Kubernetes
  • Сопоставление с другими сервисами Yandex Cloud
  • Начало работы
    • Все инструкции
    • Подключение к узлу по SSH
    • Подключение к узлу через OS Login
    • Обновление Kubernetes
    • Настройка автомасштабирования
    • Подключение Terraform-провайдера Kubernetes
    • Установка приложений из Yandex Cloud Marketplace с помощью Terraform
      • Основы работы с Cloud Marketplace
      • Установка Битрикс
      • Установка Argo CD
      • Установка Chaos Mesh
      • Установка cert-manager c плагином Cloud DNS ACME webhook
      • Установка Container Storage Interface для S3
      • Установка Crossplane
      • Установка External Secrets Operator
      • Установка ExternalDNS c плагином для Cloud DNS
      • Установка Falco
      • Установка Filebeat OSS
      • Установка Fluent Bit
      • Установка Gatekeeper
      • Установка Gateway API
      • Установка GitLab Agent
      • Установка GitLab Runner
      • Установка Gwin
      • Установка HashiCorp Vault
      • Установка Ingress NGINX
      • Установка Ingress-контроллера Application Load Balancer
      • Обновление Ingress-контроллера Application Load Balancer
      • Установка Istio
      • Установка Jaeger
      • Установка KEDA
      • Установка Kruise
      • Установка Kubernetes Node Remediation
      • Установка Kyverno & Kyverno Policies
      • Установка Loki
      • Установка Metrics Provider
      • Установка NodeLocal DNS
      • Установка OIDC Аутентификация
      • Установка Policy Reporter
      • Установка Prometheus Operator
      • Установка Thumbor
      • Установка Velero
      • Установка VictoriaLogs
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Обучающие курсы

В этой статье:

  • Перед началом работы
  • Установка с помощью Yandex Cloud Marketplace
  • Установка с помощью Helm-чарта
  • Доступ к приложению
  • Открыть приложение через localhost
  • Открыть приложение по выделенному IP-адресу через Network Load Balancer
  • Открыть приложение по URL через Application Load Balancer
  • Примеры использования
  • См. также
  1. Пошаговые инструкции
  2. Установка приложений из Cloud Marketplace
  3. Установка Argo CD

Установка Argo CD

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 23 октября 2025 г.
  • Перед началом работы
  • Установка с помощью Yandex Cloud Marketplace
  • Установка с помощью Helm-чарта
  • Доступ к приложению
    • Открыть приложение через localhost
    • Открыть приложение по выделенному IP-адресу через Network Load Balancer
    • Открыть приложение по URL через Application Load Balancer
  • Примеры использования
  • См. также

Argo CD — декларативный инструмент для непрерывной доставки в Kubernetes по модели GitOps.

Перед началом работыПеред началом работы

  1. Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

    По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

  2. Убедитесь, что группы безопасности для кластера Managed Service for Kubernetes и его групп узлов настроены корректно. Если отсутствует какое-либо из правил — добавьте его.

    Важно

    От настройки групп безопасности зависит работоспособность и доступность кластера, а также запущенных в нем сервисов и приложений.

  3. Установите kubectl и настройте его на работу с созданным кластером.

Установка с помощью Yandex Cloud MarketplaceУстановка с помощью Yandex Cloud Marketplace

  1. Перейдите на страницу каталога и выберите сервис Managed Service for Kubernetes.
  2. Нажмите на имя нужного кластера и выберите вкладку Marketplace.
  3. В разделе Доступные для установки приложения выберите Argo CD и нажмите кнопку Перейти к установке.
  4. Задайте настройки приложения:
    • Пространство имен — создайте новое пространство имен (например, argo-cd-space). Если вы оставите пространство имен по умолчанию, Argo CD может работать некорректно.
    • Название приложения — укажите название приложения.
  5. Нажмите кнопку Установить.
  6. Дождитесь перехода приложения в статус Deployed.

Установка с помощью Helm-чартаУстановка с помощью Helm-чарта

  1. Установите менеджер пакетов Helm версии не ниже 3.8.0.

  2. Для установки Helm-чарта с Argo CD выполните команду:

    helm pull oci://cr.yandex/yc-marketplace/yandex-cloud/argo/chart/argo-cd \
      --version 7.3.11-2 \
      --untar && \
    helm install \
      --namespace <пространство_имен> \
      --create-namespace \
      argo-cd ./argo-cd/
    

    Примечание

    Если вы используете версию Helm ниже 3.8.0, добавьте в начало команды строку export HELM_EXPERIMENTAL_OCI=1 && \, чтобы включить поддержку Open Container Initiative (OCI) в клиенте Helm.

    Если вы укажете в параметре namespace пространство имен по умолчанию, Argo CD может работать некорректно. Рекомендуем указывать значение, отличное от всех существующих пространств имен (например, argo-cd-space).

Доступ к приложениюДоступ к приложению

Вы можете открыть приложение Argo CD через localhost, по выделенному IP-адресу через сетевой балансировщик Yandex Network Load Balancer или по URL через L7-балансировщик Yandex Application Load Balancer. Первый способ проще в настройке и не требует дополнительных затрат на балансировщики. Однако через localhost приложение доступно, только пока активна переадресация портов, а балансировщики обеспечивают постоянный доступ к Argo CD.

Перед тем как настроить доступ к Argo CD, получите пароль администратора (admin):

kubectl --namespace <пространство_имен> get secret argocd-initial-admin-secret \
  --output jsonpath="{.data.password}" | base64 -d

Пароль понадобится для авторизации в Argo CD.

Открыть приложение через localhostОткрыть приложение через localhost

  1. Настройте переадресацию порта Argo CD на локальный компьютер:

    kubectl port-forward service/<название_приложения>-argocd-server \
      --namespace <пространство_имен> 8080:443
    

    В команде укажите название приложения, которое вы задали при установке.

  2. Перейдите по ссылке https://localhost:8080 и авторизуйтесь с учетными данными администратора.

Открыть приложение по выделенному IP-адресу через Network Load BalancerОткрыть приложение по выделенному IP-адресу через Network Load Balancer

  1. Сохраните следующую спецификацию для создания сервиса типа LoadBalancer в файл load-balancer.yaml. В результате вы создадите балансировщик Network Load Balancer:

    apiVersion: v1
    kind: Service
    metadata:
      name: argocd-load-balancer
      namespace: <пространство_имен>
    spec:
      type: LoadBalancer
      ports:
      - port: 443
        name: load-balancer-port-ssl
        targetPort: 8080
      # Kubernetes-метка селектора, использованная в объекте Deployment с именем <название_приложения>-argocd-server.
      selector:
        app.kubernetes.io/name: argocd-server
    

    В спецификации укажите пространство имен, в котором вы установили приложение Argo CD.

    Так как в спецификации не задан IP-адрес, балансировщику будет присвоен динамический публичный IP-адрес. Вы можете добавить поле spec.loadBalancerIP и указать в нем заранее зарезервированный статический IP-адрес.

    Подробнее о спецификации см. в справочнике сервиса.

  2. Примените спецификацию и создайте сетевой балансировщик нагрузки:

    kubectl apply -f load-balancer.yaml --namespace <пространство_имен>
    
  3. Получите IP-адрес созданного сетевого балансировщика:

    Консоль управления
    1. В консоли управления выберите каталог, где развернут кластер Managed Service for Kubernetes.

    2. Выберите сервис Network Load Balancer.

      В разделе Балансировщики отображен сетевой балансировщик нагрузки с префиксом k8s в имени и уникальным идентификатором кластера Kubernetes в описании.

    3. Скопируйте значение поля IP-адрес для нужного балансировщика.

  4. Перейдите по ссылке https://<IP-адрес_балансировщика> и авторизуйтесь с учетными данными администратора.

Открыть приложение по URL через Application Load BalancerОткрыть приложение по URL через Application Load Balancer

  1. Зарегистрируйте публичную доменную зону и делегируйте домен.

  2. Если у вас уже есть сертификат для доменной зоны, добавьте сведения о нем в сервис Yandex Certificate Manager. Если нет, выпустите новый сертификат от Let's Encrypt® и добавьте его в Certificate Manager.

  3. Получите идентификатор сертификата:

    yc certificate-manager certificate list
    

    Результат выполнения команды:

    +----------------------+-----------+----------------+---------------------+----------+--------+
    |          ID          |   NAME    |    DOMAINS     |      NOT AFTER      |   TYPE   | STATUS |
    +----------------------+-----------+----------------+---------------------+----------+--------+
    | fpq8diorouhp******** | cert-test |    test.ru     | 2022-01-06 17:19:37 | IMPORTED | ISSUED |
    +----------------------+-----------+----------------+---------------------+----------+--------+
    
  4. Настройте группы безопасности, необходимые для работы L7-балансировщика Application Load Balancer.

  5. Установите Ingress-контроллер Application Load Balancer.

    Совет

    Вместо Ingress-контроллера Application Load Balancer рекомендуется использовать новый контроллер Yandex Cloud Gwin.

  6. Для работы с L7-балансировщиком Application Load Balancer требуется сервис типа NodePort, но Argo CD запускает сервер с сервисом типа ClusterIP. Измените тип сервиса:

    1. Откройте файл с описанием объекта Service:

      kubectl -n <пространство_имен> edit svc <название_приложения>-argocd-server
      
    2. Замените значение type на NodePort:

      spec:
        ... 
        type: NodePort
        ...
      
  7. L7-балансировщик Application Load Balancer снимает TLS-шифрование с входящего трафика. Чтобы избежать бесконечного перенаправления, отключите для Argo CD перенаправление с HTTP на HTTPS:

    1. Откройте конфигурационный файл argocd-cmd-params-cm:

      kubectl -n <пространство_имен> edit configmap argocd-cmd-params-cm
      
    2. Замените значение server.insecure на true:

      data:
        ...
        server.insecure: "true"
        ...
      
  8. Создайте файл ingress.yaml и укажите в нем настройки L7-балансировщика Application Load Balancer:

    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: argocd-ingress
      namespace: argo-cd-space
      annotations:
        ingress.alb.yc.io/subnets: <идентификатор_подсети_балансировщика>
        ingress.alb.yc.io/security-groups: <идентификатор_группы_безопасности_балансировщика>
        ingress.alb.yc.io/external-ipv4-address: auto
        ingress.alb.yc.io/group-name: my-ingress-group
    spec:
      tls:
        - hosts:
            - <доменное_имя>
          secretName: yc-certmgr-cert-id-<идентификатор_TLS-сертификата>
      rules:
        - host: <доменное_имя>
          http:
            paths:
              - path: /
                pathType: Prefix
                backend:
                  service:
                    name: argo-cd-argocd-server
                    port:
                      number: 80
    

    Подробнее о настройках см. в разделе Настройка L7-балансировщика Yandex Application Load Balancer с помощью Ingress-контроллера.

  9. В директории с файлом ingress.yaml выполните команду:

    kubectl apply -f ingress.yaml
    

    Будет создан ресурс Ingress. По его конфигурации ALB Ingress Controller автоматически развернет L7-балансировщик Application Load Balancer.

  10. Убедитесь, что L7-балансировщик создан. Для этого выполните команду:

    kubectl get ingress argocd-ingress
    

    Изучите результат выполнения команды. Если L7-балансировщик создан, в поле ADDRESS должен отображаться его IP-адрес:

    NAME            CLASS   HOSTS           ADDRESS        PORTS    AGE
    argocd-ingress  <none>  <доменное_имя>  51.250.**.***  80, 443  15h
    
  11. Добавьте A-запись в зону вашего домена. В поле Значение укажите публичный IP-адрес L7-балансировщика Application Load Balancer.

  12. Откройте в браузере ссылку https://<доменное_имя> и авторизуйтесь с учетными данными администратора.

    Примечание

    Если ресурс недоступен по указанному URL, то убедитесь, что группы безопасности для кластера Managed Service for Kubernetes и его групп узлов настроены корректно. Если отсутствует какое-либо из правил — добавьте его.

Примеры использованияПримеры использования

  • Интеграция с Argo CD.

См. такжеСм. также

  • Документация Argo CD.

Была ли статья полезна?

Предыдущая
Установка Битрикс
Следующая
Установка Chaos Mesh
Проект Яндекса
© 2025 ООО «Яндекс.Облако»