6.2. ClusterInstance CR을 위한 병렬 Argo CD 파이프라인 준비


병렬 Argo CD 프로젝트 및 애플리케이션을 생성하여 새 ClusterInstance CR 및 관련 클러스터 리소스를 관리합니다.

사전 요구 사항

  • cluster-admin 권한이 있는 사용자로 허브 클러스터에 로그인했습니다.
  • GitOps ZTP 환경을 성공적으로 구성했습니다.
  • 지원 설치 프로그램 서비스를 성공적으로 설치하고 구성했습니다.
  • 단일 노드 OpenShift 클러스터 구성이 포함된 Git 리포지토리에 액세스할 수 있습니다.

프로세스

  1. 병렬 Argo 프로젝트 및 애플리케이션에 대한 YAML 파일을 생성합니다.

    1. AppProject 리소스를 정의하는 YAML 파일을 생성합니다.

      ztp-app-project-v2.yaml 파일 예

      apiVersion: argoproj.io/v1alpha1
      kind: AppProject
      metadata:
        name: ztp-app-project-v2
        namespace: openshift-gitops
      spec:
        clusterResourceWhitelist:
        - group: hive.openshift.io
          kind: ClusterImageSet
        - group: hive.openshift.io
          kind: ClusterImageSet
        - group: cluster.open-cluster-management.io
          kind: ManagedCluster
        - group: ""
          kind: Namespace
        destinations:
        - namespace: '*'
          server: '*'
        namespaceResourceWhitelist:
        - group: ""
          kind: ConfigMap
        - group: ""
          kind: Namespace
        - group: ""
          kind: Secret
        - group: agent-install.openshift.io
          kind: InfraEnv
        - group: agent-install.openshift.io
          kind: NMStateConfig
        - group: extensions.hive.openshift.io
          kind: AgentClusterInstall
        - group: hive.openshift.io
          kind: ClusterDeployment
        - group: metal3.io
          kind: BareMetalHost
        - group: metal3.io
          kind: HostFirmwareSettings
        - group: agent.open-cluster-management.io
          kind: KlusterletAddonConfig
        - group: cluster.open-cluster-management.io
          kind: ManagedCluster
        - group: siteconfig.open-cluster-management.io
          kind: ClusterInstance 
      1
      
        sourceRepos:
        - '*'
      Copy to Clipboard Toggle word wrap

      1
      ClusterInstance CR은 site Config CR 대신 siteconfig.open-cluster-management.io 오브젝트 를 관리합니다.
    2. Application 리소스를 정의하는 YAML 파일을 생성합니다.

      clusters-v2.yaml 파일 예

      apiVersion: argoproj.io/v1alpha1
      kind: Application
      metadata:
        name: clusters-v2
        namespace: openshift-gitops
      spec:
        destination:
          namespace: clusters-sub
          server: https://kubernetes.default.svc
        ignoreDifferences:
        - group: cluster.open-cluster-management.io
          kind: ManagedCluster
          managedFieldsManagers:
          - controller
        project: ztp-app-project-v2 
      1
      
        source:
          path: site-configs-v2 
      2
      
          repoURL: http://infra.5g-deployment.lab:3000/student/ztp-repository.git
          targetRevision: main
        syncPolicy:
          syncOptions:
          - CreateNamespace=true
          - PrunePropagationPolicy=background
          - RespectIgnoreDifferences=true
      Copy to Clipboard Toggle word wrap

      1
      프로젝트 필드는 이전 단계에서 만든 AppProject 리소스의 이름과 일치해야 합니다.
      2
      path 필드는 ClusterInstance CR 및 관련 리소스를 포함할 Git 리포지토리의 루트 폴더와 일치해야 합니다.
      참고

      기본적으로 auto-sync 가 활성화됩니다. 그러나 동기화는 클러스터에 대한 구성 데이터를 새 구성 폴더 또는 이 예제에서 site-configs-v2/ 폴더로 푸시하는 경우에만 발생합니다.

  2. ClusterInstance CR 및 관련 리소스를 포함할 Git 리포지토리에서 루트 폴더를 생성하고 커밋합니다. 예를 들면 다음과 같습니다.

    $ mkdir site-configs-v2
    $ touch site-configs-v2/.gitkeep
    $ git commit -s -m “Creates cluster-instance folder”
    $ git push origin main
    Copy to Clipboard Toggle word wrap
    • .gitkeep 파일은 Git에서 빈 폴더를 추적하는 자리 표시자입니다.

      참고

      파이프라인 설정 중에 루트 site-configs-v2/ 폴더만 생성하고 커밋하면 됩니다. 전체 site-configs/ 폴더 구조를 클러스터 마이그레이션 절차 중에 site-configs-v2/ 에 미러링합니다.

  3. 다음 명령을 실행하여 AppProjectApplication 리소스를 hub 클러스터에 적용합니다.

    $ oc apply -f ztp-app-project-v2.yaml
    $ oc apply -f clusters-v2.yaml
    Copy to Clipboard Toggle word wrap

검증

  1. 다음 명령을 실행하여 원래 Argo CD 프로젝트 ztp-app-project 및 새 Argo CD 프로젝트인 ztp-app-project-v2 가 hub 클러스터에 있는지 확인합니다.

    $ oc get appprojects -n openshift-gitops
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME                 AGE
    default              46h
    policy-app-project   42h
    ztp-app-project      18h
    ztp-app-project-v2    14s
    Copy to Clipboard Toggle word wrap

  2. 다음 명령을 실행하여 원래 Argo CD 애플리케이션, 클러스터 및 새 Argo CD 애플리케이션, cluster -v2 가 hub 클러스터에 있는지 확인합니다.

    $ oc get application.argo -n openshift-gitops
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME                       SYNC STATUS   HEALTH STATUS
    clusters                   Synced        Healthy
    clusters-v2                Synced        Healthy
    policies                   Synced        Healthy
    Copy to Clipboard Toggle word wrap

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat