X-Ray DaemonSet 배포하기

1. IAM 역할 수정하기

X-Ray daemon이 서비스와 통신하려면 Kubernetes service account을 생성하고 충분한 권한이 있는 AWS IAM(Identity and Access Management) 역할과 정책을 연결해야 합니다.

권한설정 - 서비스 계정 실습을 완료하지 않은 경우 지금 OIDC 자격 증명 공급자 생성하기 단계를 완료하십시오.

X-Ray에 대한 서비스 계정을 생성합니다.

eksctl create iamserviceaccount --name xray-daemon --namespace default --cluster eksworkshop-eksctl --attach-policy-arn arn:aws:iam::aws:policy/AWSXRayDaemonWriteAccess --approve --override-existing-serviceaccounts

서비스 계정에 레이블을 적용합니다.

kubectl label serviceaccount xray-daemon app=xray-daemon

2. X-Ray DaemonSet 배포하기

이제 X-Ray에 대한 service account을 만들었으므로 X-Ray DaemonSet를 EKS 클러스터에 배포하겠습니다. X-Ray 데몬은 EKS 클러스터의 각 워커 노드에 배포됩니다. 자세한 내용은 이 모듈에서 사용되는 구현 예를 참조하십시오.

AWS X-Ray SDKs는 마이크로 서비스를 계측하는 데 사용됩니다. 구현 예에서 DaemonSet를 사용할 경우 Xray-service.default:2000을 가리키도록 구성해야 합니다.

다음은 X-Ray SDK for Go를 구성하는 방법입니다. 이는 참고사항일 뿐 이번 실습에서의 필수 구성조건은 아닙니다.

func init() {
	xray.Configure(xray.Config{
		DaemonAddr:     "xray-service.default:2000",
		LogLevel:       "info",
	})
}

X-Ray DaemonSet을 배포하기 위해 아래 명령어를 수행합니다.

kubectl create -f https://eksworkshop.com/intermediate/245_x-ray/daemonset.files/xray-k8s-daemonset.yaml

X-Ray DaemonSet 상태를 확인합니다.

kubectl describe daemonset xray-daemon

아래와 유사한 결과가 확인되어야 합니다.

아래 명령어를 사용하여 모든 X-Ray daemon pod의 로그를 확인 할 수 있습니다.

kubectl logs -l app=xray-daemon

Last updated