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
-
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
-
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"
-
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
. -
Defina una variable
EXTERNAL-IP
con el valor de la columnaEXTERNAL-IP
que aparece en la fila del controlador de entrada de NGINX.EXTERNAL_IP=
your-nginx-controller-external-ip
-
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 -
-
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
-
Elimine el servicio de tráfico de ejemplo con el siguiente comando:
kubectl delete namespace $SAMPLE_TRAFFIC_NAMESPACE
-
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