v2.0에서 v2.1로 업그레이드
v2.0에서 v2.1로 업그레이드 (v2.0 to 2.1)
v2.1에서는 Kustomize 버전이 올라가고, --app-resync 플래그가 timeout.reconciliation 설정으로 대체되며 저장소 구성을 Secret 기반으로 바꾸는 변경이 있어요. 커스텀 이미지를 만들 때는 런타임 시스템 사용자를 argocd에서 999로 바꿔야 해요.
출처: 문서
본문
Kustomize 버전 업그레이드
번들로 제공되는 Kustomize가 v4.2.0으로 업그레이드됐어요. Kustomize v4에서 일부 플래그가 바뀌었어요. 예를 들어 load_restrictor 플래그 이름이 Kustomize v4+에서 바뀌었어요. --load_restrictor=none에서 --load-restrictor LoadRestrictionsNone으로 변경됐어요.
--app-resync 플래그를 timeout.reconciliation 설정으로 대체
--app-resync 플래그는 Argo CD 애플리케이션 컨트롤러가 각 애플리케이션의 대상 애플리케이션 리비전을 확인하는 빈도를 제어해요. 해결된 리비전을 애플리케이션별이 아니라 저장소별로 캐싱할 수 있도록, --app-resync 플래그가 디프리케이트됐어요. 대신 argocd-cm ConfigMap의 timeout.reconciliation 설정을 사용하세요. timeout.reconciliation 값은 60s, 1m 또는 1h 같은 duration 문자열이에요. 예시는 argocd-cm.yaml에서 확인할 수 있어요.
이제부터는 일반적인 업그레이드 절차를 그대로 따라가면 됩니다.
repositories와 repository.credentials를 Secrets로 대체
argocd-cm을 통한 저장소 및 저장소 자격 증명 템플릿의 구성이 디프리케이트됐어요. 저장소와 저장소 자격 증명은 이제 각각 argocd.argoproj.io/secret-type=repository 또는 argocd.argoproj.io/secret-type=repo-creds로 라벨링된 Secrets를 통해 발견돼요. 예시는 argocd-repositories.yaml과 argocd-repo-creds.yaml에서 확인할 수 있어요.
argocd-util CLI 명령이 argocd admin으로 통합
argocd-util CLI 명령은 argocd admin 아래에서 사용할 수 있고, argocd-util 바이너리는 더 이상 제공되지 않아요.
BYOI에서 런타임 시스템 사용자 교체
런타임 시스템 사용자를 아래처럼 argocd에서 999로 바꿔야 해요.
FROM argoproj/argocd:latest
# Switch to root for the ability to perform install
USER root
# Something custom here
RUN apt-get update
# Switch back to non-root user
# deprecated: USER argocd
USER 999
더 알아보기 (Learn more)
- 이 문서의 원문: v2.0 to 2.1
- Argo CD 공식 문서: https://argo-cd.readthedocs.io