

# Amazon EKS 및 Kubernetes에서 샘플 트래픽이 포함된 NGINX 설정
<a name="ContainerInsights-Prometheus-Sample-Workloads-nginx"></a>

NGINX는 로드 밸런서 및 역방향 프록시로도 사용할 수 있는 웹 서버입니다. Kubernetes가 진입에 NGINX를 사용하는 방법에 대한 자세한 내용은 [kubernetes/ingress-nginx](https://github.com/kubernetes/ingress-nginx)를 참조하세요.

**샘플 트래픽 서비스와 함께 Ingress-NGINX를 설치하여 Container Insights Prometheus 지원을 테스트하려면**

1. 다음 명령을 입력하여 Helm ingress-nginx 리포지토리를 추가합니다.

   ```
   helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
   ```

1. 다음 명령을 입력합니다.

   ```
   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"
   ```

1. 다음 명령을 입력하여 서비스가 올바르게 시작되었는지 확인합니다.

   ```
   kubectl get service -n nginx-ingress-sample
   ```

   이 명령의 출력에는 `EXTERNAL-IP` 열을 포함한 여러 열이 표시되어야 합니다.

1. `EXTERNAL-IP` 변수를 NGINX 수신 컨트롤러의 행에 있는 `EXTERNAL-IP` 열 값으로 설정합니다.

   ```
   EXTERNAL_IP=your-nginx-controller-external-ip
   ```

1. 다음 명령을 입력하여 샘플 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 -
   ```

1. 다음 명령을 입력하여 세 개의 포드가 모두 `Running` 상태에 있는지 확인합니다.

   ```
   kubectl get pod -n $SAMPLE_TRAFFIC_NAMESPACE
   ```

   실행 중인 경우 **ContainerInsights/Prometheus** 네임스페이스에 지표가 곧 표시됩니다.

**NGINX 및 샘플 트래픽 애플리케이션을 제거하려면**

1. 다음 명령을 입력하여 샘플 트래픽 서비스를 삭제합니다.

   ```
   kubectl delete namespace $SAMPLE_TRAFFIC_NAMESPACE
   ```

1. Helm 릴리스 이름으로 NGINX egress를 삭제합니다.

   ```
   helm uninstall my-nginx --namespace nginx-ingress-sample
   kubectl delete namespace nginx-ingress-sample
   ```