스포크 배포 환경의 사전 요건
Kubernetes 클러스터를 Apollo의 스포크(Spoke) 배포 환경으로 연결하려면 컴퓨팅 자원, 네트워크, 저장소와 클러스터 권한을 준비해야 합니다. 스포크 제어 플레인은 이 클러스터에서 실행되며, Apollo가 관리할 소프트웨어의 설치와 변경을 수행합니다.
Kubernetes 배포판과 버전
CNCF 인증을 받은 Kubernetes 배포판을 사용할 수 있습니다. Apollo는 Kubernetes 커뮤니티가 현재 지원하는 Kubernetes 버전을 지원합니다. 더 오래된 버전의 지원이 필요하면 Palantir 담당자와 지원 방안을 협의해야 합니다.
컴퓨팅 자원과 저장소
| 항목 | 요건 |
|---|---|
| 컴퓨팅 노드 수 | 최소 3개 |
| 스포크 제어 플레인용 권장 총자원 | 클러스터 전체에 최소 10 vCPU 코어와 메모리 16GB |
| 노드 아키텍처 | x86_64 지원 |
| 초기 설치 접근 | Kubernetes 클러스터와 같은 배포 환경에 있는 인스턴스에 대한 root 접근 권한 |
| 노드 간 통신 | 클러스터의 컴퓨팅 노드끼리 통신 가능 |
| 제어 플레인 통신 | Kubernetes 제어 플레인이 컴퓨팅 노드와 분리된 구성이라면, 제어 플레인에서 컴퓨팅 노드로 통신 가능 |
| 저장소 | 기본 스토리지 클래스가 있고 영구 볼륨을 프로비저닝할 수 있음 |
10 vCPU와 16GB는 노드마다 필요한 자원이 아니라 Apollo 스포크 제어 플레인을 위한 클러스터 전체의 권장 총량입니다. 노드 수는 별도의 최소 요건입니다. EKS처럼 Kubernetes 제어 플레인이 컴퓨팅 노드와 분리된 구성에서는 두 영역 사이의 통신 경로도 준비해야 합니다.
허브 접근과 신뢰 설정
스포크가 Apollo 허브에 접근하려면 클러스터의 외부 통신용 IP를 허용 목록에 등록해야 합니다. 연결 작업을 시작하기 전에 이 IP 정보를 Palantir 담당자에게 제공합니다.
CI 시스템이 조직 내부 네트워크에서 실행된다면 조직의 외부 통신용 IP도 제공해야 합니다. CI 시스템은 새 소프트웨어 버전의 메타데이터를 Apollo에 게시하므로 허브에 접근할 수 있어야 합니다.
스포크와 허브 사이의 신뢰는 스포크 제어 플레인의 초기 설정 과정에서 구성합니다. 이때 배포 환경의 키쌍인 Environment Keypair와 구성 파일을 사용합니다. Palantir 담당자는 클러스터 IP가 허용 목록에 등록된 뒤 이 자료를 제공합니다.
Kubernetes RBAC 권한
스포크 안에서 Helm 차트를 관리하는 Apollo 스포크 제어 플레인에는 와일드카드 Kubernetes RBAC 권한이 필요합니다. 현재 관리하는 Helm 차트뿐 아니라 이후 추가할 차트에도 작업할 수 있도록 하는 권한입니다.
이 구성에서는 새 Helm 차트를 관리할 때마다 관리자가 helm-chart-operator의 권한을 개별적으로 추가할 필요가 없습니다. 설치 전에는 이 클러스터 수준의 권한 요건을 확인해야 합니다. 이는 Apollo 화면에서 팀에 부여하는 제품이나 배포 환경 역할과 다른 권한 체계입니다.