시작하기
시작하기 (Getting Started)
Istio의 주요 기능을 빠르고 쉽게 체험해볼 수 있는 시작 가이드예요.
출처: Istio 문서
본문
이 가이드는 로컬 Kubernetes 클러스터(예: minikube, kind)에 Istio를 설치하고 샘플 애플리케이션(Bookinfo)을 배포해서 Istio의 기능을 체험하는 방법을 설명해요.
설치
$ curl -L https://istio.io/downloadIstio | sh -
$ cd istio-<version>
$ export PATH=$PWD/bin:$PATH
$ istioctl install --set profile=demo -y
이 단계를 거치면 istio-injection=enabled 라벨이 있는 네임스페이스에 배포되는 파드에 자동으로 사이드카가 주입돼요.
샘플 애플리케이션 배포
$ kubectl label namespace default istio-injection=enabled
$ kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml
$ kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yaml
게이트웨이 접속
인그레스 게이트웨이의 외부 IP/포트를 확인하고 애플리케이션에 접속할 수 있어요:
$ export INGRESS_HOST=$(kubectl get svc istio-ingressgateway -n istio-system -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
$ curl http://$INGRESS_HOST/productpage
Istio 기능 체험
- 트래픽 관리: VirtualService와 DestinationRule로 카나리 배포, 라우팅을 구성해요.
- 보안: mTLS, 인증/인가 정책을 적용해요.
- 관측성: Kiali, Grafana, Jaeger 대시보드로 메시를 시각화해요.
제거
$ istioctl uninstall --purge
$ kubectl delete namespace istio-system
이 시작 가이드를 따라 Istio의 핵심 개념을 직접 체험해보세요.