Boundary Helm 차트

Boundary Helm 차트 (Boundary Helm charts)

Kubernetes에 Boundary를 배포할 때 두 개의 별도 Helm 차트를 사용할 수 있어요. 컨트롤러 차트는 Boundary의 컨트롤 플레인 컴포넌트를 설치하고, worker 차트는 세션 트래픽을 프록시하는 셀프 매니지드 데이터 플레인 worker를 설치합니다.

컨트롤러와 worker는 라이프사이클, 스케일링, 영속성, 노출 요구 사항이 서로 다르기 때문에 Boundary는 별도의 차트를 사용해요. 차트는 기본적으로 공식 hashicorp/boundary-enterprise 이미지를 사용합니다.

Note — Boundary Helm 차트는 Helm 2와 호환되지 않아요. 반드시 Helm 3 이상을 사용해야 합니다.

Boundary Helm 차트는 Kubernetes 1.34 이상 버전에서 테스트되고 검증되었어요. 다른 버전의 Kubernetes에서도 동작할 수 있지만, 테스트되지 않았고 지원되지 않습니다.

출처: HashiCorp Boundary docs

본문

Boundary 아키텍처

Boundary는 분산 아키텍처를 사용해요:

  • 컨트롤러는 인증, 인가, 세션 조정, worker 등록, API/UI 접근을 관리합니다.
  • worker는 클라이언트, 업스트림 worker, 타깃 시스템 사이의 세션 트래픽을 프록시해요.

Boundary 컨트롤러 배포에는 PostgreSQL 데이터베이스와 KMS(키 관리 시스템) 구성이 필요합니다. worker 배포에는 유효한 worker HCL 구성과 등록 모델이 필요해요. 선택한 worker 인증 또는 녹화 구성이 요구한다면, worker 배포에는 영구 스토리지도 필요할 수 있습니다.

차트 리소스와 모델

차트는 Kubernetes 리소스와 Helm 릴리스 워크플로를 패키징합니다. Boundary 런타임 구성을 대체하지는 않아요.

차트 역할 주요 Kubernetes 리소스 상태 모델
Boundary 컨트롤러 컨트롤 플레인 Deployment, services, ConfigMap, ServiceAccount, PodDisruptionBudget, hook jobs 컨트롤러 포드는 무상태(stateless). 컨트롤러 상태는 PostgreSQL에 있음.
Boundary worker 데이터 플레인 Deployment, services, ConfigMap, PersistentVolumeClaims PVC가 worker 아이덴티티와 선택적 세션 녹화를 영속화할 수 있음.

컨트롤러 차트

컨트롤러 차트는 Kubernetes에서 운영자 관리형(operator-managed) Boundary 컨트롤 플레인을 위한 것이에요. 여러 컨트롤러 레플리카를 실행할 수 있고, 데이터베이스 초기화에 Helm hook Job을 사용합니다. 데이터베이스 마이그레이션, 데이터베이스 복구, admin 부트스트랩에도 선택적으로 hook Job을 쓸 수 있어요.

PostgreSQL, KMS 접근, Boundary Enterprise 라이선스 데이터, TLS 자료 같은 필수 외부 의존성은 필요하다면 직접 제공해야 합니다.

worker 차트

worker 차트는 Helm 릴리스 하나당 셀프 매니지드 Boundary worker 하나를 설치합니다. HCP Boundary나 셀프 매니지드 Boundary 배포에서 쓰는 worker를 포함해, egress와 intermediate worker 사용 사례에 초점을 맞춰요.

worker 차트는 worker.config에 제공한 worker HCL을 마운트하고, 선택적인 proxy와 ops 서비스를 노출하며, auth 스토리지와 세션 녹화 스토리지용 선택적 PVC를 프로비저닝합니다.

공유 구성 모델

Boundary Helm 차트는 구성을 두 계층으로 나눠요:

  • 차트 값을 통해 HCL로 제공되는 Boundary 런타임 구성
  • Helm values를 통해 제공되는 Kubernetes 인프라 구성

차트는 Kubernetes values에서 모든 런타임 설정을 추론하지 않아요. 리스너 포트, 주소, 스토리지 경로, TLS 설정, 등록 설정을 Boundary HCL과 차트가 만든 Kubernetes 리소스 사이에서 직접 맞춰야 합니다.

더 알아보기 (Learn more)

다음 주제를 참고하세요: