Argo Rollouts


Red Hat OpenShift GitOps 1.9

점진적인 전달을 위해 Argo Rollouts 사용

Red Hat OpenShift Documentation Team

초록

이 문서에서는 Argo Rollouts를 사용하여 선언적 롤아웃 전략에 필요한 모든 정의를 캡슐화하는 방법을 설명합니다. GitOps 워크플로의 일부로 배포의 점진적인 배포를 관리하고 자동화하는 방법도 설명합니다.

1장. 점진적 배포 전달을 위해 Argo Rollouts 사용

중요

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

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

점진적인 제공은 제품 업데이트를 제어 및 점진적으로 배포하는 프로세스입니다. 점진적인 제공으로 인해 새 버전의 제품 업데이트를 처음에 사용자의 하위 집합에만 노출하여 릴리스의 위험을 줄일 수 있습니다. 이 프로세스에는 이 새 버전을 지속적으로 관찰 및 분석하여 해당 동작이 요구 사항 및 기대치와 일치하는지 확인해야 합니다. 이 검증은 프로세스가 제품 업데이트를 더 넓고 광범위한 대상에게 점진적으로 노출함에 따라 계속됩니다.

OpenShift Container Platform에서는 경로를 사용하여 다른 서비스 간에 트래픽을 분할하여 점진적인 제공 기능을 제공하지만 일반적으로 수동 개입과 관리가 필요합니다.

Argo Rollouts를 사용하면 자동화 및 메트릭 분석을 사용하여 점진적 배포 전달을 지원하고 새로운 버전의 애플리케이션을 자동 롤아웃 또는 롤백할 수 있습니다. Argo Rollouts는 고급 배포 기능을 제공하고 Ingress 컨트롤러 및 서비스 메시와의 통합을 활성화합니다. Argo Rollouts를 사용하여 배포된 애플리케이션의 다른 버전을 나타내는 여러 복제본 세트를 관리할 수 있습니다. 배포 전략에 따라 기존 트래픽 형성 기능을 최적화하고 트래픽을 새 버전으로 점진적으로 전환하여 업데이트 중에 이러한 버전으로의 트래픽을 처리할 수 있습니다. Argo 롤아웃은 Prometheus와 같은 메트릭 공급자와 결합하여 매개변수 세트를 기반으로 메트릭 기반 및 정책 기반 롤아웃 및 롤백을 수행할 수 있습니다.

1.1. 사전 요구 사항

  • cluster-admin 권한이 있는 클러스터에 액세스할 수 있습니다.
  • OpenShift Container Platform 웹 콘솔에 액세스할 수 있습니다.
  • Red Hat OpenShift GitOps 1.9.0 또는 최신 버전이 클러스터에 설치되어 있습니다.

1.2. Argo 롤아웃의 이점

기존 인프라에서 고급 배포 전략을 관리하고 조정하려면 오랜 유지 관리 기간이 필요한 경우가 많습니다. OpenShift Container Platform 및 Red Hat OpenShift GitOps와 같은 툴을 사용한 자동화는 이러한 창을 줄일 수 있지만 이러한 전략을 설정하는 것은 여전히 어려울 수 있습니다. Argo Rollouts를 사용하면 애플리케이션 팀이 롤아웃 전략을 선언적으로 정의할 수 있으므로 이 프로세스를 단순화할 수 있습니다. 팀은 더 이상 여러 배포 및 서비스를 정의하거나 트래픽 형성 및 테스트 통합을 위한 자동화를 생성할 필요가 없습니다. Argo Rollouts를 사용하면 선언적 롤아웃 전략에 필요한 모든 정의를 캡슐화하고 프로세스를 자동화하고 관리할 수 있습니다.

Red Hat OpenShift GitOps의 기본 워크로드로 Argo 롤아웃을 사용하면 다음과 같은 이점이 있습니다.

  • GitOps 워크플로우의 일부로 점진적인 자동 제공
  • 고급 배포 기능
  • Blue-green 또는 카나리아와 같은 기존 고급 배포 전략 최적화
  • 배포를 위한 제로 다운타임 업데이트
  • 세분화되고 가중된 트래픽 전환
  • 새 트래픽이 프로덕션 환경에 도달하지 않고 테스트할 수 있음
  • 자동 롤백 및 승격
  • 수동 판단
  • 비즈니스 핵심 성과 지표 (KPI)의 사용자 정의 메트릭 쿼리 및 분석
  • 고급 트래픽 라우팅을 위한 수신 컨트롤러 및 Red Hat OpenShift Service Mesh와의 통합
  • 배포 전략 분석을 위한 메트릭 공급자와 통합
  • 여러 공급자 사용

