💡 istio 는 다양한 종류의 헬름 차트를 제공한다. 각각의 차트가 어떠한 역할을 하는지 알아본다.
1. base
- 역할 :
- Istio의 공통 리소스(CRD, 네임스페이스 등)를 설치
- 설치 여부 :
필수
❗️
Istio 설치의 기반이 되는 리소스(CRD)를 제공하므로 항상 설치해야 함
2. istiod
- 역할 :
- Istio의 컨트롤 플레인(제어 평면)을 설치
- 서비스 디스커버리, 트래픽 관리, 보안 정책 등 주요 제어 로직이 동작하는 핵심 구성요소
- 설치 여부 :
필수
❗️
Istio의 핵심 컨트롤 플레인이므로 반드시 필요
3. gateway
- 역할 :
- Istio 게이트웨이를 배포
- 외부 트래픽을 클러스터 내부로 라우팅하는 역할
설치 여부 : 선택 사항
- API Gateway나 Ingress Gateway가 필요할 때 설치
istio-ingressgateway와 istio-egressgateway 등 구성에 따라 커스터마이징 가능
4. cni
- 역할 :
- Istio의 CNI(Container Network Interface) 플러그인을 설치
- Sidecar 프록시(Envoy)를 Pod에 주입하는 대신, CNI를 사용해 네트워크 구성을 처리
- 설치 여부 : 선택 사항
네트워크 정책이나 퍼미션 문제가 없는 환경에서는 생략 가능
보안 요구 사항이 있는 경우 설치를 권장
5. ztunnel
- 역할 :
- Zero Trust 터널링을 제공하는 구성 요소
- Zero Trust 네트워크 모델을 지원하기 위한 Istio의 새로운 컴포넌트
설치 여부 : 선택 사항
고급 보안 요구 사항(예: Zero Trust)을 구현하려는 경우 설치
6. ambient
- 역할 :
- Ambient Mesh 모드를 위한 Istio의 Umbrella 차트
- 사이드카 없는 서비스 메쉬 모드를 지원
설치 여부 : 선택 사항
사이드카 없는 경량 메쉬를 구성하려는 경우 설치
7. istiod-remote
- 역할 :
- Istio 컨트롤 플레인을 외부 클러스터에 연결하기 위한 차트
- 멀티 클러스터 환경에서 Istio를 연결
설치 여부 : 선택 사항
멀티 클러스터 구성을 계획 중인 경우 설치
- 기본 설치 :
- 선택적 설치 :
- gateway : API Gateway나 Ingress 기능이 필요한 경우
- cni : 네트워크 정책이나 보안 요구 사항이 있는 경우
- ztunnel : Zero Trust 구현이 필요한 경우
- ambient : 사이드카 없는 서비스 메쉬 구성이 필요한 경우
- istiod-remote : 멀티 클러스터 Istio 환경이 필요한 경우
선택 기준
- 소규모 클러스터 : base, istiod, gateway만 설치
- 대규모 보안 강화 : cni, ztunnel 추가
- 사이드카 없는 경량 메쉬 : ambient 설치
- 멀티 클러스터 지원 : istiod-remote 설치