

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

# Installazione degli agenti per le istanze Kubernetes autogestite
<a name="CloudWatch-NetworkFlowMonitor-agents-kubernetes-non-eks"></a>

Segui la procedura riportata in questa sezione per installare gli agenti Network Flow Monitor per carichi di lavoro su cluster Kubernetes autogestiti. Dopo aver completato i passaggi, i pod degli agenti di Network Flow Monitor verranno eseguiti su tutti i nodi del cluster Kubernetes autogestiti.

Se utilizzi Amazon Elastic Kubernetes Service (Amazon EKS), la procedura di installazione da seguire è riportata nella sezione seguente: [Installa il componente aggiuntivo EKS AWS Network Flow Monitor Agent](CloudWatch-NetworkFlowMonitor-agents-kubernetes-eks.md). 

**Topics**
+ [Prima di iniziare](CloudWatch-NetworkFlowMonitor-agents-kubernetes-before-you-begin.md)
+ [Download dei grafici Helm e installazione degli agenti](CloudWatch-NetworkFlowMonitor-agents-kubernetes-install-agents.md)
+ [Configurazione delle autorizzazioni per consentire agli agenti di fornire metriche](CloudWatch-NetworkFlowMonitor-agents-kubernetes-permissions.md)

# Prima di iniziare
<a name="CloudWatch-NetworkFlowMonitor-agents-kubernetes-before-you-begin"></a>

Prima di iniziare il processo di installazione, segui i passaggi di questa sezione per assicurarti che il tuo ambiente sia configurato per installare correttamente gli agenti sui cluster Kubernetes corretti.

**Verificare che la versione di Kubernetes sia supportata**  
L'installazione dell'agente Network Flow Monitor richiede la versione 1.25 di Kubernetes o una versione più recente.

