diff --git a/pkg/apis/eksctl.io/v1alpha5/assets/schema.json b/pkg/apis/eksctl.io/v1alpha5/assets/schema.json index d74d622ca5..9ac5d65b13 100755 --- a/pkg/apis/eksctl.io/v1alpha5/assets/schema.json +++ b/pkg/apis/eksctl.io/v1alpha5/assets/schema.json @@ -769,9 +769,9 @@ }, "version": { "type": "string", - "description": "Valid variants are: `\"1.23\"`, `\"1.24\"`, `\"1.25\"`, `\"1.26\"`, `\"1.27\"`, `\"1.28\"`, `\"1.29\"` (default), `\"1.30\"` represents Kubernetes version 1.30.x..", - "x-intellij-html-description": "Valid variants are: "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 @@
-
-
-

{{ config.site_description }}.

-

eksctl is a simple CLI tool for creating and managing clusters on EKS - Amazon's managed Kubernetes service for EC2.

- Get started +
+

{{ config.site_description }}.

+

eksctl is a simple CLI tool for creating and managing clusters on EKS - Amazon's managed Kubernetes service for EC2.

+ Get started Learn more
@@ -501,35 +501,35 @@

{{ config.site_description }}.

-
-
-
-
+
+
+
+

Create a basic cluster in minutes with just one command. -

-
-
-
+ +
+
+
Getting started
-

eksctl create cluster

-

A cluster will be created with default parameters:

-
    -
  • exciting auto-generated name, e.g., fabulous-mushroom-1527688624
  • -
  • two m5.large worker nodes (this instance type suits most common use-cases, and is good value for money)
  • -
  • use the official AWS EKS AMI
  • -
  • us-west-2 region
  • -
  • a dedicated VPC (check your quotas)
  • -
-

- - {% include ".icons/octicons/arrow-right-16.svg" %} - Learn more -

-
+

eksctl create cluster

+

A cluster will be created with default parameters:

+
    +
  • exciting auto-generated name, e.g., fabulous-mushroom-1527688624
  • +
  • two m5.large worker nodes (this instance type suits most common use-cases, and is good value for money)
  • +
  • use the official AWS EKS AMI
  • +
  • us-west-2 region
  • +
  • a dedicated VPC (check your quotas)
  • +
+

+ + {% include ".icons/octicons/arrow-right-16.svg" %} + Learn more +

+
-
+
Usage Outposts

Check out latest eksctl features

@@ -537,21 +537,21 @@

Check out latest eksctl features

Support for AMIs based on AmazonLinux2023

Configuring cluster access management via AWS EKS Access Entries.

Configuring fine-grained permissions to EKS running apps via EKS Pod Identity Associations.

-

Creating fully private clusters on AWS Outposts.

-

Supported Regions - - Calgary - (ca-west-1), - US ISO and ISOB - (us-iso-east-1 and us-isob-east-1), - Tel Aviv (il-central-1), - Melbourne (ap-southeast-4), - Hyderabad (ap-south-2), - Spain (eu-south-2), +

Creating fully private clusters on AWS Outposts.

+

Supported Regions - + Calgary - (ca-west-1), + US ISO and ISOB - (us-iso-east-1 and us-isob-east-1), + Tel Aviv (il-central-1), + Melbourne (ap-southeast-4), + Hyderabad (ap-south-2), + Spain (eu-south-2), Zurich (eu-central-2)

-

EKS supported versions 1.25, 1.26, 1.27, 1.28 and 1.29 (default).

-

- - {% include ".icons/octicons/arrow-right-16.svg" %} - Learn more +

EKS supported versions 1.25, 1.26, 1.27, 1.28, 1.29 and 1.30 (default).

+

+ + {% include ".icons/octicons/arrow-right-16.svg" %} + Learn more

@@ -562,65 +562,65 @@

Check out latest eksctl features

-
+
-
-

Community +
+

Community - {% include ".icons/octicons/heart-fill-24.svg" %} + {% include ".icons/octicons/heart-fill-24.svg" %} -

-
-
-
    -
  • -
    - - {% include ".icons/fontawesome/brands/github.svg" %} +

+
+
+
    +
  • +
    + + {% include ".icons/fontawesome/brands/github.svg" %} -
    -
    -

    Github

    -

    Create an issue to Propose a feature request, Suggest an improvement, Report a Bug or Open a Help ticket on Github.

    -
    -
  • +
+
+

Github

+

Create an issue to Propose a feature request, Suggest an improvement, Report a Bug or Open a Help ticket on Github.

+
+
  • - {% include ".icons/fontawesome/brands/slack.svg" %} + {% include ".icons/fontawesome/brands/slack.svg" %} -
    -
    -

    Slack

    +
    +
    +

    Slack

    Have a question or need help? Ask a question on our Slack channel and get in touch with our community by joining Kubernetes Slack.

  • - {% include ".icons/octicons/git-pull-request-16.svg" %} + {% include ".icons/octicons/git-pull-request-16.svg" %} -
    -
    -

    Contributing

    +
    +
    +

    Contributing

    Read more about Contributing to eksctl repository here.

  • - - {% include ".icons/octicons/people-16.svg" %} + + {% include ".icons/octicons/people-16.svg" %} -
    -
    -

    Code of Conduct

    +
    +
    +

    Code of Conduct

    Find out more about eksctl Community and Code of Conduct here.

  • -
    +

    Eksctl Maintainers

    @@ -634,17 +634,17 @@

    Eksctl Maintainers

    Thank you eksctl contributors all your contributions.{% include ".icons/octicons/star-16.svg" %}

    -
    +
    -
    +