Middleware (오픈소스 활용-12) "ISTIO 이스티오" 2장 - 설치 및 대시보드
페이지 정보
작성자 미들웨어 아이디로 검색 전체게시물 댓글 0건 조회 1,876회 좋아요 0회 작성일 22-08-22 10:47본문
안녕하세요. 미들웨어 입니다.
이번 시간에는 지난 시간에 이어 이스티오에 대해 좀 더 알아보도록 하겠습니다.
지난 시간에 개념은 파악했으니, 이번 시간에는 설치와 키알리 대시보드를 설치해서 모니터링 하는 방법에 대해 정리해보겠습니다.
3장에이어 4장을 진행하겠습니다.
4. 이스티오 설치
- istio install
$ istioctl install --set profile=demo -y ✔ Istio core installed
✔ Istiod installed
✔ Egress gateways installed
✔ Ingress gateways installed
✔ Installation complete |
- 네임스페이스 레이블 추가
나중에 애플리케이션을 배포할 때 Envoy 사이드카 프록시를 자동으로 삽입하도록 Istio에 지시하는 네임스페이스 레이블을 추가합니다.
$ kubectl label namespace default istio-injection=enabled namespace/default labeled |
5. 이스티오 샘플 배포 (bookinfo)
istio 에서는 샘플 테스트를 해볼 수 있도록 bookinfo 샘플 어플리케이션을 배포 합니다.
- Bookinfo 애플리케이션 배포
$ kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml service/details created
serviceaccount/bookinfo-details created
deployment.apps/details-v1 created
service/ratings created
serviceaccount/bookinfo-ratings created
deployment.apps/ratings-v1 created
service/reviews created
serviceaccount/bookinfo-reviews created
deployment.apps/reviews-v1 created
deployment.apps/reviews-v2 created
deployment.apps/reviews-v3 created
service/productpage created
serviceaccount/bookinfo-productpage created
deployment.apps/productpage-v1 created |
- 응용프로그램이 실행되고, pod 준비되면 istio사이드카도 함께 배포가 됩니다.
Running 되는데 몇분 정도 소요 할 수 있습니다.
빠른 다바이스면 좀 더 빠르겠네요..
$ kubectl get services NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
details ClusterIP 10.0.0.212 <none> 9080/TCP 29s
kubernetes ClusterIP 10.0.0.1 <none> 443/TCP 25m
productpage ClusterIP 10.0.0.57 <none> 9080/TCP 28s
ratings ClusterIP 10.0.0.33 <none> 9080/TCP 29s
reviews ClusterIP 10.0.0.28 <none> 9080/TCP 29s |
$ kubectl get pods NAME READY STATUS RESTARTS AGE
details-v1-558b8b4b76-2llld 2/2 Running 0 2m41s
productpage-v1-6987489c74-lpkgl 2/2 Running 0 2m40s
ratings-v1-7dc98c7588-vzftc 2/2 Running 0 2m41s
reviews-v1-7f99cc4496-gdxfn 2/2 Running 0 2m41s reviews-v2-7d79d5bd5d-8zzqd 2/2 Running 0 2m41s reviews-v3-7dbcdcbc56-m8dph 2/2 Running 0 2m41s |
- 확인 방법
정상적으로 Running 상태가 되면, 아래 명령을 실행하여 앱이 클러스터 내에서 실행되고, html 페이지를 제공하는지 확인가능 합니다.
$ kubectl exec "$(kubectl get pod -l app=ratings -o jsonpath='{.items[0].metadata.name}')" -c ratings -- curl -sS productpage:9080/productpage | grep -o "<title>.*</title>" <title>Simple Bookstore App</title> |
6. 이스티오 대시보드 확인
Prometheus , Grafana 및 Jaeger 와 함께 Kiali 대시보드를 사용 가능합니다.
- Kiali 과 애드온설치-1
https://github.com/istio/istio/tree/release-1.14/samples/addons
$ kubectl apply -f samples/addons $ kubectl rollout status deployment/kiali -n istio-system
Waiting for deployment "kiali" rollout to finish: 0 of 1 updated replicas are available...
deployment "kiali" successfully rolled out |
- Kiali 대시보드 액세스
$ istioctl dashboard kiali
- 키알리 대시보드 화면
키알리 대시보드에서는 샘플 애플리케이션의 서비스 관계와 메시의 개요를 보여줍니다.
또한 트래픽 흐름을 시각화 하기때문에 편리하게 MSA로 구성된 K8S여도 관리가 용이한 장점이 있습니다.
아.. 생각보다 양이 너무 많네요.
그럼 이번 포스팅은 여기까지 진행하겠습니다.
그럼... 열공하세요~
댓글목록
등록된 댓글이 없습니다.