

# Configure NGINX con tráfico de muestra en Amazon EKS y Kubernetes
<a name="ContainerInsights-Prometheus-Sample-Workloads-nginx"></a>

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](https://github.com/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
   ```

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

1. 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`.

1. 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
   ```

1. 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 -
   ```

1. 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
   ```

1. 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
   ```