EC2 시작 유형의 Amazon EKS 클러스터 또는 Kubernetes 클러스터에서 AWS App Mesh 샘플 워크로드 설정
EC2 시작 유형의 Amazon EKS를 실행하는 클러스터 또는 Kubernetes 클러스터에서 App Mesh를 설정할 경우 다음 지침을 따르세요.
IAM 권한 구성
Amazon EKS 또는 Kubernetes 노드 그룹의 IAM 역할에 AWSAppMeshFullAccess 정책을 추가해야 합니다. Amazon EKS에서 이 노드 그룹 이름은 eksctl-integ-test-eks-prometheus-NodeInstanceRole-ABCDEFHIJKL
과 유사합니다. Kubernetes에서는 nodes.integ-test-kops-prometheus.k8s.local
과 유사하게 보일 수 있습니다.
App Mesh 설치
App Mesh Kubernetes 컨트롤러를 설치하려면 App Mesh 컨트롤러
샘플 애플리케이션 설치
aws-app-mesh-examples
샘플 App Mesh 애플리케이션을 사용하여 Container Insights를 테스트하려면
-
다음 지침에 따라 애플리케이션을 설치합니다. https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/howto-k8s-http-headers
-
다음과 같이 curler 포드를 시작하여 트래픽을 생성합니다.
kubectl -n default run -it curler --image=tutum/curl /bin/bash
-
HTTP 헤더를 변경하여 다양한 엔드포인트를 curl합니다. 다음과 같이 curl 명령을 여러 번 실행합니다.
curl -H "color_header: blue" front.howto-k8s-http-headers.svc.cluster.local:8080/; echo; curl -H "color_header: red" front.howto-k8s-http-headers.svc.cluster.local:8080/; echo; curl -H "color_header: yellow" front.howto-k8s-http-headers.svc.cluster.local:8080/; echo;
https://console.aws.amazon.com/cloudwatch/
에서 CloudWatch 콘솔을 엽니다. -
클러스터가 실행되고 있는 AWS 리전에서 왼쪽 탐색 창의 [지표(Metrics)]를 선택합니다. 지표는 ContainerInsights/Prometheus 네임스페이스에 있습니다.
-
CloudWatch Logs 이벤트를 보려면 탐색 창에서 [로그 그룹(Log groups)]을 선택합니다. 이벤트는 로그 그룹
/aws/containerinsights/
의 로그 스트림your_cluster_name
/prometheuskubernetes-pod-appmesh-envoy
에 있습니다.
App Mesh 테스트 환경 삭제
App Mesh 및 샘플 애플리케이션의 사용을 마쳤으면 다음 명령을 사용하여 불필요한 리소스를 삭제합니다. 다음 명령을 입력하여 샘플 애플리케이션을 삭제합니다.
cd aws-app-mesh-examples/walkthroughs/howto-k8s-http-headers/ kubectl delete -f _output/manifest.yaml
다음 명령을 입력하여 App Mesh 컨트롤러를 삭제합니다.
helm delete appmesh-controller -n appmesh-system