1.11. ArgoCD 에이전트를 사용하여 Red Hat OpenShift GitOps 애드온 활성화


가져오기 모델의 에이전트 모드를 사용하면 ArgoCD 에이전트와 함께 OpenShift GitOps 고급 가져오기 모델을 통해 애플리케이션 상태에 대한 자세한 상태를 얻을 수 있습니다. 네트워크 제한, 향상된 보안 요구 사항이 있거나 애플리케이션 제공을 위한 풀 모델을 구현할 때 이 에이전트 모드를 사용하십시오. 고급 풀 모델은 ArgoCD 에이전트를 통해 구동되며 완전히 자동화된 OpenShift GitOps 환경을 제공합니다.

ArgoCD 에이전트를 사용하여 OpenShift GitOps 애드온을 활성화하려면 다음 섹션을 완료합니다.

사전 요구 사항

  • Red Hat Advanced Cluster Management Hub 클러스터 설치
  • Red Hat Advanced Cluster Management에 등록된 관리형 클러스터
  • hub 클러스터에 OpenShift GitOps Operator 설치
  • 대상 관리 클러스터를 선택하는 배치 리소스
  • 대상 네임스페이스에 바인딩된 ManagedClusterSet
  • ArgoCD 에이전트 환경으로 구성된 OpenShift GitOps Operator 서브스크립션
  • 에이전트 모드로 구성된 ArgoCD 사용자 정의 리소스

1.11.1. 서브스크립션 및 리소스 구성

ArgoCD 에이전트를 활성화하려면 OpenShift GitOps Operator 서브스크립션 및 ArgoCD 사용자 정의 리소스를 구성해야 합니다. 필요한 서브스크립션 및 리소스를 구성하려면 다음 단계를 완료합니다.

  1. hub 클러스터에서만 다음 명령을 실행하여 필요한 환경 변수를 포함하도록 OpenShift GitOps Operator 서브스크립션을 수정합니다.

    oc edit subscription gitops-operator -n openshift-gitops-operator
    Copy to Clipboard Toggle word wrap
  2. 다음 YAML 샘플을 추가하여 spec.config.env 파일에 다음 환경 변수를 추가합니다.

    spec:
      config:
        env:
        - name: ARGOCD_CLUSTER_CONFIG_NAMESPACES
          value: openshift-gitops
        - name: ARGOCD_PRINCIPAL_TLS_SERVER_ALLOW_GENERATE
          value: "false"
        - name: ARGOCD_PRINCIPAL_REDIS_SERVER_ADDRESS
          value: openshift-gitops-redis:6379
    Copy to Clipboard Toggle word wrap
  3. 다음 YAML 샘플을 추가하여 기존 ArgoCD 사용자 정의 리소스를 호환 에이전트 모드 구성으로 교체합니다.

    apiVersion: argoproj.io/v1beta1
    kind: ArgoCD
    metadata:
      name: openshift-gitops
      namespace: openshift-gitops
    spec:
      controller:
        enabled: false
      argoCDAgent:
        principal:
          allowedNamespaces:
          - '*'
          auth: mtls:CN=system:open-cluster-management:cluster:([^:]+):addon:gitops-addon:agent:gitops-addon-agent
          enabled: true
    Copy to Clipboard Toggle word wrap
  4. 다음 명령을 실행하여 YAML 샘플을 적용합니다.

    oc apply -f argocd-example.yaml
    Copy to Clipboard Toggle word wrap
    • 참고: 허브 클러스터에서만 이 구성은 기존 ArgoCD 컨트롤러를 비활성화하고 상호 TLS 인증을 사용하여 에이전트 주체를 활성화합니다.

1.11.2. ArgoCD 에이전트 활성화

GitOpsCluster 리소스를 생성하여 ArgoCD 에이전트 애드온 배포를 관리합니다. 컨트롤러 컨트롤러는 배치에서 선택한 각 관리 클러스터에 대해 다음 리소스를 자동으로 생성합니다.

GitOpsCluster 컨트롤러는 다음 작업을 수행합니다.

  • PKI 관리 생성 및 자동화
  • 에이전트 모드로 구성된 ArgoCD 클러스터 시크릿 생성
  • 선택한 각 관리 클러스터에 Argo CD 에이전트를 배포

