Configurazione di un carico di lavoro di esempio AWS App Mesh su un cluster Amazon EKS con il tipo di avvio Fargate - Amazon CloudWatch

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 --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

Installazione di App Mesh

Per installare il controller App Mesh Kubernetes, segui le istruzioni in Controller di App Mesh. Assicurati di seguire le istruzioni per Amazon EKS con il tipo di avvio Fargate.

Installazione di un'applicazione di esempio

aws-app-mesh-examples contiene diverse spiegazioni passo per passo su Kubernetes App Mesh. Per questa esercitazione, installerai un'applicazione a colori di esempio che funziona per i cluster Amazon EKS con il tipo di avvio Fargate.

Per utilizzare un'applicazione App Mesh di esempio per testare Container Insights
  1. 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 MyCluster con il nome del tuo cluster.

    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. Esegui il port forwarding dell'implementazione dell'applicazione front:

    kubectl -n howto-k8s-fargate port-forward deployment/front 8080:8080
  3. Esegui il curl dell'App front:

    while true; do curl -s http://localhost:8080/color; sleep 0.1; echo ; done
  4. Apri la console CloudWatch all'indirizzo https://console.aws.amazon.com/cloudwatch/.

  5. 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.

  6. 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/your_cluster_name/prometheus nel flusso di log kubernetes-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