Argo Rollouts를 사용하면 최종 사용자 환경에서 점진적인 제공을 보다 쉽게 채택할 수 있습니다. 이를 통해 팀은 트래픽 관리자와 복잡한 인프라에 대해 배울 필요 없이 구조와 지침을 제공합니다. Red Hat OpenShift GitOps Operator는 자동 롤아웃을 통해 최종 사용자 환경에 보안을 제공하고 리소스, 비용 및 시간을 효과적으로 관리하는 데 도움이 됩니다. 보안 및 자동화된 배포와 함께 Argo CD를 사용하는 기존 사용자는 프로세스 초기에 피드백을 얻고 영향을 미치는 문제를 방지합니다.

1.3. RolloutManager 사용자 정의 리소스 및 사양 정보

Argo 롤아웃을 사용하려면 클러스터에 Red Hat OpenShift GitOps Operator를 설치한 다음 선택한 네임스페이스의 Operator에 RolloutManager CR(사용자 정의 리소스)을 생성하고 제출해야 합니다. 단일 네임스페이스 또는 여러 네임스페이스에 대해 RolloutManager CR의 범위를 지정할 수 있습니다. Operator는 다음과 같은 네임스페이스 범위 지원 리소스를 사용하여 argo-rollouts 인스턴스를 생성합니다.

  • Argo Rollouts 컨트롤러
  • Argo Rollouts 메트릭 서비스
  • Argo Rollouts 서비스 계정
  • Argo 롤아웃 역할
  • Argo Rollouts 역할 바인딩
  • Argo Rollouts 시크릿

RolloutsManager CR의 사양에 Argo Rollouts 컨트롤러 리소스에 대해 명령 인수, 환경 변수, 사용자 정의 이미지 이름 등을 지정할 수 있습니다. RolloutManager CR 사양은 Argo Rollouts의 원하는 상태를 정의합니다.

예: RolloutManager CR

apiVersion: argoproj.io/v1alpha1
kind: RolloutManager
metadata:
  name: argo-rollout
  labels:
    example: basic
spec: {}
Copy to Clipboard Toggle word wrap

1.3.1. Argo Rollouts 컨트롤러

Argo Rollouts 컨트롤러 리소스를 사용하면 네임스페이스에서 프로그레시브 애플리케이션 제공을 관리할 수 있습니다. Argo Rollouts 컨트롤러 리소스는 클러스터에 이벤트를 모니터링하고 Argo Rollouts와 관련된 모든 리소스가 변경될 때마다 반응합니다. 컨트롤러는 모든 롤아웃 세부 정보를 읽고 롤아웃 정의에 설명된 것과 동일한 상태로 클러스터를 가져옵니다.

1.4. RolloutManager 사용자 정의 리소스 생성

Red Hat OpenShift GitOps에서 Argo Rollouts를 사용하여 배포를 점진적으로 제공하려면 선택한 네임스페이스에서 RolloutManager CR(사용자 정의 리소스)을 생성하고 구성해야 합니다. 기본적으로 모든 새 argo-rollouts 인스턴스에는 배포된 네임스페이스에서만 리소스를 관리할 수 있는 권한이 있지만 필요에 따라 여러 네임스페이스에서 Argo Rollouts를 사용할 수 있습니다.

사전 요구 사항

  • Red Hat OpenShift GitOps 1.9.0 또는 최신 버전이 클러스터에 설치되어 있습니다.

