Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Installieren Sie Agenten für selbstverwaltete Kubernetes-Instanzen
Folgen Sie den Schritten in diesem Abschnitt, um Network Flow Monitor-Agenten für Workloads auf selbstverwalteten Kubernetes-Clustern zu installieren. Nachdem Sie die Schritte abgeschlossen haben, werden die Network Flow Monitor-Agenten-Pods auf all Ihren selbstverwalteten Kubernetes-Clusterknoten ausgeführt.
Wenn Sie Amazon Elastic Kubernetes Service (Amazon EKS) verwenden, finden Sie die folgenden Installationsschritte im folgenden Abschnitt:. Installieren Sie das EKS AWS Network Flow Monitor Agent-Add-on
Inhalt
Bevor Sie beginnen
Bevor Sie mit der Installation beginnen, folgen Sie den Schritten in diesem Abschnitt, um sicherzustellen, dass Ihre Umgebung so eingerichtet ist, dass Agenten erfolgreich auf den richtigen Kubernetes-Clustern installiert werden.
- Stellen Sie sicher, dass Ihre Version von Kubernetes unterstützt wird
Für die Installation des Network Flow Monitor-Agenten ist Kubernetes Version 1.25 oder eine neuere Version erforderlich.
- Stellen Sie sicher, dass Sie die erforderlichen Tools installiert haben
Für die Skripts, die Sie für diesen Installationsvorgang verwenden, müssen Sie die folgenden Tools installieren. Falls Sie die Tools noch nicht installiert haben, finden Sie unter den bereitgestellten Links weitere Informationen.
Die AWS Command Line Interface (CLI). Weitere Informationen finden Sie im AWS Command Line Interface Referenzhandbuch unter Installation oder Aktualisierung AWS Command Line Interface auf die neueste Version von.
Der Helm-Paketmanager. Weitere Informationen finden Sie unter Helm installieren
auf der Helm-Website. Das
kubectl
Befehlszeilentool. Weitere Informationen finden Sie unter Installieren von kubectl auf der Kubernetes-Website. Die
make
Abhängigkeit von Linux-Befehlen. Weitere Informationen finden Sie im folgenden Blogbeitrag: Intro to make Linux Command: Installation und Verwendung. Führen Sie beispielsweise einen der folgenden Schritte aus: Verwenden Sie für Debian-basierte Distributionen wie Ubuntu den folgenden Befehl:
sudo apt-get install make
Verwenden Sie für RPM-basierte Distributionen wie CentOS den folgenden Befehl:
sudo yum install make
- Stellen Sie sicher, dass Sie über gültige, korrekt konfigurierte Umgebungsvariablen verfügen KubeConfig
Die Installation des Network Flow Monitor-Agenten verwendet das Helm Package Manager-Tool, das die Variable kubeconfig verwendet
$HELM_KUBECONTEXT
, um die Kubernetes-Zielcluster zu bestimmen, mit denen gearbeitet werden soll. Beachten Sie außerdem, dass Helm bei der Ausführung von Installationsskripten standardmäßig auf die Standarddatei verweist.~/.kube/config
Sie können die Konfigurationsumgebungsvariablen ändern, um eine andere Konfigurationsdatei zu verwenden (durch Aktualisierung$KUBECONFIG
) oder um den Zielcluster zu definieren, mit dem Sie arbeiten möchten (durch Aktualisierung$HELM_KUBECONTEXT
).- Erstellen Sie einen Network Flow Monitor Kubernetes-Namespace
Die Kubernetes-Anwendung des Network Flow Monitor-Agenten installiert ihre Ressourcen in einem bestimmten Namespace. Der Namespace muss vorhanden sein, damit die Installation erfolgreich ist. Um sicherzustellen, dass der erforderliche Namespace vorhanden ist, können Sie einen der folgenden Schritte ausführen:
Erstellen Sie den Standard-Namespace,
amazon-network-flow-monitor
, bevor Sie beginnen.Erstellen Sie einen anderen Namespace und definieren Sie ihn dann in der
$NAMESPACE
Umgebungsvariablen, wenn Sie die Installation ausführen, um Ziele zu erstellen.
Laden Sie Helm-Charts herunter und installieren Sie Agenten
Sie können die Helm-Diagramme des Network Flow Monitor-Agenten mithilfe des folgenden Befehls aus dem AWS öffentlichen Repository herunterladen. Stellen Sie sicher, dass Sie sich zuerst mit Ihrem GitHub Konto authentifizieren.
git clone https://github.com/aws/network-flow-monitor-agent.git
Im ./charts/amazon-network-flow-monitor-agent
Verzeichnis finden Sie die Helm-Diagramme und das Makefile des Network Flow Monitor-Agenten, die die Installations-Make-Ziele enthalten, die Sie für die Installation der Agenten verwenden. Sie installieren Agenten für Network Flow Monitor mithilfe des folgenden Makefile-Ziels: helm/install/customer
Sie können die Installation nach Belieben anpassen, indem Sie beispielsweise wie folgt vorgehen:
# 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
Um zu überprüfen, ob die Kubernetes-Anwendungs-Pods für die Network Flow Monitor-Agenten erfolgreich erstellt und bereitgestellt wurden, stellen Sie sicher, dass ihr Status stimmt. Running
Sie können den Status der Agenten überprüfen, indem Sie den folgenden Befehl ausführen: kubectl get pods -o wide -A | grep amazon-network-flow-monitor
Konfigurieren Sie die Berechtigungen für Agenten zur Übermittlung von Metriken
Nachdem Sie Agenten für Network Flow Monitor installiert haben, müssen Sie die Agenten in die Lage versetzen, Netzwerkmetriken an die Network Flow Monitor-Erfassung APIs zu senden. Agenten im Network Flow Monitor müssen berechtigt sein, auf die Network Flow Monitor-Aufnahme zuzugreifen, APIs damit sie Netzwerkfluss-Metriken, die sie für jede Instanz gesammelt haben, bereitstellen können. Sie gewähren diesen Zugriff, indem Sie IAM-Rollen für Dienstkonten (IRSA) implementieren.
Gehen Sie wie in diesem Abschnitt beschrieben vor, damit Agenten Netzwerkmetriken an Network Flow Monitor übermitteln können.
Implementieren Sie IAM-Rollen für Dienstkonten
IAM-Rollen für Dienstkonten bieten die Möglichkeit, Anmeldeinformationen für Ihre Anwendungen zu verwalten, ähnlich wie EC2 Amazon-Instance-Profile Anmeldeinformationen für EC2 Amazon-Instances bereitstellen. Die Implementierung von IRSA ist die empfohlene Methode, um alle Berechtigungen bereitzustellen, die Network Flow Monitor-Agenten benötigen, um erfolgreich auf die Network Flow Monitor-Aufnahme zuzugreifen. APIs Weitere Informationen finden Sie unter IAM-Rollen für Dienstkonten im Amazon EKS-Benutzerhandbuch.
Wenn Sie IRSA für Network Flow Monitor-Agenten einrichten, verwenden Sie die folgenden Informationen:
ServiceAccount: Wenn Sie Ihre IAM-Rollenvertrauensrichtlinie definieren, geben Sie für
ServiceAccount
an.aws-network-flow-monitor-agent-service-account
Namespace: Geben Sie für den an
namespace
.amazon-network-flow-monitor
Bereitstellung temporärer Anmeldeinformationen: Wenn Sie Berechtigungen konfigurieren, nachdem Sie Network Flow Monitor-Agenten-Pods bereitgestellt und diese
ServiceAccount
mit Ihrer IAM-Rolle aktualisiert haben, stellt Kubernetes die IAM-Rollenanmeldedaten nicht bereit. Um sicherzustellen, dass die Network Flow Monitor-Agenten die von Ihnen angegebenen IAM-Rollenanmeldedaten erhalten, müssen Sie einen Neustart von durchführen.DaemonSet
Verwenden Sie beispielsweise einen Befehl wie den folgenden:kubectl rollout restart daemonset -n amazon-network-flow-monitor aws-network-flow-monitor-agent
Vergewissern Sie sich, dass der Network Flow Monitor-Agent erfolgreich auf die Network Flow Monitor-Aufnahme zugreift APIs
Mithilfe der HTTP 200-Protokolle für die Agenten-Pods von Network Flow Monitor können Sie überprüfen, ob Ihre Konfiguration für Agenten ordnungsgemäß funktioniert. Suchen Sie zunächst nach einem Network Flow Monitor-Agent-Pod und durchsuchen Sie dann die Protokolldateien, um erfolgreiche HTTP 200-Anfragen zu finden. Sie können z. B. Folgendes tun:
Suchen Sie den Pod-Namen eines Network Flow Monitor-Agenten. Sie können beispielsweise den folgenden Befehl verwenden:
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)
Rufen Sie alle HTTP-Logs für den Pod-Namen ab, den Sie gefunden haben. Wenn Sie den NAMESPACE geändert haben, stellen Sie sicher, dass Sie den neuen verwenden.
NAMESPACE=amazon-network-flow-monitor kubectl logs $
RANDOM_AGENT_POD_NAME
-\-namespace ${NAMESPACE} | grep HTTP
Wenn der Zugriff erfolgreich gewährt wurde, sollten Sie Protokolleinträge sehen, die den folgenden ähneln:
... {"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}
Beachten Sie, dass der Network Flow Monitor-Agent alle 30 Sekunden Netzwerkflussberichte veröffentlicht, indem er den Network Flow Monitor-Ingestion aufruft. APIs