v2.1에서 v2.2로 업그레이드
v2.1에서 v2.2로 업그레이드 (v2.1 to 2.2)
v2.2에서는 번들 Helm이 3.6.0에서 v3.7+로 올라가며 몇 가지 호환성이 깨지는 변경이 있어요. 또한 2.2.12부터 OpenSSH가 8.9로 올라가면서 SHA-1 기반 ssh-rsa 서명 알고리즘 지원이 제거됐으니, SSH 인증을 쓰는 git 제공자가 새 알고리즘을 지원하는지 확인해야 해요.
출처: 문서
본문
Helm 버전 업그레이드
번들로 제공되는 Helm이 3.6.0에서 v3.7+로 업그레이드됐어요. 여기에는 다음의 호환성 변경이 포함돼요:
- 저장소와 다른 도메인에서 제공되는 차트를 다운로드할 때 저장소 자격 증명이 더 이상 전달되지 않아요.
argocd app create에 --helm-pass-credentials 옵션을 지정하면 이전 동작을 강제할 수 있어요.
자세한 내용은 Helm v3.6.1 릴리스 노트에서 확인할 수 있어요.
- 실험적 OCI 지원이 다시 작성됐어요.
자세한 내용은 Helm v3.7.0 릴리스 노트에서 확인할 수 있어요.
2.2.12에서 SHA-1 서명 해시 알고리즘을 사용하는 비공개 저장소 SSH 키 지원 제거
Argo CD 2.2.12는 베이스 이미지를 Ubuntu 21.10에서 Ubuntu 22.04로 업그레이드했고, 이로 인해 OpenSSH가 8.9로 올라갔어요. 8.8부터 OpenSSH는 ssh-rsa SHA-1 키 서명 알고리즘 지원을 제거했어요.
서명 알고리즘은 키를 생성할 때 사용되는 알고리즘과 다릅니다. 키를 업데이트할 필요는 없어요.
서명 알고리즘은 연결이 설정될 때 SSH 서버와 협상돼요. 클라이언트가 허용되는 서명 알고리즘 목록을 제시하고, 서버에 일치하는 것이 있으면 연결이 진행돼요. 최신 git 제공자의 대부분 SSH 서버에서는 ssh-rsa 외에 허용 가능한 알고리즘을 사용할 수 있어야 해요.
Argo CD 2.2.12로 업그레이드하기 전에, SSH 인증을 사용하는 git 제공자가 rsa-ssh보다 최신 알고리즘을 지원하는지 확인하세요.
- SSH 버전이 >= 8.9 (Argo CD가 사용하는 버전)인지 확인하세요. 아니라면 계속하기 전에 업그레이드하세요.
ssh -V
예시 출력: OpenSSH_8.9p1 Ubuntu-3, OpenSSL 3.0.2 15 Mar 2022
- 최신 OpenSSH 버전을 갖추면 OpenSSH 8.8 릴리스 노트의 지침을 따르세요:
호스트 인증에 약한 ssh-rsa 공개 키 알고리즘을 사용하는 서버인지 확인하려면, ssh(1)의 허용 목록에서 ssh-rsa 알고리즘을 제거한 뒤 연결을 시도해 보세요: ssh -oHostKeyAlgorithms=-ssh-rsa user@host
호스트 키 검증이 실패하고 다른 지원되는 호스트 키 유형도 없다면, 해당 호스트의 서버 소프트웨어를 업그레이드해야 해요.
서버가 허용 가능한 버전을 지원하지 않으면 다음과 유사한 오류가 발생해요:
$ ssh -oHostKeyAlgorithms=-ssh-rsa vs-ssh.visualstudio.com
Unable to negotiate with 20.42.134.1 port 22: no matching host key type found. Their offer: ssh-rsa
이것은 서버가 지원하는 키 서명 알고리즘을 업데이트해야 하며, Argo CD가 그 서버에 연결하지 못한다는 뜻이에요.
우회 방법 (Workaround)
OpenSSH 8.8 릴리스 노트는 서버의 키 서명 알고리즘 구성을 변경할 수 없을 때 사용할 수 있는 우회 방법을 설명해요.
호환성 문제는 업그레이드되지 않았거나 SSH 프로토콜의 개선을 밀접하게 따라가지 않은 오래된 SSH 구현에 연결할 때 더 자주 발생해요. 이러한 경우에는 HostkeyAlgorithms 및 PubkeyAcceptedAlgorithms 옵션을 통해 RSA/SHA1을 선택적으로 다시 활성화하여 연결 및/또는 사용자 인증을 허용해야 할 수 있어요. 예를 들어 ~/.ssh/config의 다음 스탠자는 단일 대상 호스트에 대한 호스트 및 사용자 인증에서 RSA/SHA1을 활성화해요: Host old-host HostkeyAlgorithms +ssh-rsa PubkeyAcceptedAlgorithms +ssh-rsa
RSA/SHA1은 레거시 구현이 업그레이드되거나 다른 키 유형(예: ECDSA 또는 Ed25519)으로 재구성될 때까지의 임시 조치로만 활성화하는 것이 좋아요.
이를 Argo CD에 적용하려면, 원하는 ssh 구성 파일이 담긴 ConfigMap을 만들고 /home/argocd/.ssh/config에 마운트하면 돼요.
더 알아보기 (Learn more)
- 이 문서의 원문: v2.1 to 2.2
- Argo CD 공식 문서: https://argo-cd.readthedocs.io