ArgoCD 20

EKS IPv6에서 ArgoCD 설치 방법

1. EKS IPv6에서 ArgoCD를 설치한다는 의미는? EKS IPv6는 pod와 service가 모두 IPv6 IP를 사용합니다. 따라서 ArgoCD도 IPv6 IP를 지원해야 ArgoCD pod 실행 오류가 없습니다. 2. ArgoCD와 EKS IPv6 설치 호환 24년 3월 기준 ArgoCD는 듀얼스택 VPC에서 생성이 가능합니다. 공식문서에서 IPv6 쿠버네티스에서는 실행이 불가능하다고 말하고 있습니다. 다행히 EKS IPv6는 듀얼스택(host-local설정으로 듀얼스택모드 실행)모드?이므로 ArgoCD는 EKS IPv6에서 정상적으로 실행됩니다. 3. 하지만 ArgoCD 설치 오류 발생 하지만, ArgoCD가 사용하는 redis ha-proxy pod는 IPv6에서 실행되지 않습니다. 그..

Argocd가 겪는 문제: 닭이 먼저냐, 닭걀이 먼저냐

음... 스크린샷 화질을 높이는 방법을 생각 중입니다. 1. 닭이 먼저냐, 달걀이 먼저냐 문제란? gitops 닭이 먼저냐 달걀이 먼저냐(chicken and eggs)용어는 gitops방법론을 사용할 때 겪는 어려움을 말합니다. 이 어려움은 gitops에서 관리 주체를 어떻게 관리할 것인가에 대한 어려움입니다. Argocd에서는 "Argocd appliation을 어떻게 관리할 것인가"에 대한 고민이 있습니다. Argocd는 git에 있는 내용을 쿠버네티스에 반영하기 위해 Argocd application이 필요합니다. 문제는 git 저장소에 코드를 푸시해도 Argocd application이 자동으로 생성되지 않습니다. 따라서 사용자가 수동으로 Argocd application을 만들어야 하며, 필요..

Argocd rbac 테스트

팀 동료님이 사내 채팅에 argocd 권한 테스트에 대한 내용을 공유해주셨습니다. 공유한 글을 보다가 궁금한 점이 있어 몇 가지 테스트를 진행했습니다. 1. 테스트 목록 readonly권한에서 argocd application sync가 되는지? 거부(deny)권한 우선순위 2. 테스트 환경구축 테스트를 진행하기 위해 쿠버네티스와 argocd, argocd application이 필요합니다. 저는 쿠버네티스를 kind cluster로 사용했고 argocd는 kustomize로 했고 argocd버전은 v2.6.2입니다. argocd application은 argocd 공식 예제를 사용했습니다. 테스트 환경 구축과정은 이 글 마지막 부록 챕터를 참고해주세요. 테스트 환경에는 테스트에 필요한 계정과 권한을 생..

ArgoCD 13편 - kustomize 사용 방법

개요 이 문서는 Argo CD에서 Kustomize를 사용하는 방법을 설명합니다. 사용 방법 Argo CD는 kustomize 설정 파일이 있으면 kustomize build를 실행합니다. 그리고 이 결과를 쿠버네티스에에 배포합니다. 정리하면 Argo CD가 kustomize를 실행하는 방법은 아래 명령어와 비슷합니다. kustomize build | kubectl apply -f 아래 그림은 Argo CD 공식 예제 (https://github.com/argoproj/argocd-example-apps/blob/master/kustomize-guestbook/kustomization.yaml)를 사용했습니다. kustomization.yaml파일이 있어 Argo CD는 kustomize build명령어..

연재 시리즈 2023.03.10

ArgoCD 12편 - helm 차트 release방법

영상: https://youtu.be/o8DC9TcJjiw 개요 Argo cd에서 helm차트를 release방법을 설명합니다. 이 글은 Argo cd WEB UI를 이용합니다. release방법 Argo cd에서 helm차트 release 방법은 2가지 입니다. helm release설정은 Argo cd application생성 과정 중 source에서 설정합니다. helm 차트 저장소 주소를 지정 git주소 지정 helm 차트 저장소 주소 지정 첫 번째 방법은 helm차트 저장소 주소를 지정하는 방법입니다. helm차트 저장소를 선택하려면 ① source타입을 “HELM”을 선택하면 됩니다. 그리고 helm차트 주소를 지정하면 helm차트 목록과 helm차트 버전이 자동으로 출력됩니다. 아래 예제는 ..

연재 시리즈 2023.03.10

Argocd kustomize --enable-helm 옵션 활성화

문제 Argocd에서 kustomize로 helm을 사용할 경우 에러가 발생합니다. default설정으로 kustomize --enable-helm이 설정되어 있지 않기 때문입니다. 해결 참고자료: https://argo-cd.readthedocs.io/en/stable/user-guide/kustomize/#kustomizing-helm-charts kubernetes configmap에서 argocd-cm에서 kustomize옵션에 --enable-helm을 추가합니다. helm으로 Arogcd를 설치한 경우, values.yaml을 오버라이딩하면 됩니다. configs: cm: kustomize.buildOptions: --enable-helm