4.2. Argo CD 애플리케이션 컨트롤러의 shard 동적 스케일링 활성화


중요

shard의 동적 확장은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

기본적으로 Argo CD 애플리케이션 컨트롤러는 클러스터를 shard에 무기한 할당합니다. 라운드 로빈 샤딩 알고리즘을 사용하는 경우 이 정적 할당으로 인해 특히 복제본이 추가되거나 제거될 때 shard가 균등하게 분산될 수 있습니다. shard의 동적 스케일링을 활성화하여 Argo CD 애플리케이션 컨트롤러에서 관리하는 클러스터 수에 따라 shard 수를 자동으로 조정할 수 있습니다. 이렇게 하면 shard가 잘 균형을 유지하고 컴퓨팅 리소스 사용을 최적화합니다.

참고

동적 스케일링을 활성화한 후에는 shard 수를 수동으로 수정할 수 없습니다. 이 시스템은 Argo CD 애플리케이션 컨트롤러에서 관리하는 클러스터 수에 따라 shard 수를 자동으로 조정합니다.

4.2.1. 웹 콘솔에서 shard의 동적 스케일링 활성화

OpenShift Container Platform 웹 콘솔을 사용하여 shard의 동적 확장을 활성화할 수 있습니다.

사전 요구 사항

  • cluster-admin 권한이 있는 클러스터에 액세스할 수 있습니다.
  • OpenShift Container Platform 웹 콘솔에 액세스할 수 있습니다.
  • OpenShift Container Platform 클러스터에 Red Hat OpenShift GitOps Operator를 설치했습니다.

프로세스

  1. OpenShift Container Platform 웹 콘솔의 관리자 화면에서 Operator 설치된 Operator 로 이동합니다.
  2. 설치된 Operator 목록에서 Red Hat OpenShift GitOps Operator를 선택한 다음 ArgoCD 탭을 클릭합니다.
  3. shard의 동적 스케일링을 활성화할 Argo CD 인스턴스 이름을 선택합니다(예: openshift-gitops ).
  4. YAML 탭을 클릭한 다음 spec.controller.sharding 속성을 다음과 같이 편집하고 구성합니다.

    동적 확장이 활성화된 Argo CD YAML 파일의 예

    apiVersion: argoproj.io/v1beta1
    kind: ArgoCD
    metadata:
      name: openshift-gitops
      namespace: openshift-gitops
    spec:
      controller:
        sharding:
          dynamicScalingEnabled: true 1
          minShards: 1 2
          maxShards: 3 3
          clustersPerShard: 1 4

    1
    동적 확장을 활성화하려면 dynamicScalingEnabledtrue 로 설정합니다.
    2
    minShards 를 원하는 최소 shard 수로 설정합니다. 값을 1 이상으로 설정해야 합니다.
    3
    maxShards 를 보유할 최대 shard 수로 설정합니다. 값은 minShards 값보다 커야 합니다.
    4
    clustersPerShard 를 shard당 보유할 클러스터 수로 설정합니다. 값을 1 이상으로 설정해야 합니다.
  5. 저장을 클릭합니다.

    성공 알림 경고 openshift-gitops가 <version> 버전으로 업데이트되었습니다.

    참고

    기본 openshift-gitops 인스턴스를 편집하면 Managed 리소스 대화 상자가 표시됩니다. 저장을 다시 클릭하여 변경 사항을 확인합니다.

검증

네임스페이스의 Pod 수를 확인하여 분할이 활성화되었는지 확인합니다.

  1. 워크로드 StatefulSets 로 이동합니다.
  2. 프로젝트 드롭다운 목록에서 Argo CD 인스턴스가 배포된 네임스페이스를 선택합니다(예: openshift-gitops ).
  3. Argo CD 인스턴스의 이름이 있는 StatefulSet 오브젝트의 이름을 클릭합니다(예: openshift-gitops-apllication-controller ).
  4. Pods 탭을 클릭한 다음 Argo CD YAML 파일에 설정한 minShards 값보다 크거나 같은 Pod 수가 있는지 확인합니다.

4.2.2. CLI를 사용하여 shard의 동적 확장 활성화

OpenShift CLI(oc)를 사용하여 shard의 동적 확장을 활성화할 수 있습니다.

사전 요구 사항

  • OpenShift Container Platform 클러스터에 Red Hat OpenShift GitOps Operator를 설치했습니다.
  • cluster-admin 권한이 있는 클러스터에 액세스할 수 있습니다.

프로세스

  1. oc 툴을 cluster-admin 권한이 있는 사용자로 사용하여 클러스터에 로그인합니다.
  2. 다음 명령을 실행하여 동적 스케일링을 활성화합니다.

    $ oc patch argocd <argocd_instance> -n <namespace> --type=merge --patch='{"spec":{"controller":{"sharding":{"dynamicScalingEnabled":true,"minShards":<value>,"maxShards":<value>,"clustersPerShard":<value>}}}}'

    명령 예

    $ oc patch argocd openshift-gitops -n openshift-gitops --type=merge --patch='{"spec":{"controller":{"sharding":{"dynamicScalingEnabled":true,"minShards":1,"maxShards":3,"clustersPerShard":1}}}}' 1

    1
    예제 명령은 openshift-gitops 네임스페이스에서 openshift-gitops Argo CD 인스턴스에 대한 동적 스케일링을 활성화하고 최소 shard 수를 1 로, 최대 shard 수는 3, shard당 클러스터 수를 1 로 설정합니다. minShardclustersPerShard 의 값을 1 이상으로 설정해야 합니다. maxShard 의 값은 minShard 값보다 크거나 같아야 합니다.

    출력 예

    argocd.argoproj.io/openshift-gitops patched

검증

  1. Argo CD 인스턴스의 spec.controller.sharding 속성을 확인합니다.

    $ oc get argocd <argocd_instance> -n <namespace> -o jsonpath='{.spec.controller.sharding}'

    명령 예

    $ oc get argocd openshift-gitops -n openshift-gitops -o jsonpath='{.spec.controller.sharding}'

    shard의 동적 스케일링이 활성화된 경우 출력 예

    {"dynamicScalingEnabled":true,"minShards":1,"maxShards":3,"clustersPerShard":1}

  2. 선택 사항: OpenShift Container Platform 웹 콘솔에서 Argo CD 인스턴스의 구성 YAML 파일에서 구성된 spec.controller.sharding 속성을 확인하여 동적 확장이 활성화되어 있는지 확인합니다.
  3. Argo CD 애플리케이션 컨트롤러 Pod 수를 확인합니다.

    $ oc get pods -n <namespace> -l app.kubernetes.io/name=<argocd_instance>-application-controller

    명령 예

    $ oc get pods -n openshift-gitops -l app.kubernetes.io/name=openshift-gitops-application-controller

    출력 예

    NAME                                           READY   STATUS    RESTARTS   AGE
    openshift-gitops-application-controller-0      1/1     Running   0          2m  1

    1
    Argo CD 애플리케이션 컨트롤러 Pod의 수는 minShard 값보다 크거나 같아야 합니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.