9.4.2. Blue-Green 배포


Blue-Green 배포에는 두 가지 버전의 애플리케이션을 동시에 실행하고 프로덕션 내 버전(Green 버전)에서 최신 버전(파란색 버전)으로 트래픽을 이동하는 작업이 포함됩니다. 롤링 전략 또는 전환 서비스를 경로에서 사용할 수 있습니다.

참고

많은 애플리케이션이 영구 데이터에 의존하기 때문에 N-1 호환성 을 지원하는 애플리케이션이 있어야 합니다. 즉, 데이터 계층의 두 복사본을 생성하여 데이터를 공유하고 데이터베이스, 저장소 또는 디스크 간에 실시간 마이그레이션을 구현해야 합니다.

새 버전을 테스트하는 데 사용되는 데이터를 떠올려 보십시오. 데이터가 프로덕션 데이터라면 새 버전의 버그로 인해 프로덕션 버전에 장애가 발생할 수 있습니다.

9.4.2.1. Blue-Green 배포 사용

Blue-Green 배포에서는 두 가지 배포 구성을 사용합니다. 둘 다 실행 중이고 프로덕션 중 하나는 경로에서 지정하는 서비스에 따라 달라지며 각 배포 구성이 다른 서비스에 노출됩니다. 새 버전의 새 경로를 생성하고 테스트할 수 있습니다. 준비되면 새 서비스를 가리키도록 프로덕션 경로의 서비스를 변경하고 새로운 blue, version이 활성화됩니다.

필요한 경우 서비스를 이전 버전으로 전환하여 이전 녹색 버전으로 롤백할 수 있습니다.

경로 및 두 서비스 사용

이 예에서는 안정적인 버전(Green 버전) 및 다른 하나는 최신 버전(Blue 버전)의 두 가지 배포 구성을 설정합니다.

경로는 서비스를 가리키며 언제든지 다른 서비스를 가리키도록 변경할 수 있습니다. 개발자는 프로덕션 트래픽이 라우팅되기 전에 새 서비스에 연결하여 코드의 새 버전을 테스트할 수 있습니다.

경로는 웹(HTTP 및 HTTPS) 트래픽을 위한 것이므로 이 기술은 웹 애플리케이션에 적합합니다.

  1. 예제 애플리케이션의 사본 두 개를 생성합니다.

    $ oc new-app openshift/deployment-example:v1 --name=example-green
    $ oc new-app openshift/deployment-example:v2 --name=example-blue

    이렇게 하면 두 개의 독립 애플리케이션 구성 요소가 생성됩니다. example-green 서비스에서 v1 이미지를 실행하는 것과 example-blue 서비스에서 v2 이미지를 사용합니다.

  2. 이전 서비스를 가리키는 경로를 생성합니다.

    $ oc expose svc/example-green --name=bluegreen-example
  3. example-green.<project>.<router_domain> 에서 애플리케이션을 검색하여 v1 이미지가 표시되는지 확인합니다.
  4. 경로를 편집하고 서비스 이름을 example-blue 로 변경합니다.

    $ oc patch route/bluegreen-example -p '{"spec":{"to":{"name":"example-blue"}}}'
  5. 경로가 변경되었는지 확인하려면 v2 이미지가 표시될 때까지 브라우저를 새로 고칩니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.