Istio 설치 및 환경 설정

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 설치 및 업그레이드 완료! 🚀

RSS Feed
마지막 수정일자