연재 시리즈

ArgoCD 13편 - kustomize 사용 방법

악분 2023. 3. 10. 22:09
반응형

개요

이 문서는 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명령어 실행합니다.

 

플러그인 사용 제약

kustomize의 기본 기능 이외에 플러그인을 사용하는 경우, 정상적으로 동작하지 않을 수 있습니다.

 

다음 예제는 helm 플러그인을 사용할 경우 kustomize build 오류가 발생합니다.

예제: https://github.com/choisungwook/argocd-practice/tree/main/kustomize-helm

 

플러그인이 올바르게 작동하려면 공식 문서를 참고하여 kustomize build 옵션을 수정해야 합니다. kustomize build 옵션은 argocd-cm configmap에서 설정할 수 있습니다. 아래 예제는 helm 플러그인을 사용하기 위해 --enable-helm 인자를 build 옵션에 추가한 것입니다.

공식문서 링크: https://argo-cd.readthedocs.io/en/stable/user-guide/kustomize/#kustomizing-helm-charts
apiVersion: v1
kind: ConfigMap
metadata:
  name: argocd-cm
  namespace: argocd
data:
  kustomize.buildOptions: --enable-helm

 

configmap을 수정하면 argo-server pod를 재부팅해야 합니다.

반응형