Skip to content

Commit

Permalink
nodeclass doc updates
Browse files Browse the repository at this point in the history
  • Loading branch information
jmdeal committed May 2, 2024
1 parent 151e853 commit 6df822e
Showing 1 changed file with 12 additions and 4 deletions.
16 changes: 12 additions & 4 deletions website/content/en/preview/concepts/nodeclasses.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ kind: EC2NodeClass
metadata:
name: default
spec:
# Required, configures the bootstrapping mode
# Required, configures the bootstrapping mode (UserData formatting, default BlockDeviceMappings)
amiFamily: AL2023

# Required, discovers subnets to attach to instances
Expand Down Expand Up @@ -79,8 +79,9 @@ spec:
- name: my-ami
- id: ami-123

# Automatically select the latest EKS optimzed AMI for the given AMI family.
# Note: This term is mutually exclusive and may not be specified with other AMI selector terms
# Automatically select the latest EKS optimzed AMI for the given AMI family. This will result in AMIs being
# being automatically upgraded which may impact cluster stability.
# Note: This term is mutually exclusive and may not be specified with other AMI selector terms.
# - eksOptimized:
# family: AL2023

Expand Down Expand Up @@ -169,7 +170,7 @@ Refer to the [NodePool docs]({{<ref "./nodepools" >}}) for settings applicable t

## spec.amiFamily

AMIFamily is a required field that dictates the bootstrapping logic for nodes provisioned through this `EC2NodeClass`. Currently, Karpenter supports `amiFamily` values `AL2`, `AL2023`, `Bottlerocket`, `Ubuntu`, `Windows2019`, `Windows2022` and `Custom`. Default generated UserData for each of the supported AMI families is shown below.
AMIFamily is a required field that dictates the bootstrapping logic for nodes provisioned through this `EC2NodeClass`. Bootstrapping logic includes the format of generated UserData and default BlockDeviceMappings. Currently, Karpenter supports `amiFamily` values `AL2`, `AL2023`, `Bottlerocket`, `Ubuntu`, `Windows2019`, `Windows2022` and `Custom`. Default generated UserData for each of the supported AMI families is shown below.

### AL2

Expand Down Expand Up @@ -462,6 +463,13 @@ If owner is not set for `name`, it defaults to `self,amazon`, preventing Karpent
AMIs may be specified by any AWS tag, including `Name`. Selecting by tag or by name using wildcards (`*`) is supported.
{{% /alert %}}

{{% alert title="Note" color="primary" %}}
If a new AMI is released that matches your `amiSelectorTerms`, that new AMI will be used when launching new nodes.
Additionally, if you have drift enabled, nodes with the original AMI will be drifted and replaced with nodes with the updated AMI.
This has the benefit of ensuring your nodes are always running the latest AMIs with the latest security patches, but may also result in application stability.
Please refer to the [managing AMIs task]({{< relref "../tasks/managing-amis.md" >}}) for Karpenter's recommended best practices.
{{% /alert %}}

{{% alert title="Note" color="primary" %}}
The `eksOptimized` term is mutually exclusive. When an `eksOptimized` term is specified, other requirements may not be added to the term and no other terms may be specified. The following examples would be invalid:

Expand Down

0 comments on commit 6df822e

Please sign in to comment.