문제 상황
Argo CD에서 애플리케이션 상태 동기화(Sync) 또는 매니페스트 로딩 시 다음과 같은 에러 발생:
Failed to load target state: failed to generate manifest for source 1 of 1:
rpc error: code = Unknown desc = NOAUTH Authentication required
에러 원인
- Argo CD는 내부적으로 Redis를 사용하여 애플리케이션 상태 등을 캐시함
- 기본적으로는 비밀번호 없이 동작해야 하는데, 현재 Redis에 requirepass 설정이 활성화되어 있어 비밀번호 없이는 명령어 실행이 불가능함
- Argo CD는 Redis 인증 설정을 하지 않기 때문에 연결에 실패함
진단 절차
1. Redis Pod가 정상적으로 떠 있는지 확인
kubectl get pods -n argocd | grep redis
예시 출력:
argocd-redis-7bdb569855-xxxxx 1/1 Running 0 5d20h
2. Redis CLI로 접속 후 테스트
kubectl exec -it argocd-redis-xxx -n argocd -- redis-cli
접속 후 아래와 같이 입력:
PING
결과:
(error) NOAUTH Authentication required
→ ✅ Redis에 requirepass 설정이 걸려 있음을 확인
해결 방법
방법 1: Redis 설정에서 requirepass 비활성화 (Helm 설치 환경)
1. values.yaml에서 Redis 인증 설정 제거
redis:
auth:
enabled: false # ✅ 이 부분이 핵심
2. Helm upgrade로 반영
helm upgrade argocd argo/argo-cd -f values.yaml -n argocd
방법 2: Redis 설정 파일 직접 수정 (수동 배포 환경)
1. Redis Pod 내부 진입
kubectl exec -it argocd-redis-xxx -n argocd -- /bin/sh
2. 설정 파일 열기
vi /etc/redis/redis.conf
3. 아래 항목 찾아서 주석 처리하거나 제거
requirepass yourpassword
4. Redis 재시작
kubectl delete pod argocd-redis-xxx -n argocd'DevOps & Infra > CI CD' 카테고리의 다른 글
| [Argo CD] 설치 및 GitOps 배포 (0) | 2025.04.20 |
|---|---|
| [CI/CD] 이미지 업로드 자동화 개선 로컬 스크립트 → Kubernetes Job 기반 방식으로 전환 (0) | 2025.04.10 |
| [Argo CD] Argo CD에 Redis는 왜 있을까? (0) | 2025.04.09 |
| [CI/CD] Jenkins ,NCP, Github, Docker, Spring Boot, Slack로 CI/CD 구축 (0) | 2024.03.13 |

