

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Configura un carico AWS App Mesh di lavoro di esempio per Amazon EKS e Kubernetes
<a name="ContainerInsights-Prometheus-Sample-Workloads-appmesh"></a>

Il supporto di Prometheus nei supporti di Container Insights. CloudWatch AWS App Mesh Nelle sezioni seguenti viene illustrato come configurare App Mesh.

**Topics**
+ [Configura un carico di lavoro di AWS App Mesh esempio su un cluster Amazon EKS con il tipo di avvio EC2 o un cluster Kubernetes](ContainerInsights-Prometheus-Sample-Workloads-appmesh-EKS.md)
+ [Configura un carico di lavoro di AWS App Mesh esempio su un cluster Amazon EKS con il tipo di lancio Fargate](ContainerInsights-Prometheus-Sample-Workloads-appmesh-Fargate.md)

# Configura un carico di lavoro di AWS App Mesh esempio su un cluster Amazon EKS con il tipo di avvio EC2 o un cluster Kubernetes
<a name="ContainerInsights-Prometheus-Sample-Workloads-appmesh-EKS"></a>

Segui queste istruzioni se stai configurando App Mesh su un cluster che esegue Amazon EKS con il tipo di avvio EC2 o un cluster Kubernetes.

## Configurazione delle autorizzazioni IAM
<a name="ContainerInsights-Prometheus-Sample-Workloads-appmesh-iam"></a>

Devi aggiungere la **AWSAppMeshFullAccess**policy al ruolo IAM per il tuo gruppo di nodi Amazon EKS o Kubernetes. Su Amazon EKS, il nome del gruppo di nodi è simile a `eksctl-integ-test-eks-prometheus-NodeInstanceRole-ABCDEFHIJKL`. Su Kubernetes, potrebbe sembrare simile a `nodes.integ-test-kops-prometheus.k8s.local`.

## Installazione di App Mesh
<a name="ContainerInsights-Prometheus-Sample-Workloads-appmesh-install"></a>

Per installare il controller App Mesh Kubernetes, segui le istruzioni in [Controller di App Mesh](https://github.com/aws/eks-charts/tree/master/stable/appmesh-controller#app-mesh-controller).

## Installazione di un'applicazione di esempio
<a name="ContainerInsights-Prometheus-Sample-Workloads-appmesh-application"></a>

[aws-app-mesh-examples](https://github.com/aws/aws-app-mesh-examples)contiene diverse procedure dettagliate per Kubernetes App Mesh. Per questa esercitazione, installerai un'applicazione a colori di esempio che mostra come i routing http possono utilizzare le intestazioni per la corrispondenza delle richieste in arrivo.

**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-http-headers](https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/howto-k8s-http-headers). 

1. Avvia un pod curler per generare traffico:

   ```
   kubectl -n default run -it curler --image=tutum/curl /bin/bash
   ```

1. Esegui il curl diversi endpoint modificando le intestazioni HTTP. Esegui il comando curl più volte, come illustrato:

   ```
   curl -H "color_header: blue" front.howto-k8s-http-headers.svc.cluster.local:8080/; echo;
   
   curl -H "color_header: red" front.howto-k8s-http-headers.svc.cluster.local:8080/; echo;
   
   curl -H "color_header: yellow" front.howto-k8s-http-headers.svc.cluster.local:8080/; echo;
   ```

1.  CloudWatch Apri la console [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)all'indirizzo.

1. Nella AWS regione in cui è in esecuzione il cluster, scegli **Metriche** nel riquadro di navigazione. La metrica si trova nello spazio dei nomi **ContainerInsights/Prometheus.**

1. **Per visualizzare gli eventi di CloudWatch Logs, scegli Log groups nel riquadro 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
<a name="ContainerInsights-Prometheus-Sample-Workloads-appmesh-delete"></a>

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-http-headers/
kubectl delete -f _output/manifest.yaml
```

Elimina il controller App Mesh immettendo il seguente comando:

```
helm delete appmesh-controller -n appmesh-system
```

# Configura un carico di lavoro di AWS App Mesh esempio su un cluster Amazon EKS con il tipo di lancio Fargate
<a name="ContainerInsights-Prometheus-Sample-Workloads-appmesh-Fargate"></a>

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
<a name="ContainerInsights-Prometheus-Sample-Workloads-appmesh--fargate-iam"></a>

Per impostare le autorizzazioni IAM, immetti il comando seguente. Sostituisci *MyCluster* con il nome del 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
<a name="ContainerInsights-Prometheus-Sample-Workloads-appmesh-fargate-install"></a>

Per installare il controller App Mesh Kubernetes, segui le istruzioni in [Controller di App Mesh](https://github.com/aws/eks-charts/tree/master/stable/appmesh-controller#app-mesh-controller). Assicurati di seguire le istruzioni per Amazon EKS con il tipo di avvio Fargate.

## Installazione di un'applicazione di esempio
<a name="ContainerInsights-Prometheus-Sample-Workloads-appmesh-fargate-application"></a>

[aws-app-mesh-examples](https://github.com/aws/aws-app-mesh-examples)contiene diverse procedure dettagliate per 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](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 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
   ```

1. Esegui il port forwarding dell'implementazione dell'applicazione front:

   ```
   kubectl -n howto-k8s-fargate port-forward deployment/front 8080:8080
   ```

1. Esegui il curl dell'App front:

   ```
   while true; do  curl -s http://localhost:8080/color; sleep 0.1; echo ; done
   ```

1.  CloudWatch Apri la console [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)all'indirizzo.

1. Nella AWS regione in cui è in esecuzione il cluster, scegli **Metriche** nel riquadro di navigazione. La metrica si trova nello spazio dei nomi **ContainerInsights/Prometheus.**

1. **Per visualizzare gli eventi di CloudWatch Logs, scegli Log groups nel riquadro 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
<a name="ContainerInsights-Prometheus-Sample-Workloads-appmesh-fargate-delete"></a>

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