Tableau Server Helm 차트 - 개요
중요: 이 설명서에서는 Helm 및 Helm 차트에 대한 지식이 있다고 가정하며 상세한 설명적 예를 제공하지 않습니다. 설명서는 Tableau Server와 Helm 및 Helm 차트에 익숙한 고객을 대상으로 작성되었습니다.
소개
Tableau Server Helm 차트를 사용하면 Kubernetes의 패키지 관리자인 Helm을 사용하여 Kubernetes 클러스터에서 Tableau Server를 배포하고 관리할 수 있습니다. 이 Helm 차트는 컨테이너 환경의 Tableau Server를 실행하는 데 필요한 모든 Kubernetes 리소스를 패키지화하여 선언적이고 반복 가능한 배포 프로세스를 제공합니다.
Helm란?
Helm은 응용 프로그램의 배포 및 관리를 간소화하는 Kubernetes용 패키지 관리자입니다. Helm은 사전 구성된 Kubernetes 리소스 패키지인 차트를 사용합니다. Tableau Server용 Helm 차트에는 다음을 포함하여 필요한 모든 구성 요소가 번들로 제공됩니다.
- 배포 및 StatefulSet
- 서비스 및 Ingress 구성
- ConfigMap 및 Secret
- 데이터 저장소용 PersistentVolumeClaim
- RBAC 정책 및 ServiceAccount
아키텍처
구성 요소
Tableau Server Helm 차트는 다음과 같은 주요 구성 요소를 배포합니다.
Tableau Server 컨테이너
- Linux 컨테이너 내부에서 전체 Tableau Server 인스턴스 실행
supervisord로 프로세스를 관리하는 UBI 8 이미지에 기반함- 컨테이너 시작 시 Tableau Server를 자동으로 초기화 및 시작함
Kubernetes 리소스
- StatefulSet(상태 저장 집합): 안정된 네트워크 ID를 사용하여 Tableau Server 포드 관리
- PersistentVolumeClaim(영구 볼륨 클레임):
/var/opt/tableau에서 Tableau 데이터를 위한 영구 저장소를 제공 - Service(서비스): 클러스터 내의 Tableau Server 표시
- Ingress(수신, 선택 사항): Tableau Server에 대한 외부 액세스 제공
- ConfigMap(구성 맵): 민감하지 않은 구성 저장
- Secret(암호): 라이선스 및 비밀번호와 같은 민감한 데이터 저장
배포 토폴로지
단일 노드 배포
- 단일 노드에서 모든 프로세스를 처리하는 Tableau Server 포드 한 개
- 개발, 테스트 및 소규모 프로덕션 워크로드에 적합함
- 최소한의 리소스 요구 사항으로 가장 간단한 구성
다중 노드 배포
- 여러 노드에 분산된 다중 Tableau Server 포드
- 부트스트랩 조정을 위한 공유 네트워크 저장소
- 프로덕션 워크로드를 위해 더 높은 가용성 및 확장성 제공
- 노드 조정을 위해 추가 구성 필요
보안 고려 사항
- 암호 관리: 프로덕션의 민감한 데이터에 대해 항상 Kubernetes Secret 사용
- 네트워크 정책: 포드 통신을 제한하는 네트워크 정책 구현 권장
- RBAC: 차트가 서비스 계정을 만들고 필요에 따라 RBAC 구성
- 이미지 보안: 신뢰할 수 있는 컨테이너 이미지를 사용하고 취약점 검사
- TLS/SSL: 프로덕션 환경의 Ingress에 TLS 사용
Helm 사용 시 이점
배포 간소화
- 단일
helm install명령으로 Tableau Server 설치 - 값 파일을 통한 선언적 구성
- 코드로 버전이 제어되는 인프라
쉬운 업데이트 및 롤백
helm upgrade로 Tableau Server 버전 업그레이드- 문제가 발생하는 경우 이전 버전으로 롤백
- 배포 기록 추적
일관된 환경
- 개발, 준비 및 프로덕션 환경에서 동일한 차트를 사용한 배포
- 값 파일을 통해 환경별 사용자 지정
- 구성 편차 감소
기본 제공되는 모범 사례
- 사전 구성된 리소스 요청 및 제한
- 상태 검사 및 준비 상태 프로브
- 보안 컨텍스트 및 RBAC 정책
지원되는 플랫폼
Kubernetes 배포판
- 자체 관리형 Kubernetes 클러스터(1.19 이상)
- Amazon EKS(Elastic Kubernetes Service)
- Azure AKS(Azure Kubernetes Service)
- Google GKE(Google Kubernetes Engine)
- Red Hat OpenShift
프로덕션 요구 사항
- Kubernetes 1.19 이상
- Helm 3.x
- 영구 저장소 프로비저닝 도구(PersistentVolume용)
- LoadBalancer 또는 Ingress 컨트롤러(외부 액세스용)
- 노드당 최소 16GB RAM 및 4개의 CPU 코어(CPU 코어 8개 권장 - Tableau Server의 최소 하드웨어 요구 사항 및 권장 사항 참조)
제한 사항
Helm 차트는 많은 이점을 제공하지만 다음 사항을 유의해야 합니다.
- 각 포드는 개별 마이크로서비스가 아닌 전체 Tableau Server 인스턴스를 실행합니다.
- 컨테이너를 다시 시작하려면 프로세스를 다시 초기화해야 합니다(데이터는 제외).
- Tableau Server의 아키텍처로 인해 포드의 자동 수평 확장은 지원되지 않습니다.
- 다중 노드 배포에는 조정을 위한 공유 네트워크 저장소가 필요합니다.
- 일부 고급 Tableau Server 구성에는 사용자 지정 초기화 스크립트가 필요할 수 있습니다.
시작하기
Tableau Server Helm 차트를 시작하려면 Tableau Server Helm 차트 - 필수 요건을 참조하십시오.
배포 예제는 Tableau Server Helm 차트 - 배포를 참조하십시오.
문제 해결 지침은 Tableau Server Helm 차트 - 문제 해결을 참조하십시오.
