"1.23"
, "1.24"
, "1.25"
, "1.26"
, "1.27"
, "1.28"
, "1.29"
(default), "1.30"
represents Kubernetes version 1.30.x..",
- "default": "1.29",
+ "description": "Valid variants are: `\"1.23\"`, `\"1.24\"`, `\"1.25\"`, `\"1.26\"`, `\"1.27\"`, `\"1.28\"`, `\"1.29\"`, `\"1.30\"` (default).",
+ "x-intellij-html-description": "Valid variants are: "1.23"
, "1.24"
, "1.25"
, "1.26"
, "1.27"
, "1.28"
, "1.29"
, "1.30"
(default).",
+ "default": "1.30",
"enum": [
"1.23",
"1.24",
diff --git a/pkg/apis/eksctl.io/v1alpha5/defaults.go b/pkg/apis/eksctl.io/v1alpha5/defaults.go
index 199cab52b3..169ae9fd28 100644
--- a/pkg/apis/eksctl.io/v1alpha5/defaults.go
+++ b/pkg/apis/eksctl.io/v1alpha5/defaults.go
@@ -10,6 +10,7 @@ import (
ekstypes "github.com/aws/aws-sdk-go-v2/service/eks/types"
"github.com/weaveworks/eksctl/pkg/utils"
+ instanceutils "github.com/weaveworks/eksctl/pkg/utils/instance"
)
const (
@@ -134,7 +135,8 @@ func SetManagedNodeGroupDefaults(ng *ManagedNodeGroup, meta *ClusterMeta, contro
// When using custom AMIs, we want the user to explicitly specify AMI family.
// Thus, we only set up default AMI family when no custom AMI is being used.
if ng.AMIFamily == "" && ng.AMI == "" {
- if isMinVer, _ := utils.IsMinVersion(Version1_30, meta.Version); isMinVer {
+ if isMinVer, _ := utils.IsMinVersion(Version1_30, meta.Version); isMinVer && !instanceutils.IsGPUInstanceType(ng.InstanceType) &&
+ !instanceutils.IsARMGPUInstanceType(ng.InstanceType) {
ng.AMIFamily = NodeImageFamilyAmazonLinux2023
} else {
ng.AMIFamily = NodeImageFamilyAmazonLinux2
diff --git a/pkg/apis/eksctl.io/v1alpha5/types.go b/pkg/apis/eksctl.io/v1alpha5/types.go
index fb42d53d50..ef3e1ec7d8 100644
--- a/pkg/apis/eksctl.io/v1alpha5/types.go
+++ b/pkg/apis/eksctl.io/v1alpha5/types.go
@@ -43,11 +43,10 @@ const (
Version1_29 = "1.29"
- // Version1_30 represents Kubernetes version 1.30.x.
Version1_30 = "1.30"
// DefaultVersion (default)
- DefaultVersion = Version1_29
+ DefaultVersion = Version1_30
LatestVersion = Version1_30
diff --git a/pkg/cfn/builder/managed_nodegroup_ami_type_test.go b/pkg/cfn/builder/managed_nodegroup_ami_type_test.go
index 4c4beec2dc..2f3772b1e5 100644
--- a/pkg/cfn/builder/managed_nodegroup_ami_type_test.go
+++ b/pkg/cfn/builder/managed_nodegroup_ami_type_test.go
@@ -64,7 +64,7 @@ var _ = DescribeTable("Managed Nodegroup AMI type", func(e amiTypeEntry) {
Name: "test",
},
},
- expectedAMIType: "AL2_x86_64",
+ expectedAMIType: "AL2023_x86_64_STANDARD",
}),
Entry("AL2 AMI type", amiTypeEntry{
@@ -83,7 +83,7 @@ var _ = DescribeTable("Managed Nodegroup AMI type", func(e amiTypeEntry) {
Name: "test",
},
},
- expectedAMIType: "AL2_x86_64",
+ expectedAMIType: "AL2023_x86_64_STANDARD",
}),
Entry("default GPU instance type", amiTypeEntry{
diff --git a/pkg/cfn/builder/testdata/launch_template/launch_template.json b/pkg/cfn/builder/testdata/launch_template/launch_template.json
index d412e11724..6f06a9209b 100644
--- a/pkg/cfn/builder/testdata/launch_template/launch_template.json
+++ b/pkg/cfn/builder/testdata/launch_template/launch_template.json
@@ -2,7 +2,7 @@
"ManagedNodeGroup": {
"Type": "AWS::EKS::Nodegroup",
"Properties": {
- "AmiType": "AL2_x86_64",
+ "AmiType": "AL2023_x86_64_STANDARD",
"ClusterName": "lt",
"Labels": {
"alpha.eksctl.io/cluster-name": "lt",
diff --git a/pkg/cfn/builder/testdata/launch_template/launch_template_additional_volumes.json b/pkg/cfn/builder/testdata/launch_template/launch_template_additional_volumes.json
index 1699a3af4d..57eb6c9a91 100644
--- a/pkg/cfn/builder/testdata/launch_template/launch_template_additional_volumes.json
+++ b/pkg/cfn/builder/testdata/launch_template/launch_template_additional_volumes.json
@@ -96,7 +96,7 @@
"ManagedNodeGroup": {
"Type": "AWS::EKS::Nodegroup",
"Properties": {
- "AmiType": "AL2_x86_64",
+ "AmiType": "AL2023_x86_64_STANDARD",
"ClusterName": "lt",
"InstanceTypes": [
"m5.large"
diff --git a/pkg/cfn/builder/testdata/launch_template/launch_template_additional_volumes_missing_size.json b/pkg/cfn/builder/testdata/launch_template/launch_template_additional_volumes_missing_size.json
index 7551dbbb91..fcfde123a7 100644
--- a/pkg/cfn/builder/testdata/launch_template/launch_template_additional_volumes_missing_size.json
+++ b/pkg/cfn/builder/testdata/launch_template/launch_template_additional_volumes_missing_size.json
@@ -95,7 +95,7 @@
"ManagedNodeGroup": {
"Type": "AWS::EKS::Nodegroup",
"Properties": {
- "AmiType": "AL2_x86_64",
+ "AmiType": "AL2023_x86_64_STANDARD",
"ClusterName": "lt",
"InstanceTypes": [
"m5.large"
diff --git a/pkg/cfn/builder/testdata/launch_template/placement.json b/pkg/cfn/builder/testdata/launch_template/placement.json
index 7f89e49d13..93094cb1b9 100644
--- a/pkg/cfn/builder/testdata/launch_template/placement.json
+++ b/pkg/cfn/builder/testdata/launch_template/placement.json
@@ -88,7 +88,7 @@
"ManagedNodeGroup": {
"Type": "AWS::EKS::Nodegroup",
"Properties": {
- "AmiType": "AL2_x86_64",
+ "AmiType": "AL2023_x86_64_STANDARD",
"ClusterName": "lt",
"Labels": {
"alpha.eksctl.io/cluster-name": "lt",
diff --git a/pkg/cfn/builder/testdata/launch_template/spot.json b/pkg/cfn/builder/testdata/launch_template/spot.json
index 604363fe12..0d758a92bd 100644
--- a/pkg/cfn/builder/testdata/launch_template/spot.json
+++ b/pkg/cfn/builder/testdata/launch_template/spot.json
@@ -85,7 +85,7 @@
"ManagedNodeGroup": {
"Type": "AWS::EKS::Nodegroup",
"Properties": {
- "AmiType": "AL2_x86_64",
+ "AmiType": "AL2023_x86_64_STANDARD",
"ClusterName": "lt",
"CapacityType": "SPOT",
"Labels": {
diff --git a/pkg/cfn/builder/testdata/launch_template/ssh_disabled.json b/pkg/cfn/builder/testdata/launch_template/ssh_disabled.json
index 61296969ad..204c36d7f1 100644
--- a/pkg/cfn/builder/testdata/launch_template/ssh_disabled.json
+++ b/pkg/cfn/builder/testdata/launch_template/ssh_disabled.json
@@ -87,7 +87,7 @@
"ManagedNodeGroup": {
"Type": "AWS::EKS::Nodegroup",
"Properties": {
- "AmiType": "AL2_x86_64",
+ "AmiType": "AL2023_x86_64_STANDARD",
"ClusterName": "lt",
"Labels": {
"alpha.eksctl.io/cluster-name": "lt",
diff --git a/pkg/cfn/builder/testdata/launch_template/ssh_enabled.json b/pkg/cfn/builder/testdata/launch_template/ssh_enabled.json
index 3a89b1c022..df8a73cff9 100644
--- a/pkg/cfn/builder/testdata/launch_template/ssh_enabled.json
+++ b/pkg/cfn/builder/testdata/launch_template/ssh_enabled.json
@@ -90,7 +90,7 @@
"ManagedNodeGroup": {
"Type": "AWS::EKS::Nodegroup",
"Properties": {
- "AmiType": "AL2_x86_64",
+ "AmiType": "AL2023_x86_64_STANDARD",
"ClusterName": "lt",
"Labels": {
"alpha.eksctl.io/cluster-name": "lt",
diff --git a/pkg/cfn/builder/testdata/launch_template/standard.json b/pkg/cfn/builder/testdata/launch_template/standard.json
index eeeb044596..8e94595f86 100644
--- a/pkg/cfn/builder/testdata/launch_template/standard.json
+++ b/pkg/cfn/builder/testdata/launch_template/standard.json
@@ -85,7 +85,7 @@
"ManagedNodeGroup": {
"Type": "AWS::EKS::Nodegroup",
"Properties": {
- "AmiType": "AL2_x86_64",
+ "AmiType": "AL2023_x86_64_STANDARD",
"ClusterName": "lt",
"Labels": {
"alpha.eksctl.io/cluster-name": "lt",
diff --git a/pkg/ctl/cmdutils/filter/nodegroup_filter_test.go b/pkg/ctl/cmdutils/filter/nodegroup_filter_test.go
index 380c7afa84..bb293713aa 100644
--- a/pkg/ctl/cmdutils/filter/nodegroup_filter_test.go
+++ b/pkg/ctl/cmdutils/filter/nodegroup_filter_test.go
@@ -346,7 +346,7 @@ const expected = `
"metadata": {
"name": "test-3x3-ngs",
"region": "eu-central-1",
- "version": "1.29"
+ "version": "1.30"
},
"kubernetesNetworkConfig": {
"ipFamily": "IPv4"
diff --git a/userdocs/src/getting-started.md b/userdocs/src/getting-started.md
index ef8f1c8df5..a41463088d 100644
--- a/userdocs/src/getting-started.md
+++ b/userdocs/src/getting-started.md
@@ -2,7 +2,7 @@
!!! tip "New for 2024"
EKS Add-ons now support receiving IAM permissions via [EKS Pod Identity Associations](/usage/pod-identity-associations/#eks-add-ons-support-for-pod-identity-associations)
-
+
`eksctl` now supports AMIs based on AmazonLinux2023
!!! tip "eksctl main features in 2023"
@@ -122,7 +122,7 @@ eksctl create cluster --name=cluster-1 --nodes=4
### Supported versions
-EKS supports versions `1.23` (extended), `1.24` (extended), `1.25`, `1.26`, `1.27`, `1.28`, **`1.29`** (default) and `1.30`.
+EKS supports versions `1.23` (extended), `1.24` (extended), `1.25`, `1.26`, `1.27`, `1.28`, `1.29` and **`1.30`** (default).
With `eksctl` you can deploy any of the supported versions by passing `--version`.
```sh
diff --git a/userdocs/theme/home.html b/userdocs/theme/home.html
index 9889279828..d8955c760b 100644
--- a/userdocs/theme/home.html
+++ b/userdocs/theme/home.html
@@ -484,16 +484,16 @@