AWS X-Ray는 개발자가 마이크로 서비스 아키텍처를 사용해 구축된 애플리케이션과 같은 프로덕션 분산 애플리케이션을 분석하고 디버그하는 데 도움이 됩니다. X-Ray를 사용해 자신이 개발한 애플리케이션과 기본 서비스가 성능 문제와 오류의 근본 원인 식별과 문제 해결을 올바로 수행하는지 파악할 수 있습니다. X-Ray는 요청이 애플리케이션을 통과함에 따라 요청에 대한 엔드 투 엔드 뷰를 제공하고 애플리케이션의 기본 구성 요소를 맵으로 보여줍니다. X-Ray를 사용하여 간단한 3-티어 애플리케이션에서부터 수천 개의 서비스로 구성된 복잡한 마이크로 서비스 애플리케이션에 이르기까지 개발 중인 애플리케이션과 프로덕션에 적용된 애플리케이션 모두 분석할 수 있습니다.
IAM 역할(Role) 구성
X-Ray 데몬셋이 서비스 되기 위해서는, Kubernetes 서비스 어카운트와 IAM 역할과 정책이 있어야 합니다.
whchoi98:~/environment $ kubectl describe daemonset xray-daemon
Name: xray-daemon
Selector: app=xray-daemon
Node-Selector: <none>
Labels: <none>
Annotations: deprecated.daemonset.template.generation: 1
Desired Number of Nodes Scheduled: 6
Current Number of Nodes Scheduled: 6
Number of Nodes Scheduled with Up-to-date Pods: 6
Number of Nodes Scheduled with Available Pods: 0
Number of Nodes Misscheduled: 0
Pods Status: 0 Running / 6 Waiting / 0 Succeeded / 0 Failed
Pod Template:
Labels: app=xray-daemon
Service Account: xray-daemon
Containers:
xray-daemon:
Image: trevorrobertsjr/eks-workshop-x-ray-daemon:02d13ce10add55081c68b6b76a19b7dfeea00dad
Port: 2000/UDP
Host Port: 2000/UDP
Command:
/usr/bin/xray
-c
/aws/xray/config.yaml
Limits:
memory: 24Mi
Environment: <none>
Mounts:
/aws/xray from config-volume (ro)
Volumes:
config-volume:
Type: ConfigMap (a volume populated by a ConfigMap)
Name: xray-config
Optional: false
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal SuccessfulCreate 5s daemonset-controller Created pod: xray-daemon-k7lll
Normal SuccessfulCreate 5s daemonset-controller Created pod: xray-daemon-k2xpt
Normal SuccessfulCreate 5s daemonset-controller Created pod: xray-daemon-5l4jp
Normal SuccessfulCreate 5s daemonset-controller Created pod: xray-daemon-nmh64
Normal SuccessfulCreate 5s daemonset-controller Created pod: xray-daemon-kb2x9
Normal SuccessfulCreate 5s daemonset-controller Created pod: xray-daemon-hp8c6