AWS-UpdateEKSManagedNodeGroup - AWS Systems Manager Automation runbook reference

AWS-UpdateEKSManagedNodeGroup

Description

The AWS-UpdateEKSManagedNodeGroup runbook helps you update an Amazon Elastic Kubernetes Service (Amazon EKS) managed node group. You can either choose a Version or Configuration update.

Run this Automation (console)

Document type

Automation

Owner

Amazon

Platforms

Linux, macOS, Windows

Parameters

  • AutomationAssumeRole

    Type: String

    Description: (Optional) The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that allows Systems Manager Automation to perform the actions on your behalf. If no role is specified, Systems Manager Automation uses the permissions of the user that starts this runbook.

  • ClusterName

    Type: String

    Description: (Required) The name of the cluster whose node group you want to update.

  • NodeGroupName

    Type: String

    Description: (Required) The name of the node group to update.

  • UpdateType

    Type: String

    Valid values: Update Node Group Version | Update Node Group Configurations

    Default: Update Node Group Version

    Description: (Required) The type of update that you want to perform on the node group.

The following parameters apply only to the Version update type:

  • AMIReleaseVersion

    Type: String

    Description: (Optional) The version of the Amazon EKS optimized AMI that you want to use. By default, the latest version is used.

  • ForceUpgrade

    Type: Boolean

    Description: (Optional) If true, the update won't fail in response to a pod disruption budget violation.

  • KubernetesVersion

    Type: String

    Description: (Optional) The Kubernetes version to update the node group to.

  • LaunchTemplateId

    Type: String

    Description: (Optional) The ID of the launch template.

  • LaunchTemplateName

    Type: String

    Description: (Optional) The name of the launch template.

  • LaunchTemplateVersion

    Type: String

    Description: (Optional) The Amazon Elastic Compute Cloud (Amazon EC2) launch template version. This parameter is only valid if a node group was created from a launch template.

The following parameters apply only to the Configuration update type:

  • AddOrUpdateNodeGroupLabels

    Type: StringMap

    Description: (Optional) Kubernetes labels that you want to add or update.

  • AddOrUpdateKubernetesTaintsEffect

    Type: StringList

    Description: (Optional) The Kubernetes taints that you want to add or update.

  • MaxUnavailableNodeGroups

    Type: Integer

    Default: 0

    Description: (Optional) The maximum number of nodes that are unavailable at once during a version update.

  • MaxUnavailablePercentageNodeGroup

    Type: Integer

    Default: 0

    Description: (Optional) The percentage of nodes that are unavailable during a version update.

  • NodeGroupDesiredSize

    Type: Integer

    Default: 0

    Description: (Optional) The number of nodes that the managed node group should maintain.

  • NodeGroupMaxSize

    Type: Integer

    Default: 0

    Description: (Optional) The maximum number of nodes that the managed node group can scale out to.

  • NodeGroupMinSize

    Type: Integer

    Default: 0

    Description: (Optional) The minimum number of nodes that the managed node group can scale in to.

  • RemoveKubernetesTaintsEffect

    Type: StringList

    Description: (Optional) The Kubernetes taints that you want to remove.

  • RemoveNodeGroupLabels

    Type: StringList

    Description: (Optional) A comma-separated list of labels that you want to remove.

Required IAM permissions

The AutomationAssumeRole parameter requires the following actions to use the runbook successfully.

  • eks:UpdateNodegroupConfig

  • eks:UpdateNodegroupVersion

Document Steps

  • aws:executeScript - Updates an Amazon EKS cluster node group according to the values that you specify for the runbook input parameters.

  • aws:waitForAwsResourceProperty - Waits for the cluster update status to be Successful.