Amazon EKS 및 Kubernetes에서 샘플 트래픽이 포함된 NGINX 설정
NGINX는 로드 밸런서 및 역방향 프록시로도 사용할 수 있는 웹 서버입니다. Kubernetes가 진입에 NGINX를 사용하는 방법에 대한 자세한 내용은 kubernetes/ingress-nginx
샘플 트래픽 서비스와 함께 Ingress-NGINX를 설치하여 Container Insights Prometheus 지원을 테스트하려면
-
다음 명령을 입력하여 Helm ingress-nginx 리포지토리를 추가합니다.
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
-
다음 명령을 입력합니다.
kubectl create namespace nginx-ingress-sample helm install my-nginx ingress-nginx/ingress-nginx \ --namespace nginx-ingress-sample \ --set controller.metrics.enabled=true \ --set-string controller.metrics.service.annotations."prometheus\.io/port"="10254" \ --set-string controller.metrics.service.annotations."prometheus\.io/scrape"="true"
-
다음 명령을 입력하여 서비스가 올바르게 시작되었는지 확인합니다.
kubectl get service -n nginx-ingress-sample
이 명령의 출력에는
EXTERNAL-IP
열을 포함한 여러 열이 표시되어야 합니다. -
EXTERNAL-IP
변수를 NGINX 수신 컨트롤러의 행에 있는EXTERNAL-IP
열 값으로 설정합니다.EXTERNAL_IP=
your-nginx-controller-external-ip
-
다음 명령을 입력하여 샘플 NGINX 트래픽을 시작합니다.
SAMPLE_TRAFFIC_NAMESPACE=nginx-sample-traffic curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/sample_traffic/nginx-traffic/nginx-traffic-sample.yaml | sed "s/{{external_ip}}/$EXTERNAL_IP/g" | sed "s/{{namespace}}/$SAMPLE_TRAFFIC_NAMESPACE/g" | kubectl apply -f -
-
다음 명령을 입력하여 세 개의 포드가 모두
Running
상태에 있는지 확인합니다.kubectl get pod -n $SAMPLE_TRAFFIC_NAMESPACE
실행 중인 경우 ContainerInsights/Prometheus 네임스페이스에 지표가 곧 표시됩니다.
NGINX 및 샘플 트래픽 애플리케이션을 제거하려면
-
다음 명령을 입력하여 샘플 트래픽 서비스를 삭제합니다.
kubectl delete namespace $SAMPLE_TRAFFIC_NAMESPACE
-
Helm 릴리스 이름으로 NGINX egress를 삭제합니다.
helm uninstall my-nginx --namespace nginx-ingress-sample kubectl delete namespace nginx-ingress-sample