Skip to content

Commit d2ea280

Browse files
authored
feat(eks): support for Kubernetes version 1.30 (#30454)
### Issue # (if applicable) - Similar to #29040, this PR adds 1.30 support. - Update all existing integ tests for `V1_29` and make sure they deploy with `V1_30`. DependOn: - [x] cdklabs/awscdk-asset-kubectl#838 - [x] cdklabs/awscdk-asset-kubectl#860 Closes #30443 ### Reason for this change ### Description of changes ### Description of how you validated changes ```ts export class EksClusterLatestVersion extends Stack { constructor(scope: Construct, id: string, props: StackProps) { super(scope, id, props); const vpc = new ec2.Vpc(this, 'Vpc', { natGateways: 1 }); const mastersRole = new iam.Role(this, 'Role', { assumedBy: new iam.AccountRootPrincipal(), }); // create eks.Cluster of the latest k8s version new eks.Cluster(this, 'Cluster', { vpc, mastersRole, version: eks.KubernetesVersion.V1_30, kubectlLayer: new KubectlV30Layer(this, 'KubectlLayer'), defaultCapacity: 1, }); } } ``` $ kubectl get no NAME STATUS ROLES AGE VERSION ip-172-31-3-166.ec2.internal Ready <none> 5m38s v1.30.0-eks-036c24b ### Checklist - [x] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md) ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
1 parent 0fa3b1e commit d2ea280

44 files changed

Lines changed: 1785 additions & 1760 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

packages/@aws-cdk-testing/framework-integ/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
"@aws-cdk/integ-tests-alpha": "0.0.0",
4242
"@aws-cdk/lambda-layer-kubectl-v24": "^2.0.242",
4343
"@aws-cdk/lambda-layer-kubectl-v29": "^2.0.0",
44+
"@aws-cdk/lambda-layer-kubectl-v30": "^2.0.0",
4445
"aws-cdk-lib": "0.0.0",
4546
"aws-sdk": "^2.1610.0",
4647
"aws-sdk-mock": "5.6.0",

packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ-tests-kubernetes-version.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,18 @@
11
import * as lambda from 'aws-cdk-lib/aws-lambda';
22
import { KubectlV24Layer } from '@aws-cdk/lambda-layer-kubectl-v24';
33
import { KubectlV29Layer } from '@aws-cdk/lambda-layer-kubectl-v29';
4+
import { KubectlV30Layer } from '@aws-cdk/lambda-layer-kubectl-v30';
45
import { Construct } from 'constructs';
56
import * as eks from 'aws-cdk-lib/aws-eks';
67

7-
const versionMap: { [key: string]: any } = {
8-
1.24: KubectlV24Layer,
9-
1.29: KubectlV29Layer,
8+
// This object maps Kubernetes version strings to their corresponding
9+
// KubectlLayerVersion constructor functions. This allows us to dynamically
10+
// create the appropriate KubectlLayerVersion instance based on the
11+
// Kubernetes version.
12+
const versionMap: { [key: string]: new (scope: Construct, id: string) => lambda.ILayerVersion } = {
13+
'1.24': KubectlV24Layer,
14+
'1.29': KubectlV29Layer,
15+
'1.30': KubectlV30Layer,
1016
};
1117

1218
export function getClusterVersionConfig(scope: Construct, version?: eks.KubernetesVersion) {

packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-al2023-nodegroup.js.snapshot/asset.9202bb21d52e07810fc1da0f6acf2dcb75a40a43a9a2efbcfc9ae39535c6260c.zip renamed to packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-al2023-nodegroup.js.snapshot/asset.22de69e75b55e15d4d49905d8a4901edd66d1367f617c2a01ac6e86ca2b7eb84.zip

1.5 MB
Binary file not shown.

packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-tags.js.snapshot/asset.50e6a6d5235d43d18ee2c14240b7030d65fbbaceccb0547fcb880284cd4970f3/index.js renamed to packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-al2023-nodegroup.js.snapshot/asset.98b432f1b1df9de4026df7e718c23783d833d67973da5291085b4dc7be1a568a/index.js

Lines changed: 30 additions & 30 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-al2023-nodegroup.js.snapshot/asset.1471fa6f2876749a13de79989efc6651c9768d3173ef5904947e87504f8d7069/apply/__init__.py renamed to packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-al2023-nodegroup.js.snapshot/asset.abc70c90ded969d12235ca11768293cb20557cff54518518480c0d9fb344a098/apply/__init__.py

File renamed without changes.

packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-al2023-nodegroup.js.snapshot/asset.1471fa6f2876749a13de79989efc6651c9768d3173ef5904947e87504f8d7069/get/__init__.py renamed to packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-al2023-nodegroup.js.snapshot/asset.abc70c90ded969d12235ca11768293cb20557cff54518518480c0d9fb344a098/get/__init__.py

File renamed without changes.

packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-al2023-nodegroup.js.snapshot/asset.1471fa6f2876749a13de79989efc6651c9768d3173ef5904947e87504f8d7069/helm/__init__.py renamed to packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-al2023-nodegroup.js.snapshot/asset.abc70c90ded969d12235ca11768293cb20557cff54518518480c0d9fb344a098/helm/__init__.py

Lines changed: 6 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-al2023-nodegroup.js.snapshot/asset.1471fa6f2876749a13de79989efc6651c9768d3173ef5904947e87504f8d7069/index.py renamed to packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-al2023-nodegroup.js.snapshot/asset.abc70c90ded969d12235ca11768293cb20557cff54518518480c0d9fb344a098/index.py

File renamed without changes.

packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-al2023-nodegroup.js.snapshot/asset.1471fa6f2876749a13de79989efc6651c9768d3173ef5904947e87504f8d7069/patch/__init__.py renamed to packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-al2023-nodegroup.js.snapshot/asset.abc70c90ded969d12235ca11768293cb20557cff54518518480c0d9fb344a098/patch/__init__.py

File renamed without changes.

packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-cluster-tags.js.snapshot/asset.b5925bba477fd1ac27c3a695a9f6ece293bd0ae6940bc65a5b99008ab54f60f7.zip renamed to packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-al2023-nodegroup.js.snapshot/asset.bfbdea4d45250c8162c204fe0687cb775e24d61c895ad89e4ca6e9a7fc90b0f0.zip

30.3 MB
Binary file not shown.

0 commit comments

Comments
 (0)