v1.7에서 v1.8로 업그레이드
v1.7에서 v1.8로 업그레이드 (v1.7 to 1.8)
v1.8에서는 argocd-application-controller가 StatefulSet으로 전환되고, Application CRD의 헬스 평가가 제거되었으며 gRPC 메트릭이 기본 비활성화로 바뀌었어요. 각 항목에 맞춰 업그레이드 후 조치가 필요하니 차근차근 확인해 보세요.
출처: 문서
본문
argocd-application-controller가 StatefulSet으로 전환
argocd-application-controller가 StatefulSet으로 전환됐어요. 즉, 업그레이드 후 argocd-application-controller Deployment를 수동으로 삭제해야 해요. 마찬가지로 v1.7로 롤백하기로 했다면 argocd-application-controller StatefulSet을 삭제하는 것을 잊지 마세요.
argoproj.io/Application CRD의 헬스 평가 제거
argoproj.io/Application CRD의 헬스 평가(health assessment)가 제거됐어요 (자세한 내용은 #3781 참고). app-of-apps 패턴을 사용하고 Sync Waves로 동기화를 조율한다면 이 기능을 복원해야 할 수 있어요. argocd-cm ConfigMap에 다음 리소스 커스터마이제이션을 추가하세요:
---
apiVersion: v1
kind: ConfigMap
metadata:
name: argocd-cm
namespace: argocd
labels:
app.kubernetes.io/name: argocd-cm
app.kubernetes.io/part-of: argocd
data:
resource.customizations: |
argoproj.io/Application:
health.lua: |
hs = {}
hs.status = "Progressing"
hs.message = ""
if obj.status ~= nil then
if obj.status.health ~= nil then
hs.status = obj.status.health.status
if obj.status.health.message ~= nil then
hs.message = obj.status.health.message
end
end
end
return hs
기존 리소스.customizations가 없는 설치를 수정하려면, data: 스탠자를 파일로 저장하고 다음과 같이 configmap에 패치하면 돼요:
kubectl -n argocd patch configmaps argocd-cm --patch-file argocd-cm-patch.yaml
gRPC 메트릭이 기본 비활성화
argocd-server와 argocd-repo-server가 기본적으로 gRPC 메트릭을 더 이상 노출하지 않아요. 이 메트릭이 비용이 너무 많이 드는 것으로 판단되어 기본적으로 비활성화하기로 했어요. 메트릭은 ARGOCD_ENABLE_GRPC_TIME_HISTOGRAM=true 환경 변수를 사용해 활성화할 수 있어요.
이제부터는 일반적인 업그레이드 절차를 그대로 따라가면 됩니다.
더 알아보기 (Learn more)
- 이 문서의 원문: v1.7 to 1.8
- Argo CD 공식 문서: https://argo-cd.readthedocs.io