Skip to content

Commit fc09bc1

Browse files
authored
feat(eks): support eks with k8s 1.31 (#31707)
### Issue # (if applicable) Closes #31695 ### Reason for this change - Similar to #30454, this PR adds 1.31 support. - Update all existing integ tests for V1_30 and make sure they deploy with V1_31. ### Description of changes ### Description of how you validated changes ```ts import * as ec2 from 'aws-cdk-lib/aws-ec2'; import * as iam from 'aws-cdk-lib/aws-iam'; import { App, Stack, StackProps } from 'aws-cdk-lib'; import { KubectlV31Layer } from '@aws-cdk/lambda-layer-kubectl-v31'; import * as eks from 'aws-cdk-lib/aws-eks'; import { Construct } from 'constructs'; 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(), }); new eks.Cluster(this, 'Cluster', { vpc, mastersRole, version: eks.KubernetesVersion.V1_31, kubectlLayer: new KubectlV31Layer(this, 'KubectlLayer'), defaultCapacity: 1, }); } } const app = new App(); new EksClusterLatestVersion(app, 'v31-stack', { env: { account: process.env.CDK_DEFAULT_ACCOUNT, region: process.env.CDK_DEFAULT_REGION, }, }) ``` verify ```sh $ kubectl get no NAME STATUS ROLES AGE VERSION ip-10-0-183-173.ec2.internal Ready <none> 4m25s v1.31.0-eks-a737599 ``` ### 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 daaf0aa commit fc09bc1

File tree

31 files changed

+736
-693
lines changed

31 files changed

+736
-693
lines changed

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

+1
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
"@aws-cdk/lambda-layer-kubectl-v24": "^2.0.242",
4343
"@aws-cdk/lambda-layer-kubectl-v29": "^2.1.0",
4444
"@aws-cdk/lambda-layer-kubectl-v30": "^2.0.1",
45+
"@aws-cdk/lambda-layer-kubectl-v31": "^2.0.0",
4546
"aws-cdk-lib": "0.0.0",
4647
"cdk8s": "2.69.0",
4748
"cdk8s-plus-27": "2.9.5",

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

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ 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';
44
import { KubectlV30Layer } from '@aws-cdk/lambda-layer-kubectl-v30';
5+
import { KubectlV31Layer } from '@aws-cdk/lambda-layer-kubectl-v31';
56
import { Construct } from 'constructs';
67
import * as eks from 'aws-cdk-lib/aws-eks';
78

@@ -13,6 +14,7 @@ const versionMap: { [key: string]: new (scope: Construct, id: string) => lambda.
1314
'1.24': KubectlV24Layer,
1415
'1.29': KubectlV29Layer,
1516
'1.30': KubectlV30Layer,
17+
'1.31': KubectlV31Layer,
1618
};
1719

1820
export function getClusterVersionConfig(scope: Construct, version?: eks.KubernetesVersion) {
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.1eaf141d4012ab0977a33bdf864ebbc6aa869a607e97fab6cd231fe6ef503aec/index.js

-55
This file was deleted.

packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-al2023-nodegroup.js.snapshot/asset.46fb886516825167db3571f1ed91110fc6163ce20ee26fdb097c2c983f25fcd6/framework.js

-184
This file was deleted.

packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-al2023-nodegroup.js.snapshot/asset.9f065b22983c18e9b152e9fcfadacd16e29faaee10e05efe72c920ee3de01d63/index.js

+57
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.d320874294f5d626406d5f86087c2a2c8e6efc0aab690c5105572555dc445fd4/framework.js

+185
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/aws-cdk-eks-cluster-al2023-nodegroup-test.assets.json

+22-22
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/aws-cdk-eks-cluster-al2023-nodegroup-test.template.json

+5-5
Original file line numberDiff line numberDiff line change
@@ -434,9 +434,9 @@
434434
"S3Bucket": {
435435
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
436436
},
437-
"S3Key": "bfbdea4d45250c8162c204fe0687cb775e24d61c895ad89e4ca6e9a7fc90b0f0.zip"
437+
"S3Key": "f3c812b299b0759c937b41e39d3451f5cc61279c2ec9ee791fac08ba1e56508b.zip"
438438
},
439-
"Description": "/opt/kubectl/kubectl 1.30; /opt/helm/helm 3.15",
439+
"Description": "/opt/kubectl/kubectl 1.31.0; /opt/helm/helm 3.16.1",
440440
"LicenseInfo": "Apache-2.0"
441441
}
442442
},
@@ -755,7 +755,7 @@
755755
]
756756
},
757757
"Config": {
758-
"version": "1.30",
758+
"version": "1.31",
759759
"roleArn": {
760760
"Fn::GetAtt": [
761761
"ClusterRoleFA261979",
@@ -1091,7 +1091,7 @@
10911091
{
10921092
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
10931093
},
1094-
"/7e3a4db62580d1e348e643295ab4a2ae196cf491b19e8bb2af0e5df5731f8c44.json"
1094+
"/b59c66f745e83613dbb82872f6a80f1836e60dc270d4a996addaec59b6c48723.json"
10951095
]
10961096
]
10971097
}
@@ -1141,7 +1141,7 @@
11411141
{
11421142
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
11431143
},
1144-
"/9bf54635ece475c4a80e427fbac6f464603ed4d3db0993521bf2ed14fe8f2fcb.json"
1144+
"/79cbaf26aa922a95f542628df5997344482c9da45613b7f2df0c0702cf0aa1d2.json"
11451145
]
11461146
]
11471147
}

packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-al2023-nodegroup.js.snapshot/awscdkeksclusteral2023nodegroupDefaultTestDeployAssert96F213C8.assets.json

+1-1
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/awscdkeksclusteral2023nodegrouptestawscdkawseksClusterResourceProviderE67D0702.nested.template.json

+6-6
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"S3Bucket": {
88
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
99
},
10-
"S3Key": "22de69e75b55e15d4d49905d8a4901edd66d1367f617c2a01ac6e86ca2b7eb84.zip"
10+
"S3Key": "93d96d34e0d3cd20eb082652b91012b131bdc34fcf2bc16eb4170e04772fddb1.zip"
1111
},
1212
"Description": "/opt/nodejs/node_modules/proxy-agent"
1313
}
@@ -50,7 +50,7 @@
5050
"S3Bucket": {
5151
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
5252
},
53-
"S3Key": "1eaf141d4012ab0977a33bdf864ebbc6aa869a607e97fab6cd231fe6ef503aec.zip"
53+
"S3Key": "9f065b22983c18e9b152e9fcfadacd16e29faaee10e05efe72c920ee3de01d63.zip"
5454
},
5555
"Description": "onEvent handler for EKS cluster resource provider",
5656
"Environment": {
@@ -123,7 +123,7 @@
123123
"S3Bucket": {
124124
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
125125
},
126-
"S3Key": "1eaf141d4012ab0977a33bdf864ebbc6aa869a607e97fab6cd231fe6ef503aec.zip"
126+
"S3Key": "9f065b22983c18e9b152e9fcfadacd16e29faaee10e05efe72c920ee3de01d63.zip"
127127
},
128128
"Description": "isComplete handler for EKS cluster resource provider",
129129
"Environment": {
@@ -265,7 +265,7 @@
265265
"S3Bucket": {
266266
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
267267
},
268-
"S3Key": "46fb886516825167db3571f1ed91110fc6163ce20ee26fdb097c2c983f25fcd6.zip"
268+
"S3Key": "d320874294f5d626406d5f86087c2a2c8e6efc0aab690c5105572555dc445fd4.zip"
269269
},
270270
"Description": "AWS CDK resource provider framework - onEvent (aws-cdk-eks-cluster-al2023-nodegroup-test/@aws-cdk--aws-eks.ClusterResourceProvider/Provider)",
271271
"Environment": {
@@ -410,7 +410,7 @@
410410
"S3Bucket": {
411411
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
412412
},
413-
"S3Key": "46fb886516825167db3571f1ed91110fc6163ce20ee26fdb097c2c983f25fcd6.zip"
413+
"S3Key": "d320874294f5d626406d5f86087c2a2c8e6efc0aab690c5105572555dc445fd4.zip"
414414
},
415415
"Description": "AWS CDK resource provider framework - isComplete (aws-cdk-eks-cluster-al2023-nodegroup-test/@aws-cdk--aws-eks.ClusterResourceProvider/Provider)",
416416
"Environment": {
@@ -552,7 +552,7 @@
552552
"S3Bucket": {
553553
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
554554
},
555-
"S3Key": "46fb886516825167db3571f1ed91110fc6163ce20ee26fdb097c2c983f25fcd6.zip"
555+
"S3Key": "d320874294f5d626406d5f86087c2a2c8e6efc0aab690c5105572555dc445fd4.zip"
556556
},
557557
"Description": "AWS CDK resource provider framework - onTimeout (aws-cdk-eks-cluster-al2023-nodegroup-test/@aws-cdk--aws-eks.ClusterResourceProvider/Provider)",
558558
"Environment": {

packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-al2023-nodegroup.js.snapshot/awscdkeksclusteral2023nodegrouptestawscdkawseksKubectlProvider3D3ED876.nested.template.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"S3Bucket": {
88
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
99
},
10-
"S3Key": "abc70c90ded969d12235ca11768293cb20557cff54518518480c0d9fb344a098.zip"
10+
"S3Key": "024d0b8c5d7cf69ece484efe22f1647e273f484175ef3b79df543b7538da9c81.zip"
1111
},
1212
"Description": "onEvent handler for EKS kubectl resource provider",
1313
"Environment": {
@@ -151,7 +151,7 @@
151151
"S3Bucket": {
152152
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
153153
},
154-
"S3Key": "46fb886516825167db3571f1ed91110fc6163ce20ee26fdb097c2c983f25fcd6.zip"
154+
"S3Key": "d320874294f5d626406d5f86087c2a2c8e6efc0aab690c5105572555dc445fd4.zip"
155155
},
156156
"Description": "AWS CDK resource provider framework - onEvent (aws-cdk-eks-cluster-al2023-nodegroup-test/@aws-cdk--aws-eks.KubectlProvider/Provider)",
157157
"Environment": {

packages/@aws-cdk-testing/framework-integ/test/aws-eks/test/integ.eks-al2023-nodegroup.js.snapshot/cdk.out

+1-1
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/integ.json

+1-1
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/manifest.json

+26-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)