이 이미지는 카나리아 배치 전략에 대한 트래픽 플로우를 보여줍니다. 다음과 같습니다.
- 개발자는 코드를 OCI 코드 저장소에 커밋하여 빌드 파이프라인에 전달합니다.
- 코드는 관리되는 빌드 단계를 거치고 아티팩트는 아티팩트 저장소 및 컨테이너 레지스트리로 전달됩니다.
- 그러면 코드가 Deployment Pipeline으로 전달되어 다음과 같이 순회됩니다.
- 먼저 Oracle Container Engine for Kubernetes(OKE) 배치 또는 Canary 인스턴스 그룹 배치 프로세스를 거칩니다. 이 프로세스는 검증을 위해 이 프로세스를 제출하고, OKE의 Canary Namespace Server로 배치 검증을 위해 이 프로세스를 전달합니다. 이 프로세스는 Oracle 인스턴스 풀의 VM 풀입니다.
- 배치 검증 후 카나리아 OKE 트래픽 이동 또는 카나리아 인스턴스 그룹 트래픽 이동으로 코드가 전달된 다음 배치 파이프라인에서 전달되고 OKE의 NGINX 컨트롤러 또는 Oracle 인스턴스 풀의 운용 로드 밸런서로 전달됩니다.
- 그러면 배치 파이프라인 내에서 코드를 참조하여 승인을 제어합니다.
- 승인되면 카나리아 배치 인스턴스 그룹 또는 OKE 배치 프로덕션으로 전달됩니다.
- OKE의 NGINX 컨트롤러도 OKE 카나리아 및 OKE 운용 네임스페이스 서버에서 데이터를 공급하고 이 트래픽을 운용 로드 밸런서로 전달합니다.
- 카나리아 배치 인스턴스 그룹에서 Oracle 인스턴스 풀로 전달되는 트래픽 또는 OKE 배치 운용 프로세스는 테스트 로드 밸런서를 통해 실행되거나 Oracle 인스턴스 풀의 운용 로드 밸런서로 직접 실행됩니다. 트래픽은 또한 운영 VM 풀에서 운영 로드 밸런서로 내보냅니다.
이 프로세스의 모든 작업은 Oracle Service Network 구성요소에 의해 관리됩니다.
- 로깅 서비스
- 모니터링 서비스
- 통지 서비스
- OCI 함수