Configurazione di un carico di lavoro di esempio AWS App Mesh su un cluster Amazon EKS con il tipo di avvio Fargate
Segui queste istruzioni se stai configurando App Mesh su un cluster che esegue Amazon EKS con il tipo di avvio Fargate.
Configurazione delle autorizzazioni IAM
Per impostare le autorizzazioni IAM, immetti il comando seguente. Sostituisci MyCluster con il nome del tuo cluster.
eksctl create iamserviceaccount --clusterMyCluster\ --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
Installazione di App Mesh
Per installare il controller App Mesh Kubernetes, segui le istruzioni in Controller di App Mesh
Installazione di un'applicazione di esempio
aws-app-mesh-examples
Per utilizzare un'applicazione App Mesh di esempio per testare Container Insights
-
Installa l'applicazione seguendo queste istruzioni: https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/howto-k8s-fargate
. Queste istruzioni presuppongono che tu stia creando un nuovo cluster con il profilo Fargate corretto. Se si desidera utilizzare un cluster Amazon EKS già configurato, puoi utilizzare i seguenti comandi per configurare tale cluster per questa dimostrazione. Sostituisci
MyClustercon il nome del tuo cluster.eksctl create iamserviceaccount --clusterMyCluster\ --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 -
Esegui il port forwarding dell'implementazione dell'applicazione front:
kubectl -n howto-k8s-fargate port-forward deployment/front 8080:8080 -
Esegui il curl dell'App front:
while true; do curl -s http://localhost:8080/color; sleep 0.1; echo ; done Apri la console CloudWatch all'indirizzo https://console.aws.amazon.com/cloudwatch/
. -
Nella regione AWS in cui è in esecuzione il cluster, scegli Metrics (Parametri) nel pannello di navigazione sinistro. I parametri si trovano nello spazio dei nomi ContainerInsights/Prometheus.
-
Per visualizzare gli eventi CloudWatch Logs, scegli Log groups (Gruppi di log) nel pannello di navigazione. Gli eventi si trovano nel gruppo di log
/aws/containerinsights/nel flusso di logyour_cluster_name/prometheuskubernetes-pod-appmesh-envoy.
Eliminazione dell'ambiente di test di App Mesh
Al termine dell'utilizzo di App Mesh e dell'applicazione di esempio, utilizza i seguenti comandi per eliminare le risorse non necessarie. Elimina l'applicazione di esempio immettendo il seguente comando:
cd aws-app-mesh-examples/walkthroughs/howto-k8s-fargate/ kubectl delete -f _output/manifest.yaml
Elimina il controller App Mesh immettendo il seguente comando:
helm delete appmesh-controller -n appmesh-system