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
Verwende das AWSSupport-CollectEKSInstanceLogs-Runbook, um deine Amazon EKS-Protokolle zu sammeln.
Wichtig: Damit die Automatisierung funktioniert, musst du den AWS-Systems-Manager-Agent (SSM-Agent) auf deiner 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.
Gehe wie folgt vor, um ein Protokollpaket für Amazon EKS-Instances zu generieren:
- Öffne die AWS Systems Manager-Konsole.
- Wähle im Navigationsbereich Automation (Automatisierung) aus.
- Wähle Execute automation (Automatisierung ausführen).
- Gib auf der Registerkarte Owned by Amazon (Eigentum von Amazon) im Suchfeld Automation document (Automatisierungsdokument) den Text EKSInstanceLogs ein. Wähle dann AWSSupport-CollectEKSInstanceLogs aus.
- Wähle Next (Weiter).
- Gib auf der Seite Automation Inputs (Automatisierungseingaben) für EKSInstanceId die ID deiner Ziel-Amazon EKS-Instance ein.
- Lege die Parameter LogDestination und AutomationAssumeRole fest.
Hinweis: Das Protokollpaket wird in den Amazon Simple Storage Service (Amazon S3)-Bucket hochgeladen, der im Feld LogDestination angegeben ist. Wenn du keinen Bucket angegeben hast, kannst du das Protokollpaket von der Instance abrufen. Das Protokollpaket wird lokal im Pfad /var/log/ gespeichert.
- Wähle Execute automation (Automatisierung ausführen).
Wenn du AWSSupport-CollectEKSInstanceLogs ausführst, wende die folgenden bewährten Methoden und Anforderungen an:
- 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 du im Feld LogDestination den S3-Bucket-Namen angibst, 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, musst du mindestens über die Berechtigungen ssm:ExecuteAutomation und ssm:SendCommand verfügen.
- Um die Automatisierungsausgabe lesen zu können, benötigst du die Berechtigung ssm:GetAutomationExecution.
- Für Amazon Linux 2 unterstützen IMDS-Endpunkte standardmäßig sowohl IMDSv2 als auch IMDSv1. Wenn du IMDSv2 konfigurierst, funktioniert die andere Version nicht mehr. Da AWSSupport-CollectEKSInstanceLogs IMDSv1 verwendet, wird beim Hochladen der gesammelten Protokolle möglicherweise der Schritt Pending (Ausstehend) angezeigt.
Weitere Informationen
Konfigurieren von erforderlichen Instance-Berechtigungen für Systems Manager
EKS Logs Collector auf der GitHub-Website