스포크 배포 환경 연결
Apollo 허브를 사용할 준비가 되면 Kubernetes 클러스터를 스포크(Spoke) 배포 환경으로 연결할 수 있습니다. 스포크에서는 제어 플레인 서비스가 실행되고, 에이전트가 클러스터의 상태를 허브에 보고합니다. 연결을 마친 뒤에는 Apollo에서 소프트웨어를 설치하고 관리할 수 있습니다.
클러스터와 팀 준비
먼저 클러스터가 스포크 배포 환경의 사전 요건을 충족하는지 확인합니다. 컴퓨팅 자원과 저장소뿐 아니라 허브 접근, 초기 설치 권한과 Kubernetes RBAC 권한도 준비해야 합니다.
Apollo 허브에 로그인한 뒤 홈 화면에서 자신이 팀에 속해 있는지 확인합니다.
배포 환경 연결 시작
왼쪽 메뉴에서 Environments를 열고 목록 오른쪽 위의 배포 환경 생성 또는 연결 작업을 시작합니다. Connect environment...는 연결 워크플로를 여는 메뉴입니다. 새 배포 환경을 생성하는 New environment... → Create environment 경로에서도 이름, 연결 설정과 초기 역할을 지정할 수 있습니다.
연결 작업은 다음 내용을 포함합니다.
- Apollo에 배포 환경을 등록하고 연결 방식과 초기 서비스를 지정합니다.
- 팀의 역할과 아티팩트 레지스트리를 설정하고 필요한 변경 요청을 승인합니다.
- 배포 환경의 설치 안내에 따라 초기 매니페스트를 클러스터에 적용합니다.
- 에이전트가 허브에 연결되어 상태를 보고하는지 확인합니다.
화면별 입력과 승인, 클러스터 연결 명령은 새 배포 환경 생성과 Kubernetes 클러스터 연결에서 이어집니다. 연락 담당 팀과 운영 책임 등은 배포 환경의 관리 정보에서 변경할 수 있습니다.
클러스터 구성 방식
조직에 이미 클러스터를 운영하는 표준이 있다면 그 기준에 맞추어 준비할 수 있습니다. 운영 환경에서는 클라우드 제공자나 기반 인프라와 관계없이 CNCF 인증을 받은 Kubernetes 배포판을 사용할 수 있으며, Apollo의 스포크 사전 요건도 충족해야 합니다.
로컬 Docker와 kind
Apollo를 익히는 용도로는 로컬 Docker 환경에 kind 클러스터를 구성할 수 있습니다. minikube도 로컬 Kubernetes를 시작하는 선택지이지만, Apollo의 학습과 문제 조사에는 다중 노드 kind 구성이 권장됩니다.
Amazon EKS와 Azure AKS
조직의 제약에 따라 Amazon EKS나 Azure AKS 같은 클라우드 Kubernetes 서비스를 사용할 수 있습니다. EKS에서는 Apollo로 실행할 애플리케이션에 맞추어 클러스터 크기를 정하고, 스포크 제어 플레인에 필요한 자원도 확보해야 합니다.
또한 로컬에서 kubectl을 실행할 수 있고 해당 EKS 클러스터를 관리하도록 연결 설정이 되어 있는지 확인합니다.