Установка Argo CD
Argo CD
Перед началом работы
-
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра
--folder-name
или--folder-id
. -
Убедитесь, что группы безопасности для кластера Managed Service for Kubernetes и его групп узлов настроены корректно. Если отсутствует какое-либо из правил — добавьте его.
Важно
От настройки групп безопасности зависит работоспособность и доступность кластера, а также запущенных в нем сервисов и приложений.
-
Установите kubectl
и настройте его на работу с созданным кластером.
Установка с помощью Yandex Cloud Marketplace
- Перейдите на страницу каталога
и выберите сервис Managed Service for Kubernetes. - Нажмите на имя нужного кластера и выберите вкладку
Marketplace. - В разделе Доступные для установки приложения выберите Argo CD и нажмите кнопку Перейти к установке.
- Задайте настройки приложения:
- Пространство имен — выберите пространство имен для Argo CD или создайте новое.
- Название приложения — укажите название приложения.
- Нажмите кнопку Установить.
- Дождитесь перехода приложения в статус
Deployed
.
Установка с помощью Helm-чарта
-
Установите менеджер пакетов Helm
версии не ниже 3.8.0. -
Для установки 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.
Доступ к приложению
Вы можете открыть приложение Argo CD через localhost или выделенный IP-адрес. Первый способ проще в настройке и не требует дополнительных затрат на сетевой балансировщик нагрузки. Второй способ позволяет получить постоянный доступ к Argo CD. Через localhost
приложение доступно, только пока активна переадресация портов.
Перед тем как настроить доступ к Argo CD, получите пароль администратора (admin
):
kubectl --namespace <пространство_имен> get secret argocd-initial-admin-secret \
--output jsonpath="{.data.password}" | base64 -d
Пароль понадобится для авторизации в Argo CD.
Открыть приложение через localhost
-
Настройте переадресацию порта Argo CD на локальный компьютер:
kubectl port-forward service/<название_приложения>-argocd-server \ --namespace <пространство_имен> 8080:443
В команде укажите название приложения, которое вы задали при установке.
-
Перейдите по ссылке
https://localhost:8080
и авторизуйтесь с учетными данными администратора.
Открыть приложение по выделенному IP-адресу
-
Сохраните следующую спецификацию для создания сервиса типа
LoadBalancer
в файлload-balancer.yaml
. В результате вы создадите балансировщик Yandex 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-адрес.Подробнее о спецификации см. в справочнике сервиса.
-
Примените спецификацию и создайте сетевой балансировщик нагрузки:
kubectl apply -f load-balancer.yaml --namespace <пространство_имен>
-
Получите IP-адрес созданного балансировщика:
Консоль управления-
В консоли управления
выберите каталог, где развернут кластер Managed Service for Kubernetes. -
Выберите сервис Network Load Balancer.
В разделе Балансировщики отображен сетевой балансировщик нагрузки с префиксом
k8s
в имени и уникальным идентификатором кластера Kubernetes в описании. -
Скопируйте значение поля IP-адрес для нужного балансировщика.
-
-
Перейдите по ссылке
https://<IP-адрес_балансировщика>
и авторизуйтесь с учетными данными администратора.