프로세스

  1. OpenShift Container Platform 웹 콘솔에 클러스터 관리자로 로그인합니다.
  2. 관리자 화면에서 Operator → 설치된 Operator 를 클릭합니다.
  3. 프로젝트 드롭다운 메뉴에서 RolloutManager CR(사용자 정의 리소스)을 생성하고 구성할 프로젝트를 생성하거나 선택합니다.
  4. 설치된 Operator에서 OpenShift GitOps Operator 를 선택합니다.
  5. 세부 정보 탭의 제공된 API 섹션에서 RolloutManager 창에서 인스턴스 생성 을 클릭합니다.
  6. RolloutManager 생성 페이지에서 YAML 보기를 선택하고 기본 YAML을 사용하거나 요구 사항에 따라 편집합니다.

    예: RolloutManager CR

    apiVersion: argoproj.io/v1alpha1
    kind: RolloutManager
    metadata:
      name: argo-rollout
      labels:
        example: basic
    spec: {}
    Copy to Clipboard Toggle word wrap

  7. 생성을 클릭합니다.
  8. RolloutManager 탭의 RolloutManagers 섹션에서 RolloutManager 인스턴스의 Status 필드가 Phase: Available 로 표시되는지 확인합니다.
  9. 왼쪽 탐색 창에서 네임스페이스 범위 지원 리소스 생성을 확인합니다.

    • 워크로드배포를 클릭하여 argo-rollouts 배포를 실행 중인 1개의 Pod 중 1 개로 표시된 상태에서 사용할 수 있는지 확인합니다.
    • 워크로드시크릿을 클릭하여 argo-rollouts-notification-secret 시크릿을 사용할 수 있는지 확인합니다.
    • 네트워킹서비스를 클릭하여 argo-rollouts-metrics 서비스를 사용할 수 있는지 확인합니다.
    • 사용자 관리 → 역할을 클릭하여 argo-rollouts 역할argo-rollouts-aggregate-to-admin,argo-rollouts-aggregate-to-edit, argo-rollouts-aggregate-to-view 클러스터 역할을 사용할 수 있는지 확인합니다.
    • 사용자 관리RoleBindings 를 클릭하여 argo-rollouts 역할 바인딩을 사용할 수 있는지 확인합니다.

1.5. RolloutManager 사용자 정의 리소스 삭제

Red Hat OpenShift GitOps Operator를 설치 제거해도 설치 중에 생성된 리소스는 제거되지 않습니다. Red Hat OpenShift GitOps Operator를 제거하기 전에 RolloutManager CR(사용자 정의 리소스)을 수동으로 삭제해야 합니다.

사전 요구 사항

  • Red Hat OpenShift GitOps 1.9.0 또는 최신 버전이 클러스터에 설치되어 있습니다.
  • 네임스페이스에 RolloutManager CR이 있습니다.

프로세스

  1. OpenShift Container Platform 웹 콘솔에 클러스터 관리자로 로그인합니다.
  2. 관리자 화면에서 Operator → 설치된 Operator 를 클릭합니다.
  3. 프로젝트 드롭다운 메뉴를 클릭하고 RolloutManager CR이 포함된 프로젝트를 선택합니다.
  4. 설치된 Operator에서 OpenShift GitOps Operator 를 선택합니다.
  5. RolloutManager 탭을 클릭하여 RolloutManagers 섹션에서 RolloutManager 인스턴스를 찾습니다.
  6. 인스턴스를 클릭합니다.
  7. 드롭다운 메뉴에서 작업 → 롤아웃 삭제 를 클릭하고 삭제 를 클릭하여 대화 상자에서 확인합니다.
  8. RolloutManager 탭의 RolloutManagers 섹션에서 RolloutManager 인스턴스를 더 이상 사용할 수 없는지 확인합니다.
  9. 왼쪽 탐색 창에서 네임스페이스 범위의 지원 리소스가 삭제되었는지 확인합니다.

    • 워크로드배포를 클릭하여 argo-rollouts 배포가 삭제되었는지 확인합니다.
    • 워크로드시크릿을 클릭하여 argo-rollouts-notification-secret 시크릿이 삭제되었는지 확인합니다.
    • 네트워킹서비스를 클릭하여 argo-rollouts-metrics 서비스가 삭제되었는지 확인합니다.
    • 사용자 관리 → 역할을 클릭하여 argo-rollouts 역할argo-rollouts-aggregate-to-admin,argo-rollouts-aggregate-to-edit, argo-rollouts-aggregate-to-view 클러스터 역할이 삭제되었는지 확인합니다.
    • 사용자 관리RoleBindings 를 클릭하여 argo-rollouts 역할 바인딩이 삭제되었는지 확인합니다.

법적 공지

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat
맨 위로 이동