Configure NGINX con tráfico de muestra en Amazon EKS y Kubernetes - Amazon CloudWatch

Configure NGINX con tráfico de muestra en Amazon EKS y Kubernetes

NGINX es un servidor web que también se puede utilizar como balanceador de carga y como proxy inverso. Para obtener más información sobre cómo Kubernetes utiliza NGINX para las entradas, consulte kubernetes/ingress-nginx.

Para instalar Ingress-NGINX con un servicio de tráfico de ejemplo para probar la compatibilidad de Información de contenedores de Prometheus
  1. Ingrese el siguiente comando para agregar el repositorio de nginx de acceso de Helm.

    helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
  2. Ejecute los comandos siguientes:

    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. Compruebe si los servicios se iniciaron correctamente con el siguiente comando:

    kubectl get service -n nginx-ingress-sample

    Deberían aparecer varias columnas, como la columna EXTERNAL-IP.

  4. Defina una variable EXTERNAL-IP con el valor de la columna EXTERNAL-IP que aparece en la fila del controlador de entrada de NGINX.

    EXTERNAL_IP=your-nginx-controller-external-ip
  5. Ponga en marcha cierto tráfico de NGINX de ejemplo con el siguiente comando.

    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. Utilice el siguiente comando para confirmar que los tres pods tienen el estado Running.

    kubectl get pod -n $SAMPLE_TRAFFIC_NAMESPACE

    Si se están ejecutando, enseguida aparecerán las métricas en el espacio de nombres ContainerInsights/Prometheus .

Para desinstalar NGINX y la aplicación de tráfico de ejemplo
  1. Elimine el servicio de tráfico de ejemplo con el siguiente comando:

    kubectl delete namespace $SAMPLE_TRAFFIC_NAMESPACE
  2. Elimine la salida de NGINX por el nombre de versión de Helm.

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