ArgoCD

circle-info

OIDC를 통한 SSO 구성 가이드 입니다. (Dex 불포함)

Ⅰ. Okta-ArgoCD SSO 연동

1. [Okta] 앱 등록 및 설정

경로": "Applications" → "Applications" → "Create App Integration" 선택

옵션 선택 후 "Next" 선택

  • "Sign-in method" → "OIDC - OpenID Connect" 선택

  • "Application type" → "Web Application" 선택

  • App integration name (필수) : Application 이름 입력

  • Logo (선택) : Logo 다운로드 후 업로드 (PNG, JPG)

  • Grant type (필수) :

    • "Authorization Code", "Refresh Token" 선택

Sign-in redirect URIs : 아래 옵션 중 ArgoCD 접속 환경에 적합한 1개 옵션 입력

  • ArgoCD Domain : https://<ArgoCD_Server_Domain>/auth/callback

  • ArgoCD IP / Port : http://<ArgoCD_Server_IP>:<Port>/auth/callback

Logout redirect URIs : 아래 옵션 중 ArgoCD 환경에 적합한 1개 옵션 입력

  • ArgoCD Domain : https://<ArgoCD_Server_Domain>

  • ArgoCD IP / Port : http://<ArgoCD_Server_IP>:<Port>

  • Controlled access 옵션 중 "Skip group assignment for now" 선택 후 "Save" 선택

circle-info

구성이 완료되면 생성한 Application에 "General" 항목 중 Client ID, Client Secret 대한 정보를 복사합니다.

2. [ArgoCD] OIDC 구성 설정

1) ArgoCD 서버 접속

circle-exclamation
ArgoCD 환경 버전 정보

2) Argo CD ConfigMap 확인

  • Argo CD의 설정 파일은 argocd-cm이라는 ConfigMap에 저장됩니다.

  • ConfigMap을 확인하는 방법은 다음과 같습니다.

    • 명령어 :

      • kubectl -n argocd get cm argocd-cm -o yaml

    • 실행내역 :

3) ConfigMap 수정하기

  • ConfigMap을 수정하려면 kubectl edit 명령어를 사용하여 직접 편집할 수 있습니다.

    • 명령어 :

      • kubectl -n argocd edit cm argocd-cm

    • 실행내역:

circle-info
  • 위의 Data 항목을 모두 복사하여 ConfigMap 제일 마지막에 추가합니다. 추가 후 아래 4가지 항목은 변경 후 저장이 필요합니다.

    • url : ArgoCD Server 접속 정보 : IP:Port 또는 Domain

    • issuer: https://<OKTA_TENANT_Subdomain>.okta.com

    • clientID: Okta에서 복사한 ArgoCD Application Client ID

    • clientSecret: Okta에서 복사한 ArgoCD Application Client Secret

  • ConfigMap 수정 및 저장이 완료 되었다면 아래 명령어를 통해 정상적으로 입력 내용이 확인되는지 검토 바랍니다.

    • 명령어 : kubectl -n argocd get cm argocd-cm -o yaml

4) ConfigMap 적용을 위한 Argo CD 서버 서비스 재시작

  • ConfigMap을 편집하고 저장하면 Kubernetes는 자동으로 변경 사항을 감지하고 Argo CD에 적용됩니다. 그러나 일부 변경 사항은 Argo CD 서버를 재시작해야 적용될 수 있습니다.

  • 서버의 서비스 재시작으로 이슈가 발생하는 사항이 없는지 검토 후 진행 바랍니다.

  • Argo CD 서버를 재시작 방법은 다음과 같습니다

    • 명령어 :

      • kubectl -n argocd rollout restart deployment argocd-server

    • 실행내역 :

Ⅱ. 사용자 경험

ArgoCD Web 연결

  1. Login 페이지 상단에 "LOG IN VIA OKTA" 항목이 추가 되었으며, 해당 항목을 선택하여 Okta로 인증 받습니다.

  1. Okta 로그인 인증

  1. 인증 완료 후 사용자 정보 확인

Last updated