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
Instale una aplicación de muestra
aws-app-mesh-ejemplos
Para utilizar una aplicación de muestra App Mesh para probar Información de contenedores
-
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 \ --approveeksctl create fargateprofile --cluster MyCluster \ --namespace howto-k8s-fargate --name howto-k8s-fargate
-
Reenvíe el despliegue de la aplicación frontal:
kubectl -n howto-k8s-fargate port-forward deployment/front 8080:8080
-
Utilice el comando curl en la aplicación frontal:
while true; do curl -s http://localhost:8080/color; sleep 0.1; echo ; done
Abra la consola de CloudWatch en https://console.aws.amazon.com/cloudwatch/
. -
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.
-
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/
en el flujo de registrosyour_cluster_name
/prometheuskubernetes-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