[ArgoCD]Cross Account EKS Cluster 연동 방법(Declarative Setup)
·
DevOps
배경 상황EKS 클러스터를 테스트용으로 사용할 때나 아주 작은 규모에서 운영할 경우를 제외하고 대부분의 서비스 운영에서는 여러 개의 클러스터를 이용하는 경우가 대부분이다. 이 때 ArgoCD를 각 클러스터에 배포할수도 있지만, 관리의 편의성을 위해 ArgoCD에 여러 개의 클러스터를 연결하기도 하게 된다. 특히 지금 회사에서는 환경별로 별도의 ArgoCD 서버를 운영한다고 하더라도 서로 다른 계정에 배포된 EKS 클러스터를 ArgoCD에 등록할 필요가 있어 아래 구성을 진행하게 되었다. Cross Account EKS Cluster 연동 방법연동 구성을 간단하게 도식화 하면 아래와 같다.ArgoCD 공식문서를 확인해보면 클러스터의 선언적 구성 방법이 나와있는데, 요약해보면ArgoCD가 운영되는 계정에서 ..
[ArgoCD]Grafana, Istio등 Application의 Out of Sync 해결(ArgoCD Diffing custom)
·
DevOps
배경 상황ArgoCD의 Application 리소스를 배포해 Grafana와 Istio 등 EKS 클러스터 운영에 필요한 각종 애플리케이션을 배포하다가 거슬리는 부분을 발견했다. 아래처럼 특정 리소스가 지속적으로 실제 EKS 환경의 리소스와 소스코드 저장소 상 구성의 차이점이 있어 Sync status가 계속해서 Out of Sync인 상태로 남는 현상이 발생했던 것. ArgoCD UI에서 해당 리소스를 클릭하고 Diff를 확인했더니 failurePolicy가 배포 전 구성했던 매니페스트 설정에서 변경되어 있었다. 캡처는 istio의 diff 화면이지만, Grafana에서도 동일하게 동작에 문제는 없는데 Sync Status만 Out of Sync로 남아있는 부분이 있었다. ArgoCD의 Diffin..
[ArgoCD]Github 저장소 선언적으로 등록하고 관리하기(Feat. External Secrets)
·
DevOps
배경 상황ArgoCD로 클러스터 부트스트랩 구성을 진행하고 있다. kustomize로 ArgoCD 배포 → ArgoCD 애플리케이션 배포해서 ArgoCD 설정 선언적으로 관리 → App of Apps 패턴으로 나머지 애플리케이션 배포 하는 절차를 통해 EKS 클러스터에서 사용할 대부분의 워크로드를 선언적으로 관리하려고 하는데 kustomize로 ArgoCD를 배포할 때 ArgoCD에 Github 저장소를 등록해야 나머지 절차(ArgoCD Appliation으로 워크로드 배포)를 진행할 수 있다. GUI로 ArgoCD에 Github 저장소 등록하기구글에서 ArgoCD 튜토리얼을 찾아보면 처음에는 대부분 GUI(혹은 CLI)로 등록하는 방법을 안내해주는데(ArgoCD GUI 접속 > Settings > R..
[ArgoCD]Google SSO(OAuth2.0)인증 연결하기
·
DevOps
지금 다니고 있는 회사에서는 이메일 계정을 구글로 관리하고 있다. 이번에 EKS 마이그레이션 이후 ArgoCD를 도입할 예정이라 Google Workspace 계정을 통해 ArgoCD 인증을 할 수 있도록 연동해봤다. ArgoCD 공식문서에 Google을 포함한 다양한 Identity Provider와의 연동 방법 가이드가 나와있어서 다른 인증 방법으로 연동하는 방법은 링크를 참고하면 된다(링크). 1. 구글 계정에 로그인한 후, Create Project를 통해서 Project를 생성한다(Project 생성이 이미 되어있다면 OAuth Consent 링크로 바로 이동).  2. 왼쪽 Navigation 메뉴에서 APIs & Services > Credentials를 클릭한다.   3. Create cr..