Installieren Sie Agenten für selbstverwaltete Kubernetes-Instanzen - Amazon CloudWatch

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

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.

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.

  1. 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 annamespace. 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

  2. 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:

    1. 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)
    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