본문 바로가기

Kubernetes

[Kubernetes]istio - bookinfo 실습 및 Kiali 설정

istio bookinfo 실습

    • ns default isito-injeciton 활성화
kubectl label namespace default istio-injection=enabled
  • bookinfo.yaml 배포
cd istio-x.xx.x

kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml
  • service 확인
kubectl get services
  • bookinfo 애플리케이션 확인
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>"

    • bookinfo gateway 배포
kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yaml
  • gateway 확인

  • dns 확인
kubectl get svc
    • 결과 확인
curl -XGET dns/productpage -v

 

Kiali 구성

  • Prometheus , Grafana , Jaeger 와 함께 Kiali 대시보드를 배포
kubectl apply -f samples/addons
  • 밑의 사진과 볼륨바인딩 에러가 발생 시 행함

  • EBS를 PV 로 사용하기 위해 접근 권한 설정
    • OIDC, 권한 설정
CLUSTER_NAME="ydy-eks"
eksctl utils associate-iam-oidc-provider --cluster ${CLUSTER_NAME} --approve

eksctl create iamserviceaccount \
  --name ebs-csi-controller-sa \
  --namespace kube-system \
  --cluster ydy-eks \
  --attach-policy-arn arn:aws:iam::aws:policy/service-role/AmazonEBSCSIDriverPolicy \
  --approve \
  --role-only \
  --role-name AmazonEKS_EBS_CSI_DriverRole

eksctl create addon --name aws-ebs-csi-driver --cluster ydy-eks --service-account-role-arn arn:aws:iam::759320821027:role/AmazonEKS_EBS_CSI_DriverRole --force

  • kiali 대시보드 액세스
istioctl dashboard kiali
  • 추적 데이터를 위한 스크립트 작성 및 실행
vi test.sh


#!/bin/bash
for i in $(seq 1 100); do
  curl -s -o /dev/null "http://a1165c721e99c49f09bde1c2a91e0e80-143439243.ap-northeast-2.elb.amazonaws.com/productpage"
done

sudo chmod +x test.sh

./test.sh
  • 대시보드 확인

'Kubernetes' 카테고리의 다른 글

[kubernetes] istio 환경 구성  (0) 2024.10.16