고급 풀 모델 Argo CD 에이전트 아키텍처를 활성화하려면 다음 단계를 완료합니다.

  1. 관리 클러스터에서 다음 YAML 샘플을 추가하여 ArgoCD 에이전트가 활성화된 GitOpsCluster 리소스를 생성합니다.

    apiVersion: apps.open-cluster-management.io/v1beta1
    kind: GitOpsCluster
    metadata:
      name: gitops-agent-clusters
      namespace: openshift-gitops
    spec:
      argoServer:
        argoNamespace: openshift-gitops
      placementRef:
        kind: Placement
        apiVersion: cluster.open-cluster-management.io/v1beta1
        name: production-clusters
        namespace: openshift-gitops
      gitopsAddon:
        enabled: true
        argoCDAgent:
          enabled: true
    Copy to Clipboard Toggle word wrap
  2. 다음 명령을 실행하여 YAML 샘플을 적용합니다.

    oc apply -f gitopscluster-example.yaml
    Copy to Clipboard Toggle word wrap

1.11.3. ArgoCD 설치 확인

ArgoCD 에이전트가 성공적으로 배포된 후 hub 클러스터에서 애플리케이션을 생성하고 관리 클러스터에서 작동하는지 확인하여 고급 Pull Model 워크플로가 완료되었는지 확인합니다.

성공적인 배포에 필요한 설치 및 리소스를 확인하려면 다음 단계를 완료합니다.

  1. 다음 명령을 실행하여 특정 에이전트 조건에 대해 GitOpsCluster 상태를 확인합니다.

    oc get gitopscluster gitops-agent-clusters -n openshift-gitops -o jsonpath='{.status.conditions}' | jq
    Copy to Clipboard Toggle word wrap
  2. 상태에 다음 조건 유형이 표시되는지 확인합니다.

    • Ready: GitOpsCluster 가 준비되고 모든 구성 요소가 작동합니다.
    • PlacementResolved: 배치 참조가 확인되고 관리 클러스터가 검색됩니다.
    • ClustersRegistered: 관리 클러스터가 ArgoCD 서버에 성공적으로 등록되었습니다.
    • AddOnDeploymentConfigsReady: 모든 관리 클러스터에 대해 AddOnDeploymentConfigs 가 생성됩니다.
    • ManagedClusterAddOnsReady: ManagedClusterAddons 가 관리 클러스터를 생성하고 업데이트합니다.
    • AddOnTemplate Ready: ArgoCD 에이전트 모드에 대해 생성된 동적 애드온Template입니다.
    • ArgoCDAgentPrereqsReady: 에이전트 사전 요구 사항이 설정됩니다.
    • CertificatesReady: TLS 인증서가 서명됩니다.
    • ManifestWorksApplied: 관리 클러스터에 전파되는 CA 인증서입니다.
  3. 다음 YAML 파일을 추가하여 관리 클러스터 네임스페이스에 ArgoCD 애플리케이션 리소스를 생성합니다.

    apiVersion: argoproj.io/v1alpha1
    kind: Application
    metadata:
      name: guestbook
      namespace: <managed cluster name>
    spec:
      project: default
      source:
        repoURL: https://github.com/argoproj/argocd-example-apps.git
        targetRevision: HEAD
        path: guestbook
      destination:
        server: https://<principal-external-ip:port>?agentName=<managed cluster name>
        namespace: guestbook
      syncPolicy:
        automated:
          prune: true
          selfHeal: true
    Copy to Clipboard Toggle word wrap
  4. 다음 명령을 실행하여 YAML 샘플을 적용합니다.

    oc apply -f application-example.yaml
    Copy to Clipboard Toggle word wrap
  5. 관리 클러스터에서 다음 명령을 실행하여 애플리케이션 리소스가 배포되었는지 확인합니다.

    oc get all -n guestbook
    Copy to Clipboard Toggle word wrap
  6. hub 클러스터에서 다음 명령을 실행하여 애플리케이션 상태가 다시 반영되는지 확인합니다.

    oc get application guestbook -n <managed cluster name>
    Copy to Clipboard Toggle word wrap
  7. 애플리케이션이 성공적으로 배포될 때 상태가 Synced (동기화됨)로 표시되는지 확인합니다.
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat
맨 위로 이동