Unterstützung für die Verbesserung dieser Seite beitragen
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.
Um zu diesem Benutzerhandbuch beizutragen, wählen Sie den GitHub Link Diese Seite bearbeiten auf, der sich im rechten Bereich jeder Seite befindet.
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.
Abrufen von Knotenprotokollen für einen verwalteten Knoten mithilfe von kubectl und S3
Erfahren Sie, wie Sie Knotenprotokolle für einen von Amazon EKS verwalteten Knoten abrufen können, auf dem der Knoten-Überwachungsagent installiert ist.
Voraussetzungen
Stellen Sie sicher, dass Sie über Folgendes verfügen:
-
Ein vorhandener Amazon-EKS-Cluster mit dem Knoten-Überwachungsagent. Weitere Informationen finden Sie unter Aktivieren der automatischen Knotenreparatur und Untersuchen von Problemen mit dem Zustand des Knotens.
-
Das Befehlszeilentool
kubectl, das für die Kommunikation mit Ihrem Cluster installiert und konfiguriert wurde. -
Die AWS CLI wurde installiert und hat sich mit ausreichenden Berechtigungen angemeldet, um S3-Buckets und -Objekte zu erstellen.
-
Eine aktuelle Installation von Python 3
-
Das AWS SDK für Python 3, Boto 3, ist installiert.
Schritt 1: S3-Bucket-Ziel erstellen (optional)
Falls Sie noch nicht über einen S3-Bucket zum Speichern der Protokolle verfügen, erstellen Sie einen. Verwenden Sie den folgenden AWS CLI-Befehl. Der Bucket verwendet standardmäßig die private-Zugriffskontroll-Liste. bucket-nameErsetzen Sie es durch den von Ihnen ausgewählten eindeutigen Bucket-Namen.
aws s3api create-bucket --bucket<bucket-name>
Schritt 2: Vorab signierte S3-URL für HTTP Put erstellen
Amazon EKS gibt die Knotenprotokolle zurück, indem es eine HTTP-PUT-Operation an eine von Ihnen angegebene URL durchführt. In diesem Tutorial erstellen wir eine vorab signierte S3-HTTP-PUT-URL.
Die Protokolle werden als gzip tarball mit der .tar.gz-Erweiterung zurückgegeben.
Anmerkung
Sie müssen die AWS API oder ein SDK verwenden, um die vorsignierte S3-Upload-URL für EKS zum Hochladen der Protokolldatei zu erstellen. Sie können mit der AWS CLI keine vorsignierte S3-Upload-URL erstellen.
-
Bestimmen Sie, wo im Bucket Sie die Protokolle speichern möchten. Sie können beispielsweise
2024-11-12/logs1.tar.gzals Schlüssel verwenden. -
Speichern Sie den folgenden Python-Code in der Datei
presign-upload.py. Ersetzen Sie<bucket-name>und<key>. Der Schlüssel sollte mit.tar.gzenden.import boto3; print(boto3.client('s3').generate_presigned_url( ClientMethod='put_object', Params={'Bucket': '[.replaceable]`<bucket-name>`', 'Key': '[.replaceable]`<key>`'}, ExpiresIn=[.replaceable]`1000` )) -
Skript ausführen mit
python presign-upload.py -
Beachten Sie die URL-Ausgabe. Verwenden Sie diesen Wert im nächsten Schritt als
http-put-destination.
Weitere Informationen finden Sie unter Generieren einer vorsignierten URL zum Hochladen einer Datei
Schritt 3: Ressource erstellen NodeDiagnostic
Identifizieren Sie den Namen des Knotens, von dem Sie Protokolle erfassen möchten.
Erstellen Sie ein NodeDiagnostic-Manifest, das den Namen des Knotens als Namen der Ressource verwendet und eine HTTP-PUT-URL-Zieladresse angibt.
apiVersion: eks.amazonaws.com/v1alpha1 kind: NodeDiagnostic metadata: name:<node-name>spec: logCapture: destination:http-put-destination
Wenden Sie die Manifestdatei auf Ihren Cluster an.
kubectl apply -f nodediagnostic.yaml
Sie können den Status der Sammlung überprüfen, indem Sie die NodeDiagnostic-Ressource beschreiben:
-
Ein Status von
SuccessoderSuccessWithErrorszeigt an, dass die Aufgabe abgeschlossen und die Protokolle an das angegebene Ziel hochgeladen wurden (SuccessWithErrorszeigt an, dass möglicherweise einige Protokolle fehlen). -
Wenn der Status „Fehler“ lautet, stellen Sie sicher, dass die Upload-URL korrekt formatiert und nicht abgelaufen ist.
kubectl describe nodediagnostics.eks.amazonaws.com/<node-name>
Schritt 4: Protokolle aus S3 herunterladen
Warten Sie etwa eine Minute, bevor Sie versuchen, die Protokolle herunterzuladen. Verwenden Sie anschließend die S3-CLI, um die Protokolle herunterzuladen.
# Once NodeDiagnostic shows Success status, download the logs aws s3 cp s3://<bucket-name>/key./<path-to-node-logs>.tar.gz
Schritt 5: NodeDiagnostic Ressource bereinigen
-
NodeDiagnostic-Ressourcen werden nicht automatisch gelöscht. Sie sollten diese selbst bereinigen, nachdem Sie Ihre Protokoll-Artefakte erhalten haben
# Delete the NodeDiagnostic resource kubectl delete nodediagnostics.eks.amazonaws.com/<node-name>