argocd
27 commands
27 shown
Войти в ArgoCD
Аутентифицировать argocd CLI через начальный admin secret
argocd login argocd.example.com --username admin --password $(kubectl get secret argocd-initial-admin-secret -n argocd -o jsonpath='{.data.password}' | base64 -d)
Список всех приложений
Все приложения ArgoCD с статусом синхронизации и здоровья
argocd app list
Синхронизировать приложение
Запустить синхронизацию и удалить лишние ресурсы
argocd app sync myapp --prune
Принудительный refresh (игнорировать кэш)
Принудительно получить манифесты заново из Git
argocd app get myapp --refresh
Diff приложения с кластером
Показать что изменится при синхронизации
argocd app diff myapp
Откат к предыдущей версии
Откатиться к ревизии 3 в истории приложения
argocd app rollback myapp 3
Создать приложение через CLI
Декларативно создать приложение ArgoCD с автосинхронизацией
argocd app create myapp --repo https://github.com/org/repo --path k8s/prod --dest-server https://kubernetes.default.svc --dest-namespace default --sync-policy automated
Удалить приложение (сохранить ресурсы)
Удалить объект приложения ArgoCD без удаления ресурсов Kubernetes
argocd app delete myapp --cascade=false
Добавить кластер в ArgoCD
Зарегистрировать внешний кластер через kubeconfig контекст
argocd cluster add my-k8s-context
Список зарегистрированных кластеров
Все кластеры под управлением ArgoCD
argocd cluster list
Переопределить образ
Переопределить образ контейнера для Kustomize приложения без изменений в Git
argocd app set myapp --kustomize-image myapp=myregistry/myapp:v1.2.3
Приостановить автосинхронизацию
Отключить автоматическую синхронизацию для ручного управления
argocd app set myapp --sync-policy none
Ресурсы приложения
Все Kubernetes ресурсы управляемые приложением
argocd app resources myapp
Следить за синхронизацией
Ждать пока приложение синхронизировано и здорово (CI)
argocd app wait myapp --sync --health --timeout 120
Создать проект с RBAC
Изолировать приложения в проекте с ограничениями по источнику и назначению
argocd proj create myproject --description 'Production apps' --dest 'https://kubernetes.default.svc,prod' --src 'https://github.com/org/*'
Переопределение Helm-значения при синхронизации
Переопределяет Helm-значения на лету без правки Git; note: вызывает дрейф от источника до коммита
argocd app set <name> --helm-set image.tag=v2 --helm-set replicaCount=3
Переопределение обычного параметра
Задаёт переопределения параметров Kustomize/Helm через -p; modern: для аудита лучше overlay в Git
argocd app set <name> -p key=val -p env=prod
Сравнение отрендеренных манифестов с кластером
Сравнивает отрендеренные Argo манифесты с текущим состоянием кластера до синхронизации
argocd app manifests <name> | kubectl diff -f -
Просмотр ApplicationSet
Выводит ApplicationSet и сгенерированные дочерние приложения и генераторы
argocd appset list && argocd appset get <name> -o yaml
Добавление приватного репозитория с учётными данными
Регистрирует HTTPS-репозиторий с учёткой; modern: --ssh-private-key-path для доступа по SSH
argocd repo add https://git.example.com/repo.git --username <id> --password $TOKEN
Патч спецификации приложения на месте
Merge-патч спецификации без правки CR; удобно для быстрой смены targetRevision
argocd app patch <name> --patch '{"spec":{"source":{"targetRevision":"v2.1"}}}' --type merge
Прерывание зависшей операции синхронизации
Отменяет идущую синхронизацию, зависшую на хуке или ожидающем ресурсе
argocd app terminate-op <name>
Запуск действия перезапуска ресурса
Запускает rollout restart Deployment через resource-действия Argo
argocd app actions run <name> restart --kind Deployment --resource-name <id>
Добавление окна синхронизации проекта
Создаёт deny-окно синхронизации для заморозки деплоев в нерабочее время; расписание по cron
argocd proj windows add <name> --kind deny --schedule '0 0 * * *' --duration 8h --applications '*'
Включение prune и server-side apply
Задаёт опции синхронизации для prune и SSA; note: SSA решает конфликты apply больших CRD
argocd app set <name> --sync-option Prune=true --sync-option ServerSideApply=true
Резервная копия всех объектов Argo
Экспорт/импорт всех приложений, проектов и настроек для DR; учитывает секреты кластеров
argocd admin export -n argocd > argo-backup.yaml # restore: argocd admin import -n argocd - < argo-backup.yaml
Частичная синхронизация одного ресурса
Синхронизирует только один ресурс по group:kind:name; изолирует правку без полной синхронизации
argocd app sync <name> --resource apps:Deployment:<id>
no commands match