我正在對 Amazon Elastic Kubernetes Service (Amazon EKS) 執行個體進行疑難排解。我需要收集與該執行個體關聯的所有相關 Amazon EKS 日誌。
簡短描述
使用 AWSSupport-CollectEKSInstanceLogs 執行手冊來收集 Amazon EKS 日誌。
**重要事項:**若要讓自動化運作,您必須在 Amazon EKS 執行個體上安裝並執行 AWS Systems Manager Agent (SSM Agent)。
解決方法
**注意:**下列解決方案僅適用於 Linux 版 Amazon EKS 中的工作節點。
若要為 Amazon EKS 執行個體產生日誌套件組合,請完成下列步驟:
- 開啟 AWS Systems Manager 主控台。
- 在導覽窗格中,選擇自動化。
- 選擇執行自動化。
- 在由 Amazon 擁有索引標籤的自動化文件搜尋方塊中,輸入 EKSinstanceLogs。然後選取 AWSSupport-CollectEKSInstanceLogs。
- 選擇下一步。
- 在自動化輸入頁面上,針對 EKSInstanceId 輸入您的目標 Amazon EKS 執行個體 ID。
- 設定 LogDestination 和 AutomationAssumeRole 參數。
**注意:**日誌套件組合會上傳到 Amazon Simple Storage Service (Amazon S3) 儲存貯體,該儲存貯體在 LogDestination 欄位中指定。如果您未指定執行個體,則可以從執行個體擷取日誌套件組合。日誌套件組合會在本機儲存在 /var/log/ 路徑中。
- 選擇執行自動化。
執行 AWSSupport-CollectEKSInstanceLogs 時,請採取下列最佳實務並遵守相關要求:
- 最佳做法是將 Amazon 受管 AmazonSSMManagedInstanceCore 政策附加到相關的 AWS Identity and Access Management (IAM) 角色。此 IAM 角色適用於以自動化為目標的 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體。
- 如果您在執行自動化之前在 LogDestination 欄位中提供 S3 儲存貯體名稱,則執行個體設定檔可以寫入儲存貯體。
- 若要執行自動化並將命令傳送至執行個體,您必須至少具有 ssm:ExecuteAutomation 和 ssm:SendCommand 權限。
- 若要讀取自動化輸出,您必須具有 ssm:GetAutomationExecution 權限。
- 如為 Amazon Linux 2,IMDS 端點預設支援 IMDSv2 和 IMDSv1。如果您選擇設定 IMDSv2,則另一個版本就無法再運作。由於 AWSSupport-CollectEKSInstanceLogs 使用 IMDSv1,您可能會在上傳收集的日誌時,注意到步驟處於待處理狀態。
相關資訊
設定系統管理員的執行個體權限
GitHub 網站上的 EKS 日誌收集器