Istio 설치 및 환경 설정
1️⃣ Istio 설치 방법 (Kubernetes 환경, Helm 설치, Istioctl 사용)
1 Istio 다운로드 및 설치 준비
Istio는 Kubernetes 클러스터에서 실행되므로, 먼저 클러스터가 준비되어 있어야 합니다.
📌 사전 요구 사항
- Kubernetes 클러스터 (버전 1.19 이상 권장)
kubectl
설치 및 클러스터 접근 가능- Helm(선택 사항)
- Istio 릴리즈 다운로드 가능 네트워크 환경
Istio를 설치하기 위해 먼저 공식 Istio 패키지를 다운로드합니다.
curl -L https://istio.io/downloadIstio | sh -
cd istio-*
export PATH=$PWD/bin:$PATH
2 Istioctl을 이용한 설치
istioctl
은 Istio를 간편하게 설치할 수 있는 CLI 도구입니다.
기본 프로필을 사용하여 Istio를 설치하려면 다음 명령을 실행합니다.
istioctl install --set profile=default -y
✅ profile=default
는 일반적인 Istio 기능을 포함한 설정입니다.
설치가 완료되었는지 확인하려면:
kubectl get pods -n istio-system
3 Helm을 이용한 설치
Helm을 사용하여 Istio를 설치하려면 먼저 Helm 저장소를 추가합니다.
helm repo add istio https://istio-release.storage.googleapis.com/charts
helm repo update
이제 Istio를 설치할 수 있습니다.
helm install istio-base istio/base -n istio-system --create-namespace
helm install istiod istio/istiod -n istio-system
2️⃣ Istio 설치 모드 (기본 모드 vs 사이드카 모드)
1 기본 모드(Default Mode)
기본 모드는 Istio의 주요 기능을 활성화한 상태로 설치됩니다.
- 모든 서비스에 자동으로 사이드카 프록시(Envoy)가 추가됨
istio-injection=enabled
설정 필요
설치 예제:
istioctl install --set profile=default -y
2 사이드카 모드(Sidecar Injection)
사이드카 프록시는 각 Pod에 추가되어 서비스 간 트래픽을 제어합니다.
- 수동으로 주입하거나 자동으로 주입 가능
istio-injection=enabled
레이블 설정 필수
자동 사이드카 주입
네임스페이스에 자동으로 사이드카를 주입하려면 다음과 같이 설정합니다.
kubectl label namespace default istio-injection=enabled
수동 사이드카 주입
다음 명령을 실행하여 특정 Pod에 사이드카를 추가할 수 있습니다.
istioctl kube-inject -f deployment.yaml | kubectl apply -f -
3️⃣ Istio 설치 후 기본 구성 확인 (istioctl verify-install)
Istio가 정상적으로 설치되었는지 확인하려면 다음 명령어를 실행합니다.
istioctl verify-install
출력 예시:
✔ Istio core installed
✔ Istiod installed
✔ Ingress gateways installed
✔ Installation complete
또한, Istio의 Pod 상태를 확인하여 모든 컴포넌트가 정상적으로 실행 중인지 확인합니다.
kubectl get pods -n istio-system
4️⃣ Istio 네임스페이스 및 레이블 설정 (istio-injection=enabled)
Istio의 사이드카 주입을 활성화하려면 네임스페이스에 레이블을 설정해야 합니다.
kubectl label namespace my-namespace istio-injection=enabled
이제 해당 네임스페이스에서 배포되는 모든 Pod는 자동으로 Envoy 사이드카가 주입됩니다.
✅ 설정 확인
kubectl get namespace -L istio-injection
출력 예시:
NAME STATUS AGE ISTIO-INJECTION
default Active 10d enabled
kube-system Active 10d disabled
5️⃣ Istio 버전 업그레이드 및 관리
1 현재 Istio 버전 확인
istioctl version
2 새 버전 다운로드 및 업그레이드
Istio 최신 버전을 다운로드하고 기존 버전을 업그레이드하려면:
curl -L https://istio.io/downloadIstio | sh -
cd istio-*
export PATH=$PWD/bin:$PATH
업그레이드 실행:
istioctl upgrade -y
3 구성 요소 재배포 확인
업그레이드 후 모든 Istio 구성 요소가 정상 동작하는지 확인합니다.
kubectl get pods -n istio-system
✅ Istio 설치 및 업그레이드 완료! 🚀