Configuración de la carga de trabajo de muestra de AWS App Mesh en un clúster de Amazon EKS con el tipo de lanzamiento de Fargate - Amazon CloudWatch

Configuración de la carga de trabajo de muestra de AWS App Mesh en un clúster de Amazon EKS con el tipo de lanzamiento de Fargate

Siga estas instrucciones si está configurando App Mesh en un clúster que ejecute Amazon EKS con el tipo de lanzamiento de Fargate.

Configure los permisos de IAM

Para configurar los permisos de IAM, ingrese el siguiente comando. Sustituya MyCluster por el nombre del clúster.

eksctl create iamserviceaccount --cluster MyCluster \ --namespace howto-k8s-fargate \ --name appmesh-pod \ --attach-policy-arn arn:aws:iam::aws:policy/AWSAppMeshEnvoyAccess \ --attach-policy-arn arn:aws:iam::aws:policy/AWSCloudMapDiscoverInstanceAccess \ --attach-policy-arn arn:aws:iam::aws:policy/AWSXRayDaemonWriteAccess \ --attach-policy-arn arn:aws:iam::aws:policy/CloudWatchLogsFullAccess \ --attach-policy-arn arn:aws:iam::aws:policy/AWSAppMeshFullAccess \ --attach-policy-arn arn:aws:iam::aws:policy/AWSCloudMapFullAccess \ --override-existing-serviceaccounts \ --approve

Instale App Mesh

Para instalar el controlador de App Mesh Kubernetes, siga las instrucciones que se indican en App Mesh Controller (Controlador de App Mesh). Asegúrese de seguir las instrucciones de Amazon EKS con el tipo de lanzamiento de Fargate.

Instale una aplicación de muestra

aws-app-mesh-ejemplos contiene varias explicaciones de Kubernetes App Mesh. Para este tutorial, se instala una aplicación de color de muestra que funcione para clústeres de Amazon EKS con el tipo de lanzamiento de Fargate.

Para utilizar una aplicación de muestra App Mesh para probar Información de contenedores
  1. Instale la aplicación con estas instrucciones: https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/howto-k8s-fargate.

    Esas instrucciones suponen que está creando un nuevo clúster con el perfil de Fargate correcto. Si desea utilizar un clúster de Amazon EKS que ya haya configurado, puede utilizar los siguientes comandos para configurar dicho clúster para esta demostración. Sustituya MyCluster por el nombre del clúster.

    eksctl create iamserviceaccount --cluster MyCluster \ --namespace howto-k8s-fargate \ --name appmesh-pod \ --attach-policy-arn arn:aws:iam::aws:policy/AWSAppMeshEnvoyAccess \ --attach-policy-arn arn:aws:iam::aws:policy/AWSCloudMapDiscoverInstanceAccess \ --attach-policy-arn arn:aws:iam::aws:policy/AWSXRayDaemonWriteAccess \ --attach-policy-arn arn:aws:iam::aws:policy/CloudWatchLogsFullAccess \ --attach-policy-arn arn:aws:iam::aws:policy/AWSAppMeshFullAccess \ --attach-policy-arn arn:aws:iam::aws:policy/AWSCloudMapFullAccess \ --override-existing-serviceaccounts \ --approve
    eksctl create fargateprofile --cluster MyCluster \ --namespace howto-k8s-fargate --name howto-k8s-fargate
  2. Reenvíe el despliegue de la aplicación frontal:

    kubectl -n howto-k8s-fargate port-forward deployment/front 8080:8080
  3. Utilice el comando curl en la aplicación frontal:

    while true; do curl -s http://localhost:8080/color; sleep 0.1; echo ; done
  4. Abra la consola de CloudWatch en https://console.aws.amazon.com/cloudwatch/.

  5. En la región de AWS en la que se está ejecutando el clúster, elija Metrics (Métricas) en el panel de navegación. Las métricas están en el espacio de nombres ContainerInsights/Prometheus.

  6. Para ver los eventos de CloudWatch Logs, elija Log groups (grupos de registros) en el panel de navegación. Los eventos están en el grupo de registro /aws/containerinsights/your_cluster_name/prometheus en el flujo de registros kubernetes-pod-appmesh-envoy.

Eliminación del entorno de prueba de App Mesh

Cuando haya terminado de usar App Mesh y la aplicación de muestra, utilice los siguientes comandos para eliminar los recursos innecesarios. Elimine la aplicación de muestra con el siguiente comando:

cd aws-app-mesh-examples/walkthroughs/howto-k8s-fargate/ kubectl delete -f _output/manifest.yaml

Elimine el controlador de App Mesh con el siguiente comando:

helm delete appmesh-controller -n appmesh-system