Amazon EKS 및 Kubernetes에서 샘플 트래픽이 포함된 NGINX 설정 - Amazon CloudWatch

Amazon EKS 및 Kubernetes에서 샘플 트래픽이 포함된 NGINX 설정

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

샘플 트래픽 서비스와 함께 Ingress-NGINX를 설치하여 Container Insights Prometheus 지원을 테스트하려면
  1. 다음 명령을 입력하여 Helm ingress-nginx 리포지토리를 추가합니다.

    helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
  2. 다음 명령을 입력합니다.

    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"
  3. 다음 명령을 입력하여 서비스가 올바르게 시작되었는지 확인합니다.

    kubectl get service -n nginx-ingress-sample

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

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

    EXTERNAL_IP=your-nginx-controller-external-ip
  5. 다음 명령을 입력하여 샘플 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 -
  6. 다음 명령을 입력하여 세 개의 포드가 모두 Running 상태에 있는지 확인합니다.

    kubectl get pod -n $SAMPLE_TRAFFIC_NAMESPACE

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

NGINX 및 샘플 트래픽 애플리케이션을 제거하려면
  1. 다음 명령을 입력하여 샘플 트래픽 서비스를 삭제합니다.

    kubectl delete namespace $SAMPLE_TRAFFIC_NAMESPACE
  2. Helm 릴리스 이름으로 NGINX egress를 삭제합니다.

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