ApplicationSet으로 Application 생성

ApplicationSet으로 Application 생성 (Generating Applications with ApplicationSet)

ApplicationSet 컨트롤러는 Argo CD 내에서 Application 자동화를 추가하고 다중 클러스터 지원과 클러스터 멀티테넌트 지원을 개선합니다. Argo CD Application은 Git 또는 Argo CD가 정의한 클러스터 목록을 포함한 여러 소스에서 템플릿화될 수 있습니다.

출처: 문서

본문

ApplicationSet으로 Application 생성

ApplicationSet 컨트롤러로 Argo CD Application 생성 자동화

ApplicationSet 컨트롤러는 Application 자동화를 추가하고 Argo CD 내에서 다중 클러스터 지원과 클러스터 멀티테넌트 지원을 개선합니다. Argo CD Application은 Git 또는 Argo CD 자신이 정의한 클러스터 목록을 포함한 여러 다른 소스에서 템플릿화될 수 있습니다.

ApplicationSet 컨트롤러가 제공하는 도구 세트는 또한 Argo CD 네임스페이스에 접근할 수 없는 개발자들이 클러스터 관리자 개입 없이 독립적으로 Application을 만들 수 있게 하는 데 사용될 수 있습니다.

경고: 개발자가 ApplicationSet으로 Application을 만들 수 있게 하기 전에 보안 영향에 유의하세요.

ApplicationSet 컨트롤러는 ApplicationSet 커스텀 리소스(CR)의 내용에 따라 Argo CD Application을 자동으로 생성합니다.

다음은 여러 클러스터를 대상으로 하는 Argo CD Application에 사용할 수 있는 ApplicationSet 리소스 예시입니다:

apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
  name: guestbook
spec:
  goTemplate: true
  goTemplateOptions: ["missingkey=error"]
  generators:
  - list:
      elements:
      - cluster: engineering-dev
        url: https://1.2.3.4
      - cluster: engineering-prod
        url: https://2.4.6.8
      - cluster: finance-preprod
        url: https://9.8.7.6
  template:
    metadata:
      name: '{{.cluster}}-guestbook'
    spec:
      project: my-project
      source:
        repoURL: https://github.com/infra-team/cluster-deployments.git
        targetRevision: HEAD
        path: guestbook/{{.cluster}}
      destination:
        server: '{{.url}}'
        namespace: guestbook

List 생성기는 urlcluster 필드를 {{param}} 스타일 파라미터로 템플릿에 전달하며, 이는 정의된 각 클러스터에 대해 세 개의 해당 Argo CD Application으로 렌더링됩니다. 새 클러스터를 대상으로 지정하거나(또는 기존 클러스터를 제거) ApplicationSet 리소스를 변경하기만 하면 해당 Argo CD Application이 자동으로 생성됩니다.

마찬가지로 ApplicationSet template 필드에 대한 변경은 생성된 모든 Application에 자동으로 적용됩니다. 따라서 여러 Argo CD Application 세트를 관리하는 것은 단일 ApplicationSet 리소스를 관리하는 것만큼 쉬워집니다.

ApplicationSet 안에는 List 생성기 외에도 더 강력한 생성기가 있습니다. 자동으로 Argo CD 정의 클러스터를 사용해 Application을 템플릿화하는 Cluster 생성기와 Git 저장소의 파일/디렉터리를 사용해 애플리케이션을 템플릿화하는 Git 생성기가 있습니다.

ApplicationSet 컨트롤러에 대해 더 알아보려면 ApplicationSet 문서를 참조하세요.

Argo CD 웹 UI를 통해 ApplicationSet을 관리하려면 웹 UI에서 ApplicationSet 관리를 참조하세요.

더 알아보기 (Learn more)