Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Suivez les étapes décrites dans cette section pour installer les agents Network Flow Monitor pour les charges de travail sur des clusters Kubernetes autogérés. Une fois les étapes terminées, les pods d'agent Network Flow Monitor s'exécuteront sur tous vos nœuds de cluster Kubernetes autogérés.
Si vous utilisez Amazon Elastic Kubernetes Service (Amazon EKS), les étapes d'installation à suivre sont décrites dans la section suivante : Installation du module complémentaire EKS AWS Network Flow Monitor Agent
Table des matières
Avant de commencer
Avant de commencer le processus d'installation, suivez les étapes décrites dans cette section pour vous assurer que votre environnement est configuré pour installer correctement les agents sur les clusters Kubernetes appropriés.
- Assurez-vous que votre version de Kubernetes est prise en charge
L'installation de l'agent Network Flow Monitor nécessite la version 1.25 de Kubernetes ou une version plus récente.
- Assurez-vous d'avoir installé les outils nécessaires
Les scripts que vous utilisez pour ce processus d'installation nécessitent l'installation des outils suivants. Si les outils ne sont pas déjà installés, consultez les liens fournis pour plus d'informations.
Le AWS Command Line Interface (CLI). Pour plus d'informations, consultez la section Installation ou mise à jour vers la dernière version du AWS Command Line Interface dans le guide de AWS Command Line Interface référence.
Le gestionnaire de packages Helm. Pour plus d'informations, consultez la section Installation de Helm
sur le site Web de Helm. L'outil
kubectl
de ligne de commande. Pour plus d'informations, consultez Installer kubectlsur le site Web de Kubernetes. La dépendance aux commandes
make
Linux. Pour plus d'informations, consultez le billet de blog suivant : Intro to make Linux Command : Installation and Usage. Par exemple, effectuez l'une des opérations suivantes : Pour les distributions basées sur Debian, telles qu'Ubuntu, utilisez la commande suivante :
sudo apt-get install make
Pour les distributions basées sur le RPM, telles que CentOS, utilisez la commande suivante :
sudo yum install make
- Assurez-vous que vous disposez de variables d' KubeConfig environnement valides et correctement configurées
L'installation de l'agent Network Flow Monitor utilise l'outil de gestion de packages Helm, qui utilise la variable kubeconfig
$HELM_KUBECONTEXT
, pour déterminer les clusters Kubernetes cibles avec lesquels travailler. Sachez également que lorsque Helm exécute des scripts d'installation, par défaut, il fait référence au~/.kube/config
fichier standard. Vous pouvez modifier les variables d'environnement de configuration, utiliser un fichier de configuration différent (en le mettant à jour$KUBECONFIG
) ou pour définir le cluster cible avec lequel vous souhaitez travailler (en le mettant à jour$HELM_KUBECONTEXT
).- Création d'un espace de noms Kubernetes pour Network Flow Monitor
L'application Kubernetes de l'agent Network Flow Monitor installe ses ressources dans un espace de noms spécifique. L'espace de noms doit exister pour que l'installation réussisse. Pour vous assurer que l'espace de noms requis est en place, vous pouvez effectuer l'une des opérations suivantes :
Créez l'espace de noms par défaut avant de commencer.
amazon-network-flow-monitor
Créez un espace de noms différent, puis définissez-le dans la variable d'
$NAMESPACE
environnement lorsque vous exécutez l'installation pour créer des cibles.
Téléchargez les cartes Helm et installez les agents
Vous pouvez télécharger les cartes Helm de l'agent Network Flow Monitor depuis le référentiel AWS public à l'aide de la commande suivante. Assurez-vous d'abord de vous authentifier avec votre GitHub compte.
git clone https://github.com/aws/network-flow-monitor-agent.git
Dans le ./charts/amazon-network-flow-monitor-agent
répertoire, vous trouverez les diagrammes Helm et le fichier Makefile de l'agent Network Flow Monitor contenant les cibles d'installation que vous utilisez pour installer les agents. Vous installez des agents pour Network Flow Monitor en utilisant la cible Makefile suivante : helm/install/customer
Vous pouvez personnaliser l'installation si vous le souhaitez, par exemple en procédant comme suit :
# 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
Pour vérifier que les pods d'application Kubernetes pour les agents Network Flow Monitor ont été créés et déployés avec succès, assurez-vous que leur état est correct. Running
Vous pouvez vérifier l'état des agents en exécutant la commande suivante : kubectl get pods -o wide -A | grep amazon-network-flow-monitor
Configurer les autorisations permettant aux agents de fournir des métriques
Après avoir installé les agents pour Network Flow Monitor, vous devez permettre aux agents d'envoyer des métriques réseau à l'ingestion du Network Flow Monitor APIs. Les agents de Network Flow Monitor doivent être autorisés à accéder à l'ingestion du Network Flow Monitor APIs afin de pouvoir fournir les métriques de flux réseau qu'ils ont collectées pour chaque instance. Vous accordez cet accès en implémentant des rôles IAM pour les comptes de service (IRSA).
Pour permettre aux agents de fournir des métriques réseau à Network Flow Monitor, suivez les étapes décrites dans cette section.
Implémenter des rôles IAM pour les comptes de service
Les rôles IAM pour les comptes de service permettent de gérer les informations d'identification de vos applications, de la même manière que les profils d' EC2 instance Amazon fournissent des informations d'identification aux EC2 instances Amazon. La mise en œuvre de l'IRSA est la méthode recommandée pour fournir toutes les autorisations requises par les agents de Network Flow Monitor pour accéder avec succès à l'ingestion APIs de Network Flow Monitor. Pour plus d'informations, consultez la section Rôles IAM pour les comptes de service dans le guide de l'utilisateur Amazon EKS.
Lorsque vous configurez IRSA pour les agents Network Flow Monitor, utilisez les informations suivantes :
ServiceAccount: Lorsque vous définissez votre politique de confiance en matière de rôles IAM, pour
ServiceAccount
, spécifiezaws-network-flow-monitor-agent-service-account
.Namespace : pour le
namespace
, spécifiezamazon-network-flow-monitor
.Déploiement d'informations d'identification temporaires : lorsque vous configurez des autorisations après avoir déployé des pods d'agent Network Flow Monitor, en les mettant à jour
ServiceAccount
avec votre rôle IAM, Kubernetes ne déploie pas les informations d'identification du rôle IAM. Pour garantir que les agents Network Flow Monitor obtiennent les informations d'identification du rôle IAM que vous avez spécifiées, vous devez lancer un redémarrage deDaemonSet
. Par exemple, utilisez une commande comme celle-ci :kubectl rollout restart daemonset -n amazon-network-flow-monitor aws-network-flow-monitor-agent
Vérifiez que l'agent Network Flow Monitor accède correctement à l'ingestion du Network Flow Monitor APIs
Vous pouvez vérifier que votre configuration pour les agents fonctionne correctement en utilisant les journaux HTTP 200 pour les pods d'agents Network Flow Monitor. Recherchez d'abord un module d'agent Network Flow Monitor, puis parcourez les fichiers journaux pour trouver les requêtes HTTP 200 réussies. Par exemple, vous pouvez effectuer les opérations suivantes :
Recherchez le nom d'un pod d'agent Network Flow Monitor. Par exemple, vous pouvez utiliser la commande suivante :
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)
Tapez dans tous les journaux HTTP le nom du module que vous avez localisé. Si vous avez modifié le NAMESPACE, assurez-vous d'utiliser le nouveau.
NAMESPACE=amazon-network-flow-monitor kubectl logs $
RANDOM_AGENT_POD_NAME
-\-namespace ${NAMESPACE} | grep HTTP
Si l'accès a été accordé avec succès, vous devriez voir des entrées de journal similaires aux suivantes :
... {"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}
Notez que l'agent Network Flow Monitor publie des rapports de flux réseau toutes les 30 secondes, en appelant le Network Flow Monitor ingestion APIs.