如何為我的 Amazon EKS 執行個體產生日誌套件組合?

1 分的閱讀內容
0

我正在對 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 執行個體產生日誌套件組合,請完成下列步驟:

  1. 開啟 AWS Systems Manager 主控台
  2. 在導覽窗格中,選擇自動化
  3. 選擇執行自動化
  4. 由 Amazon 擁有索引標籤的自動化文件搜尋方塊中,輸入 EKSinstanceLogs。然後選取 AWSSupport-CollectEKSInstanceLogs
  5. 選擇下一步
  6. 自動化輸入頁面上,針對 EKSInstanceId 輸入您的目標 Amazon EKS 執行個體 ID。
  7. 設定 LogDestinationAutomationAssumeRole 參數。
    **注意:**日誌套件組合會上傳到 Amazon Simple Storage Service (Amazon S3) 儲存貯體,該儲存貯體在 LogDestination 欄位中指定。如果您未指定執行個體,則可以從執行個體擷取日誌套件組合。日誌套件組合會在本機儲存在 /var/log/ 路徑中。
  8. 選擇執行自動化

執行 AWSSupport-CollectEKSInstanceLogs 時,請採取下列最佳實務並遵守相關要求:

  • 最佳做法是將 Amazon 受管 AmazonSSMManagedInstanceCore 政策附加到相關的 AWS Identity and Access Management (IAM) 角色。此 IAM 角色適用於以自動化為目標的 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體。
  • 如果您在執行自動化之前在 LogDestination 欄位中提供 S3 儲存貯體名稱,則執行個體設定檔可以寫入儲存貯體。
  • 若要執行自動化並將命令傳送至執行個體,您必須至少具有 ssm:ExecuteAutomationssm:SendCommand 權限。
  • 若要讀取自動化輸出,您必須具有 ssm:GetAutomationExecution 權限。
  • 如為 Amazon Linux 2,IMDS 端點預設支援 IMDSv2 和 IMDSv1。如果您選擇設定 IMDSv2,則另一個版本就無法再運作。由於 AWSSupport-CollectEKSInstanceLogs 使用 IMDSv1,您可能會在上傳收集的日誌時,注意到步驟處於待處理狀態。

相關資訊

設定系統管理員的執行個體權限

GitHub 網站上的 EKS 日誌收集器