Apollo 입문 실습
이 실습에서는 SaaS Apollo 허브(Hub)에 자신의 Kubernetes 클러스터를 스포크 환경(Spoke Environment)으로 연결하고 소프트웨어의 설치, 회수와 승격을 다룹니다. 운영과 분리한 클러스터 및 제품을 사용합니다. 자신의 Helm 차트를 사용할 수 있으며, 실습의 제품 이름과 버전은 실제 운영 소프트웨어의 상태를 뜻하지 않습니다.
준비 조건
- 스포크 환경 요구사항을 만족하는 Kubernetes 클러스터가 하나 이상 있어야 합니다. 시험용 클러스터는 Docker와 kind로 로컬에 구성할 수 있습니다.
- 필요한 환경에서 SSH와 SCP로 접근하고
kubectl명령을 실행할 수 있어야 합니다. - 로컬 컴퓨터의 관리 권한과 공용 인터넷 접근이 필요합니다.
- Microsoft Authenticator 같은 다중 인증 애플리케이션을 사용할 수 있어야 합니다.
- Apollo 허브에 로그인할 수 있어야 하며, 실제 수행할 작업에 필요한 역할이 있어야 합니다.
로컬에 apollo_introduction 디렉터리를 만들어 생성한 매니페스트와 구성 파일을 보관합니다. 토큰 등 비밀값은 일반 실습 파일과 분리하여 안전하게 관리합니다.
실습 순서
- 스포크 환경 연결: 허브의 환경 리소스와 클러스터를 연결합니다.
- 제품과 릴리스 생성: 배포할 소프트웨어의 제품 ID와 특정 버전을 등록합니다.
- 환경에 릴리스 설치: 채널과 버전 조건을 정하여 배포 개체를 만듭니다.
- 릴리스 회수: 문제가 있다고 가정한 버전을 회수하고 전환 전략을 확인합니다.
- 승격 파이프라인: 시험 환경의 관찰 결과를 다른 채널로의 진입 조건으로 사용합니다.
- 유지보수 시간대: 제품, 환경과 개체의 변경 가능 시간을 설정합니다.
의존 관계까지 실습하려면 선택 과정인 매니페스트로 릴리스 생성을 진행합니다.
기본 원리를 먼저 읽으려면 Apollo 소개와 변경 계획 및 제약을 참고합니다. 보충 자료로 Apollo 개요 영상과 Palantir의 제약 기반 배포 설명을 볼 수 있습니다.