Wie kann ich ein Protokollpaket für meine Amazon-EKS-Instances generieren?

Lesedauer: 2 Minute
0

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:

  1. Öffnen Sie die Konsole von AWS Systems Manager.
  2. Wählen Sie im Navigationsbereich Automatisierung aus.
  3. Wählen Sie Automatisierung ausführen.
  4. 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.
  5. Klicken Sie auf Weiter.
  6. Geben Sie auf der Seite Automatisierungseingaben für EKSInstanceId die ID Ihrer Ziel-Instance von Amazon EKS ein.
  7. 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.
  8. 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