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