Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(eks-v1): EKS Auto Mode support #33532

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft

Conversation

Issacwww
Copy link

Issue # (if applicable)

Address #32364 in eks-v1

For EKS Auto Mode, all required configs, including computeConfig, kubernetesNetworkConfig, and blockStorage are managed through the defaultCapacityType enum. When set to DefaultCapacityType.AUTOMODE, these configurations are automatically enabled and the cluster will mange compute resources through node pools instead of creating default capacity or nodegroups. The Cluster construct in aws-eks disables EKS Auto Mode by default.

User experience

    new eks.Cluster(this, 'hello-eks-auto-mode', {
      vpc,
      version: eks.KubernetesVersion.V1_32,
      kubectlLayer: new KubectlV32Layer(this, 'kubectl'),
      defaultCapacityType: eks.DefaultCapacityType.AUTOMODE,
    });

Update Summary

  • EKS Auto Mode is an Opt-in for Cluster construct in V1. When enabled
    • Automatically manages compute resources through node pools
    • Enables elastic load balancing in Kubernetes networking
    • Enables block storage configuration
    • Will not create defaultCapacity as a NODEGROUP(major difference from aws-eks module)
  • Node pools are case-sensitive and must be "system" and/or "general-purpose"
  • Auto Mode can coexist with manually added node groups for mixed deployments
  • Required IAM policies are automatically attached
  • integration test
  • unit tests

Description of how you validated changes

  • Integration test validation still pending as one of the dependency of lambda support for latest EKS SDK is not in place yet. Below will be the validation command be used against the cluster once ready.
% kubectl create deployment nginx --image=nginx
% kubectl get events --sort-by='.lastTimestamp'

Checklist


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license

@github-actions github-actions bot added beginning-contributor [Pilot] contributed between 0-2 PRs to the CDK p2 labels Feb 20, 2025
@aws-cdk-automation aws-cdk-automation requested a review from a team February 20, 2025 21:34
Copy link
Collaborator

@aws-cdk-automation aws-cdk-automation left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The pull request linter fails with the following errors:

❌ Features must contain a change to an integration test file and the resulting snapshot.
❌ The first word of the pull request title should not be capitalized. If the title starts with a CDK construct, it should be in backticks "``".

If you believe this pull request should receive an exemption, please comment and provide a justification. A comment requesting an exemption should contain the text Exemption Request. Additionally, if clarification is needed, add Clarification Request to a comment.

Copy link

codecov bot commented Feb 21, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 82.17%. Comparing base (eab2918) to head (29b4910).

Additional details and impacted files
@@           Coverage Diff           @@
##             main   #33532   +/-   ##
=======================================
  Coverage   82.17%   82.17%           
=======================================
  Files         119      119           
  Lines        6862     6862           
  Branches     1158     1158           
=======================================
  Hits         5639     5639           
  Misses       1120     1120           
  Partials      103      103           
Flag Coverage Δ
suite.unit 82.17% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Components Coverage Δ
packages/aws-cdk ∅ <ø> (∅)
packages/aws-cdk-lib/core 82.17% <ø> (ø)

@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: AutoBuildv2Project1C6BFA3F-wQm2hXv2jqQv
  • Commit ID: 29b4910
  • Result: FAILED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
beginning-contributor [Pilot] contributed between 0-2 PRs to the CDK p2
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants