Ich behebe Probleme mit einer Amazon Elastic Kubernetes Service (Amazon EKS)-Instance. Ich muss alle relevanten Amazon-EKS-Protokolle sammeln, die mit dieser Instance verbunden sind.
Kurzbeschreibung
Verwenden Sie das AWSSupport-CollectEKSInstanceLogs-Runbook, um Ihre Amazon-EKS-Protokolle zu sammeln.
Wichtig: Damit die Automatisierung funktioniert, müssen Sie den AWS Systems Manager Agent (SSM Agent) auf Ihrer Amazon-EKS-Instance installieren und ausführen.
Lösung
Hinweis: Die folgende Lösung funktioniert nur für Worker-Knoten in Amazon EKS für Linux.
Gehen Sie wie folgt vor, um ein Protokollpaket für Amazon-EKS-Instances zu generieren:
- Öffnen Sie die Konsole von AWS Systems Manager.
- Wählen Sie im Navigationsbereich Automatisierung aus.
- Wählen Sie Automatisierung ausführen.
- Geben Sie auf der Registerkarte Eigentum von Amazon in das Suchfeld für Automatisierungsdokument den Text EKSInstanceLogs ein. Wählen Sie dann AWSSupport-CollectEKSInstanceLogs aus.
- Klicken Sie auf Weiter.
- Geben Sie auf der Seite Automatisierungseingaben für EKSInstanceId die ID Ihrer Ziel-Instance von Amazon EKS ein.
- Richten Sie die Parameter LogDestination und AutomationAssumeRole ein.
Hinweis: Das Protokollpaket wird in den Amazon Simple Storage Service (Amazon S3)-Bucket hochgeladen, der im Feld LogDestination angegeben ist. Wenn Sie keinen Bucket angegeben haben, können Sie das Protokollpaket von der Instance abrufen. Das Protokollpaket wird lokal im Pfad /var/log/ gespeichert.
- Wählen Sie Automatisierung ausführen.
Wenn Sie AWSSupport-CollectEKSInstanceLogs ausführen, verwenden Sie die folgenden bewährten Methoden und Anforderungen:
- Es hat sich bewährt, die von Amazon verwaltete Richtlinie AmazonSSMManagedInstanceCore der entsprechenden AWS Identity and Access Management (IAM)-Rolle zuzuordnen. Diese IAM-Rolle ist für die Amazon Elastic Compute Cloud (Amazon EC2)-Instance vorgesehen, die auf Automatisierung ausgerichtet ist.
- Wenn Sie im Feld LogDestination den S3-Bucket-Namen angeben, bevor die Automatisierung ausgeführt wird, kann das Instance-Profil in den Bucket schreiben.
- Um die Automatisierung auszuführen und den Befehl an die Instance zu senden, müssen Sie mindestens über die Berechtigungen ssm:ExecuteAutomation und ssm:sendCommand verfügen.
- Um die Automatisierungsausgabe lesen zu können, benötigen Sie die Berechtigung ssm:GetAutomationExecution.
- Für Amazon Linux 2 unterstützen IMDS-Endpunkte standardmäßig sowohl IMDSv2 als auch IMDSv1. Wenn Sie IMDSv2 konfigurieren, funktioniert die andere Version nicht mehr. Da AWSSupport-CollectEKSInstanceLogs IMDSv1 verwendet, wird beim Hochladen der gesammelten Protokolle möglicherweise der Schritt Ausstehend angezeigt.
Verwandte Informationen
Configure instance permissions for Systems Manager
EKS Logs Collector auf der GitHub-Webseite