Direkt zum Inhalt

Wie verwende ich AWS Systems Manager Automation, um Sicherheits-Patches für meine Amazon-EKS-Worker-Knoten-AMIs zu aktualisieren und anzuwenden?

Lesedauer: 4 Minute
0

Ich möchte AWS Systems Manager Automation verwenden, um Sicherheits-Patches für Amazon Machine Images (AMIs) von Amazon Elastic Kubernetes Service (Amazon EKS)-Worker-Knoten anzuwenden.

Lösung

Verwende Runbooks von AWS Systems Manager Automation, um Sicherheitspatches auf Amazon-EKS-Worker-Knoten anzuwenden. Verwende Runbooks, um neue Versionen anzuwenden und Sicherheitspatches und Versionsupgrades für verwaltete Knotengruppen oder selbstverwaltete Knoten zu automatisieren.

Verwendung von AWS Systems Manager Automation für verwaltete Knotengruppen

Gehe wie folgt vor, um das AWS-UpdateEKSManagedNodeGroup-Runbook auszuführen:

  1. Öffne die AWS-Managementkonsole.
  2. Wähle die AWS-Region aus, in der sich dein Amazon-EKS-Cluster befindet.
  3. Öffne die AWS-Systems-Manager-Konsole.
  4. Wähle im Navigationsbereich Automatisierung aus.
  5. Wähle Runbook ausführen.
  6. Gib im Suchfeld Automatisierungs-Runbook AWS-UpdateEKSManagedNodeGroup ein und wähle dann das AWS-UpdateEKSManagedNodeGroup-Runbook aus.
    Hinweis: Die Registerkarte „Einzelheiten zum Runbook“ wird in einem neuen Browserfenster geöffnet.
  7. Wähle Automatisierung ausführen aus.
    Hinweis: Die Registerkarte „Automatisierungs-Runbook ausführen“ wird in einem neuen Browserfenster geöffnet.
  8. Gib unter Eingabeparameter die folgenden Parameter ein:
    Gib für ClusterName den Namen deines Amazon-EKS-Clusters ein, der die Knotengruppe enthält.
    Gib für NodeGroupName den Namen der Knotengruppe ein, die du aktualisieren möchtest.
    Wähle für UpdateType die Option Knotengruppenversion aktualisieren aus.
    Wähle für ForceUpdate Wahr aus, wenn die Pods der vorhandenen Knotengruppe aufgrund eines Budgetproblems bei einer Pod-Unterbrechung nicht entleert werden können. Anderenfalls wähle Falsch.
    (Optional) Gib für AutomationAssumeRole den Amazon Resource Name (ARN) der AWS Identity and Access Management (IAM)-Rolle ein, damit Systems Manager Automation Aktionen in deinem Namen ausführt. Wenn du keine Rolle angibst, verwendet Systems Manager Automation die Berechtigungen des Benutzers, der das Runbook startet.
  9. Wenn du die Knotengruppe nicht aus einer Startvorlage erstellt hast, gib die folgenden Parameter an:
    (Optional) Gib für KubernetesVersion die Kubernetes-Version ein, auf welche die Knotengruppe aktualisiert werden soll. Gib beispielsweise 1.30 ein.
    (Optional) Gib für AMIReleaseVersion die Version des Amazon-EKS-optimierten AMI ein, das du verwenden möchtest. Gib beispielsweise 1.30.2-20240828 ein. Das System verwendet standardmäßig die neueste Version.
  10. Wenn du die Knotengruppe aus einer Startvorlage erstellt hast, kannst du die folgenden Parameter angeben:
    (Optional) Gib für LaunchTemplateId die ID der Startvorlage ein.
    (Optional) Gib für LaunchTemplateName den Namen der Startvorlage ein.
  11. Wähle Ausführen aus.

AWS Systems Manager Automation bei selbstverwalteten Knotengruppen verwenden

Wichtig: Wenn der Cluster Auto Scaling verwendet, musst du die cluster-autoscaler-Bereitstellung auf zwei Replikate herunterskalieren, bevor du das Runbook ausführst. Führe den folgenden Befehl aus, um die cluster-autoscaler-Bereitstellung herunterzuskalieren:

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

Gehe wie folgt vor, um das AWS-UpdateEKSSelfManagedLinuxNodeGroups-Runbook auszuführen:

  1. Öffne die AWS-Managementkonsole.
  2. Wähle die AWS-Region aus, in der sich dein Amazon-EKS-Cluster befindet.
  3. Öffne die AWS-Systems-Manager-Konsole.
  4. Wähle im Navigationsbereich Automatisierung aus.
  5. Wähle Runbook ausführen.
  6. Gib im Suchfeld Automatisierungs-Runbook AWS-UpdateEKSSelfManagedLinuxNodeGroups ein und wähle dann das AWS-UpdateEKSSelfManagedLinuxNodeGroups-Runbook aus.
    Hinweis: Die Registerkarte „Einzelheiten zum Runbook“ wird in einem neuen Browserfenster geöffnet.
  7. Wähle Automatisierung ausführen aus.
    Hinweis: Die Registerkarte „Automatisierungs-Runbook ausführen“ wird in einem neuen Browserfenster geöffnet.
  8. Gib unter Eingabeparameter die folgenden Parameter ein:
    (Optional) Gib für AutomationAssumeRole den ARN der IAM-Rolle ein, damit Systems Manager Automation Aktionen in deinem Namen ausführt. Wenn du keine Rolle angibst, verwendet Systems Manager Automation die Berechtigungen des Benutzers, der das Runbook startet.
    Gib für StackName den Namen des AWS-CloudFormation-Stacks für den selbstverwalteten Knoten ein.
    Gib für NodeAutoScalingGroupDesiredCapacity die Anzahl der Knoten ein, die die Knotengruppe verwaltet.
    Gib für NodeAutoScalingGroupMaxSize die maximale Anzahl von Knoten für die Auto-Scaling-Gruppe des Knotens ein.
    Gib für NodeInstanceType den Instance-Typ ein, der für die Knotengruppe verwendet werden soll.
    Gib für NodeImageIdSSMParam den Parameterspeicherpfad für das Knotengruppen-AMI ein.
    (Optional) Gib für NodeImageId die AMI-ID für die Knotengruppe ein, um jeden für NodeImageIdSSMParam angegebenen Wert zu überschreiben.
    Wähle für DisableIMDSv1 aus, ob IMDSv1 deaktiviert werden soll.
    Gib für WaitForStackUpdateProgress die Dauer in Sekunden ein, die die Automatisierung abwartet, um Zeit für den Start von Updates des Vorlagen-Stacks und für den Beginn fortlaufender Updates bereitzustellen, bevor der Stack-Status bewertet wird.
  9. Wähle Ausführen aus.
  10. Führe nach Abschluss des Updates den folgenden Befehl aus, um die cluster-autoscaler-Bereitstellung wieder auf die gewünschte Anzahl von Replikaten zu skalieren:
kubectl scale deployments/cluster-autoscaler --replicas=number -n kube-system

Hinweis: Ersetze number durch die Anzahl der Replikate, die du verwenden möchtest.

Ähnliche Informationen

Eine verwaltete Knotengruppe für den Cluster aktualisieren

Selbstverwaltete Knoten für den Cluster aktualisieren

Eigene Runbooks erstellen

AWS OFFICIALAktualisiert vor 4 Monaten