跳至內容

如何使用 AWS Systems Manager Automation,更新並將安全修補程式套用至 Amazon EKS 工作節點 AMI?

2 分的閱讀內容
0

我想要使用 AWS Systems Manager Automation,將安全修補程式套用至 Amazon Elastic Kubernetes Service (Amazon EKS) 工作節點 Amazon Machine Images (AMI)。

解決方法

使用 AWS Systems Manager Automation 執行手冊,將安全性修補程式套用到您的 Amazon EKS 工作節點。使用執行手冊套用新版本,並為受管節點群組或自行管理節點自動執行安全性修補與版本升級。

將 AWS Systems Manager Automation 用於受管節點群組

若要執行 AWS-UpdateEKSManagedNodeGroup 執行手冊,請完成以下步驟:

  1. 開啟 AWS Management Console (AWS 管理主控台)。
  2. 選取 Amazon EKS 叢集所在的 AWS 區域。
  3. 開啟 AWS Systems Manager console (AWS Systems Manager 主控台)。
  4. 在導覽窗格中,選擇 Automation (自動化)。
  5. 選擇 Execute runbook (執行執行手冊)。
  6. Automation runbook (自動化執行手冊) 搜尋欄位中,輸入 AWS-UpdateEKSManagedNodeGroup,然後選擇 AWS-UpdateEKSManagedNodeGroup 執行手冊。
    **注意:**執行手冊詳細資訊索引標籤會在新的瀏覽器視窗中開啟。
  7. 選擇 Execute automation (執行自動化)。
    **注意:**執行自動化執行手冊索引標籤會在新的瀏覽器視窗中開啟。
  8. Input parameters (輸入參數) 下,輸入以下參數:
    ClusterName,輸入包含節點群組的 Amazon EKS 叢集名稱。
    NodeGroupName,輸入您要更新的節點群組名稱。
    UpdateType,選擇 Update Node Group Version (更新節點群組版本)。
    ForceUpdate,如果現有節點群組的 Pod 因為 Pod 中斷預算問題而無法清空,請選擇 True。否則,請選擇 False
    (選用) 在 AutomationAssumeRole,輸入 AWS Identity and Access Management (IAM) 角色的 Amazon Resource Name (ARN),讓 Systems Manager Automation 代表您執行動作。如果您未指定角色,Systems Manager Automation 會使用啟動執行手冊的使用者權限。
  9. 如果您不是從啟動範本建立節點群組,請指定以下參數:
    (選用) 在 KubernetesVersion,輸入要將節點群組更新到的 Kubernetes 版本。例如,輸入 1.30
    (選用) 在 AMIReleaseVersion,輸入您要使用的 Amazon EKS 最佳化 AMI 版本。例如,輸入 1.30.2-20240828。系統預設會使用最新版本。
  10. 如果您是從啟動範本建立節點群組,則可以指定以下參數:
    (選用) 在 LaunchTemplateId,輸入啟動範本的 ID。
    (選用) 在 LaunchTemplateName,輸入啟動範本的名稱。
  11. 選擇 Execute (執行)。

將 AWS Systems Manager Automation 用於自行管理節點群組

**重要:**如果您的叢集使用自動擴展,則您必須先將 cluster-autoscaler 部署縮減為兩個複本,然後再執行執行手冊。若要縮減 cluster-autoscaler 部署,請執行下列命令:

kubectl scale deployments/cluster-autoscaler --replicas=2 -n kube-system

若要執行 AWS-UpdateEKSSelfManagedLinuxNodeGroups 執行手冊,請完成以下步驟:

  1. 開啟 AWS Management Console (AWS 管理主控台)。
  2. 選取 Amazon EKS 叢集所在的 AWS 區域。
  3. 開啟 AWS Systems Manager console (AWS Systems Manager 主控台)。
  4. 在導覽窗格中,選擇 Automation (自動化)。
  5. 選擇 Execute runbook (執行執行手冊)。
  6. Automation runbook (自動化執行手冊) 搜尋欄位中,輸入 AWS-UpdateEKSSelfManagedLinuxNodeGroups,然後選擇 AWS-UpdateEKSSelfManagedLinuxNodeGroups 執行手冊。
    **注意:**執行手冊詳細資訊索引標籤會在新的瀏覽器視窗中開啟。
  7. 選擇 Execute automation (執行自動化)。
    **注意:**執行自動化執行手冊索引標籤會在新的瀏覽器視窗中開啟。
  8. Input parameters (輸入參數) 下,輸入以下參數:
    (選用) 在 AutomationAssumeRole,輸入 IAM 角色 ARN,讓 Systems Manager Automation 代表您執行動作。如果您未指定角色,Systems Manager Automation 會使用啟動執行手冊的使用者權限。
    StackName,輸入自行管理節點的 AWS CloudFormation 堆疊名稱。
    NodeAutoScalingGroupDesiredCapacity,輸入節點群組維持的節點數量。
    NodeAutoScalingGroupMaxSize,輸入節點 Auto Scaling 群組的節點數量上限。
    NodeInstanceType,輸入要供節點群組使用的執行個體類型。
    NodeImageIdSSMParam,輸入節點群組 AMI 的 Parameter Store 路徑。
    (選用) 在 NodeImageId,輸入節點群組的 AMI ID,以覆寫為 NodeImageIdSSMParam 指定的任何值。
    DisableIMDSv1,選取是否要關閉 IMDSv1。
    WaitForStackUpdateProgress,輸入秒數,表示自動化在評估堆疊狀態之前,等待啟動範本堆疊更新與輪流更新開始所需的時間。
  9. 選擇 Execute (執行)。
  10. 更新完成後,若要將 cluster-autoscaler 部署調整回所需的複本數量,請執行下列命令:
kubectl scale deployments/cluster-autoscaler --replicas=number -n kube-system

**注意:**將 number 替換為您要使用的複本數量。

相關資訊

更新叢集的受管節點群組

更新叢集的自行管理節點

建立您自己的執行手冊

AWS 官方已更新 4 個月前