**Verificare di aver installato gli strumenti necessari**  
Gli script utilizzati per questo processo di installazione richiedono l'installazione dei seguenti strumenti. Se gli strumenti non sono ancora stati installati, consulta i collegamenti forniti per ulteriori informazioni.  
+ Il AWS Command Line Interface (CLI). Per ulteriori informazioni, consulta [Installazione o aggiornamento alla versione più recente di AWS Command Line Interface nella](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) Guida di AWS Command Line Interface riferimento. 
+ Il gestore di pacchetti Helm. Per ulteriori informazioni, consulta [Installing Helm](https://helm.sh/docs/intro/install/) sul sito web di Helm. 
+ Lo strumento a riga di comando `kubectl`; Per ulteriori informazioni, consulta [Install kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl) sul sito web di Kubernetes. 
+ La dipendenza dei comandi `make` di Linux. Per ulteriori informazioni, consulta il seguente post del blog: [Intro to make Linux Command: Installation and Usage](https://ioflood.com/blog/install-make-command-linux/). Ad esempio, esegui una delle seguenti operazioni:
  + Per distribuzioni basate su Debian, come Ubuntu, utilizza il seguente comando: `sudo apt-get install make`
  + Per distribuzioni basate su RPM, come CentOS, utilizza il seguente comando: `sudo yum install make`

**Assicuratevi di disporre di variabili di KubeConfig ambiente valide e configurate correttamente**  
L'installazione dell'agente Network Flow Monitor utilizza lo strumento di gestione dei pacchetti Helm, che utilizza la variabile kubeconfig `$HELM_KUBECONTEXT` per determinare i cluster Kubernetes di destinazione con cui lavorare. Inoltre, tieni presente che quando Helm esegue gli script di installazione, per impostazione predefinita fa riferimento al file `~/.kube/config` standard. È possibile modificare le variabili dell'ambiente di configurazione, utilizzare un file di configurazione diverso (mediante aggiornamento di `$KUBECONFIG`) o definire il cluster di destinazione con cui si desidera lavorare (aggiornando `$HELM_KUBECONTEXT`). 

**Creazione di un namespace Kubernetes di Network Flow Monitor**  
L'applicazione Kubernetes dell'agente Network Flow Monitor installa le proprie risorse in un namespace specifico. Il namespace deve esistere affinché l'installazione abbia successo. Per garantire che il namespace richiesto sia disponibile, è possibile eseguire una delle seguenti operazioni:   
+ Crea il namespace predefinito, `amazon-network-flow-monitor`, prima di iniziare.
+ Crea uno namespace diverso, quindi definiscilo nella variabile di ambiente `$NAMESPACE` quando esegui l'installazione per creare destinazioni.

# Download dei grafici Helm e installazione degli agenti
<a name="CloudWatch-NetworkFlowMonitor-agents-kubernetes-install-agents"></a>

È possibile scaricare i grafici Helm dell'agente Network Flow Monitor dall'archivio AWS pubblico utilizzando il comando seguente. Assicurati di autenticarti prima con il tuo account. GitHub 

`git clone https://github.com/aws/network-flow-monitor-agent.git`

Nella directory `./charts/amazon-network-flow-monitor-agent`, puoi trovare i grafici Helm dell'agente Network Flow Monitor e Makefile che contengono le destinazioni make di installazione utilizzate per l'installazione degli agenti. Gli agenti per Network Flow Monitor vengono installati utilizzando la seguente destinazione Makefile: `helm/install/customer`

Se desideri puoi personalizzare l'installazione, ad esempio nel modo seguente:

```
# Overwrite the kubeconfig files to use
KUBECONFIG=<MY_KUBECONFIG_ABS_PATH> make helm/install/customer
 
# Overwrite the Kubernetes namespace to use
NAMESPACE=<MY_K8S_NAMESPACE> make helm/install/customer
```

Per verificare che i pod delle applicazioni Kubernetes per gli agenti Network Flow Monitor siano stati creati e distribuiti correttamente, verifica che lo stato sia `Running`. Puoi controllare lo stato degli agenti eseguendo il seguente comando: `kubectl get pods -o wide -A | grep amazon-network-flow-monitor`

# Configurazione delle autorizzazioni per consentire agli agenti di fornire metriche
<a name="CloudWatch-NetworkFlowMonitor-agents-kubernetes-permissions"></a>

Dopo aver installato gli agenti per Network Flow Monitor, è necessario consentire agli agenti di inviare le metriche di rete all'ingestione di Network Flow Monitor. APIs Gli agenti in Network Flow Monitor devono disporre dell'autorizzazione per accedere all'ingestione di Network Flow Monitor APIs in modo da poter fornire le metriche del flusso di rete che hanno raccolto per ogni istanza. Concedi questo accesso implementando ruoli IAM per gli account di servizio (IRSA). 

Per consentire agli agenti di fornire metriche di rete a Network Flow Monitor, segui i passaggi riportati in questa sezione.

1. **Implementazione dei ruoli IAM per gli account di servizio**

   I ruoli IAM per gli account di servizio (IRSA) forniscono la possibilità di gestire le credenziali per le applicazioni, analogamente al modo in cui i profili di istanza Amazon EC2 forniscono le credenziali alle istanze Amazon EC2. L'implementazione di IRSA è il metodo consigliato per fornire tutte le autorizzazioni richieste dagli agenti di Network Flow Monitor per accedere correttamente all'ingestione di Network Flow Monitor. APIs Per ulteriori informazioni, consulta [IAM roles for service accounts](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html) nella Guida per l'utente di Amazon EKS.

   Quando configuri gli IRSA per gli agenti Network Flow Monitor, utilizza le seguenti informazioni:
   + **ServiceAccount:** Quando definisci la tua policy di fiducia per i ruoli IAM, specifica. `ServiceAccount` `aws-network-flow-monitor-agent-service-account`
   + **Namespace:** per `namespace`, specifica `amazon-network-flow-monitor`.
   + **Implementazione delle credenziali temporanee:** quando configuri le autorizzazioni dopo aver implementato i pod degli agenti di Network Flow Monitor, aggiornando `ServiceAccount` con il tuo ruolo IAM, Kubernetes non implementa le credenziali del ruolo IAM. Per garantire che gli agenti di Network Flow Monitor acquisiscano le credenziali del ruolo IAM che hai specificato, devi eseguire un riavvio di `DaemonSet`. Ad esempio, utilizza un comando di questo genere:

     `kubectl rollout restart daemonset -n amazon-network-flow-monitor aws-network-flow-monitor-agent`

1. **Verifica che l'agente Network Flow Monitor stia accedendo correttamente all'ingestione di Network Flow Monitor APIs**

   È possibile verificare che la configurazione per gli agenti funzioni correttamente utilizzando i log HTTP 200 per i pod degli agenti di Network Flow Monitor. Innanzitutto, cerca un pod di agenti Network Flow Monitor, quindi cerca nei file di log per trovare le richieste HTTP 200 riuscite. Ad esempio, puoi eseguire le operazioni seguenti:

   1. Individua il nome del pod dell'agente Network Flow Monitor. Ad esempio, puoi utilizzare il seguente comando: 

      ```
      RANDOM_AGENT_POD_NAME=$(kubectl get pods -o wide -A | grep amazon-network-flow-monitor | grep Running | head -n 1 | tr -s ' ' | cut -d " " -f 2)
      ```

   1. Archivia tutti i log HTTP relativi al nome del pod che hai individuato. Se hai cambiato il NAMESPACE, assicurati di utilizzare quello nuovo.

      ```
      NAMESPACE=amazon-network-flow-monitor
      kubectl logs $RANDOM_AGENT_POD_NAME -\-namespace ${NAMESPACE} | grep HTTP
      ```

   Se l'accesso è stato concesso correttamente, dovresti visualizzare voci di log simili alle seguenti:

   ```
   ...
   {"level":"INFO","message":"HTTP request complete","status":200,"target":"amzn_nefmon::reports::publisher_endpoint","timestamp":1737027525679}
   {"level":"INFO","message":"HTTP request complete","status":200,"target":"amzn_nefmon::reports::publisher_endpoint","timestamp":1737027552827}
   ```

   Tieni presente che l'agente Network Flow Monitor pubblica report sul flusso di rete ogni 30 secondi, chiamando l' APIsingestione di Network Flow Monitor.