Skip to content

Commit c37e3ad

Browse files
authored
chore(java/eks): refresh sample code and set Amazon EKS version as 1.31 (#1130)
1 parent 7bdc840 commit c37e3ad

File tree

10 files changed

+79
-28
lines changed

10 files changed

+79
-28
lines changed

java/eks/fargate-cluster/cdk.json

+22-2
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
"@aws-cdk/aws-apigateway:disableCloudWatchRole": true,
3131
"@aws-cdk/core:enablePartitionLiterals": true,
3232
"@aws-cdk/aws-events:eventsTargetQueueSameAccount": true,
33-
"@aws-cdk/aws-iam:standardizedServicePrincipals": true,
3433
"@aws-cdk/aws-ecs:disableExplicitDeploymentControllerForCircuitBreaker": true,
3534
"@aws-cdk/aws-iam:importedRoleStackSafeDefaultPolicyName": true,
3635
"@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy": true,
@@ -55,6 +54,27 @@
5554
"@aws-cdk/aws-rds:auroraClusterChangeScopeOfInstanceParameterGroupWithEachParameters": true,
5655
"@aws-cdk/aws-appsync:useArnForSourceApiAssociationIdentifier": true,
5756
"@aws-cdk/aws-rds:preventRenderingDeprecatedCredentials": true,
58-
"@aws-cdk/aws-codepipeline-actions:useNewDefaultBranchForCodeCommitSource": true
57+
"@aws-cdk/aws-codepipeline-actions:useNewDefaultBranchForCodeCommitSource": true,
58+
"@aws-cdk/aws-cloudwatch-actions:changeLambdaPermissionLogicalIdForLambdaAction": true,
59+
"@aws-cdk/aws-codepipeline:crossAccountKeysDefaultValueToFalse": true,
60+
"@aws-cdk/aws-codepipeline:defaultPipelineTypeToV2": true,
61+
"@aws-cdk/aws-kms:reduceCrossAccountRegionPolicyScope": true,
62+
"@aws-cdk/aws-eks:nodegroupNameAttribute": true,
63+
"@aws-cdk/aws-ec2:ebsDefaultGp3Volume": true,
64+
"@aws-cdk/aws-ecs:removeDefaultDeploymentAlarm": true,
65+
"@aws-cdk/custom-resources:logApiResponseDataPropertyTrueDefault": false,
66+
"@aws-cdk/aws-s3:keepNotificationInImportedBucket": false,
67+
"@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature": false,
68+
"@aws-cdk/aws-ecs:disableEcsImdsBlocking": true,
69+
"@aws-cdk/aws-ecs:reduceEc2FargateCloudWatchPermissions": true,
70+
"@aws-cdk/aws-dynamodb:resourcePolicyPerReplica": true,
71+
"@aws-cdk/aws-ec2:ec2SumTImeoutEnabled": true,
72+
"@aws-cdk/aws-appsync:appSyncGraphQLAPIScopeLambdaPermission": true,
73+
"@aws-cdk/aws-rds:setCorrectValueForDatabaseInstanceReadReplicaInstanceResourceId": true,
74+
"@aws-cdk/core:cfnIncludeRejectComplexResourceUpdateCreatePolicyIntrinsics": true,
75+
"@aws-cdk/aws-lambda-nodejs:sdkV3ExcludeSmithyPackages": true,
76+
"@aws-cdk/aws-stepfunctions-tasks:fixRunEcsTaskPolicy": true,
77+
"@aws-cdk/aws-ec2:bastionHostUseAmazonLinux2023ByDefault": true,
78+
"@aws-cdk/aws-route53-targets:userPoolDomainNameMethodWithoutCustomResource": true
5979
}
6080
}

java/eks/fargate-cluster/pom.xml

+8-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@
99

1010
<properties>
1111
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
12-
<cdk.version>2.115.0</cdk.version>
12+
<cdk.version>2.175.1</cdk.version>
13+
<kubectl.version>2.0.0</kubectl.version>
1314
<constructs.version>[10.0.0,11.0.0)</constructs.version>
1415
<junit.version>5.7.1</junit.version>
1516
</properties>
@@ -22,6 +23,12 @@
2223
<version>${cdk.version}</version>
2324
</dependency>
2425

26+
<dependency>
27+
<groupId>software.amazon.awscdk</groupId>
28+
<artifactId>cdk-lambda-layer-kubectl-v31</artifactId>
29+
<version>${kubectl.version}</version>
30+
</dependency>
31+
2532
<dependency>
2633
<groupId>software.constructs</groupId>
2734
<artifactId>constructs</artifactId>

java/eks/fargate-cluster/src/main/java/com/amazonaws/cdk/EksFargateStack.java

+5-6
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import software.amazon.awscdk.CfnOutput;
44
import software.amazon.awscdk.Stack;
5-
import software.amazon.awscdk.lambdalayer.kubectl.KubectlLayer;
5+
import software.amazon.awscdk.cdk.lambdalayer.kubectl.v31.KubectlV31Layer;
66
import software.amazon.awscdk.services.ec2.SubnetSelection;
77
import software.amazon.awscdk.services.ec2.SubnetType;
88
import software.amazon.awscdk.services.eks.*;
@@ -43,9 +43,9 @@ public EksFargateStack(final Construct scope, final String id, final EksFargateP
4343
.mastersRole(clusterAdminRole)
4444
.role(clusterAdminRole)
4545
.endpointAccess(EndpointAccess.PUBLIC)
46-
.version(KubernetesVersion.V1_28)
46+
.version(KubernetesVersion.V1_31)
4747
.vpc(props.getVpc())
48-
.kubectlLayer(new KubectlLayer(this, "KubectlLayer"))
48+
.kubectlLayer(new KubectlV31Layer(this, "KubectlLayer"))
4949
.vpcSubnets(List.of(SubnetSelection.builder()
5050
.subnetType(SubnetType.PRIVATE_WITH_EGRESS)
5151
.build()))
@@ -65,15 +65,14 @@ public EksFargateStack(final Construct scope, final String id, final EksFargateP
6565
new CfnAddon(this, "eks-vpc-cni-addon", CfnAddonProps.builder()
6666
.clusterName(eksCluster.getClusterName())
6767
.addonName("vpc-cni")
68-
.addonVersion("v1.16.0-eksbuild.1")
68+
.addonVersion("v1.19.2-eksbuild.1")
6969
.resolveConflicts("OVERWRITE")
70-
7170
.build());
7271

7372
new CfnAddon(this, "eks-kube-proxy-addon", CfnAddonProps.builder()
7473
.clusterName(eksCluster.getClusterName())
7574
.addonName("kube-proxy")
76-
.addonVersion("v1.28.4-eksbuild.1")
75+
.addonVersion("v1.31.3-eksbuild.2")
7776
.resolveConflicts("OVERWRITE")
7877
.build());
7978

java/eks/fargate-cluster/src/test/java/com/amazonaws/cdk/EksFargateStackTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ void testEksCluster() {
5656
Map.of(
5757
"Config", Map.of(
5858
"name", "SampleCluster",
59-
"version", "1.28"
59+
"version", "1.31"
6060
)
6161
)
6262
), 1);

java/eks/fargate-cluster/src/test/resources/com/amazonaws/cdk/EksFargateStackExpected.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -384,7 +384,7 @@
384384
},
385385
"Config": {
386386
"name": "SampleCluster",
387-
"version": "1.28",
387+
"version": "1.31",
388388
"roleArn": {
389389
"Fn::GetAtt": [
390390
"EksClusterAdminRoleD3CAEBD0",
@@ -751,7 +751,7 @@
751751
"Type": "AWS::EKS::Addon",
752752
"Properties": {
753753
"AddonName": "vpc-cni",
754-
"AddonVersion": "v1.16.0-eksbuild.1",
754+
"AddonVersion": "v1.19.2-eksbuild.1",
755755
"ClusterName": {
756756
"Ref": "EksFargateCluster07FC3D2B"
757757
},
@@ -765,7 +765,7 @@
765765
"Type": "AWS::EKS::Addon",
766766
"Properties": {
767767
"AddonName": "kube-proxy",
768-
"AddonVersion": "v1.28.4-eksbuild.1",
768+
"AddonVersion": "v1.31.3-eksbuild.2",
769769
"ClusterName": {
770770
"Ref": "EksFargateCluster07FC3D2B"
771771
},

java/eks/private-cluster/README.md

+6-8
Original file line numberDiff line numberDiff line change
@@ -95,12 +95,10 @@ For other packages or tools like `kubectl`, create an S3 bucket accessible from
9595
Sample cloudshell session:
9696
9797
```
98-
[cloudshell-user@ip-10-2-84-204 ~]$ curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.28.5/2024-01-04/bin/linux/amd64/kubectl
99-
% Total % Received % Xferd Average Speed Time Time Time Current
100-
Dload Upload Total Spent Left Speed
101-
100 47.5M 100 47.5M 0 0 7975k 0 0:00:06 0:00:06 --:--:-- 10.4M
102-
[cloudshell-user@ip-10-2-84-204 ~]$ aws s3 cp kubectl s3://my-bucket/kubectl-1.28.5
103-
upload: ./kubectl to s3://my-bucket/kubectl-1.28.5
98+
[cloudshell-user@ip-10-2-84-204 ~]$ curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.31.4/2025-01-10/bin/darwin/amd64/kubectl
99+
100+
[cloudshell-user@ip-10-2-84-204 ~]$ aws s3 cp kubectl s3://my-bucket/kubectl-1.31.4
101+
upload: ./kubectl to s3://my-bucket/kubectl-1.31.4
104102
```
105103
106104
## Accessing the EKS cluster with kubectl
@@ -118,7 +116,7 @@ Test the access to the EKS cluster. Get pods and nodes
118116
```
119117
[ssm-user@ip-10-0-0-240 ~]$ kubectl get nodes
120118
NAME STATUS ROLES AGE VERSION
121-
ip-10-0-0-60.ap-southeast-1.compute.internal Ready <none> 19h v1.28.5-eks-5e0fdde
119+
ip-10-0-0-60.ap-southeast-1.compute.internal Ready <none> 19h v1.31.0-eks-a737599
122120

123121
[ssm-user@ip-10-0-0-240 ~]$ kubectl get pods -A
124122
NAMESPACE NAME READY STATUS RESTARTS AGE
@@ -131,4 +129,4 @@ kube-system kube-proxy-m9ms4 1/1 Running 1 (4h39m ago) 19h
131129
## Cleanup
132130
```
133131
cdk destroy
134-
```
132+
```

java/eks/private-cluster/cdk.json

+22-2
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
"@aws-cdk/aws-apigateway:disableCloudWatchRole": true,
3131
"@aws-cdk/core:enablePartitionLiterals": true,
3232
"@aws-cdk/aws-events:eventsTargetQueueSameAccount": true,
33-
"@aws-cdk/aws-iam:standardizedServicePrincipals": true,
3433
"@aws-cdk/aws-ecs:disableExplicitDeploymentControllerForCircuitBreaker": true,
3534
"@aws-cdk/aws-iam:importedRoleStackSafeDefaultPolicyName": true,
3635
"@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy": true,
@@ -55,6 +54,27 @@
5554
"@aws-cdk/aws-rds:auroraClusterChangeScopeOfInstanceParameterGroupWithEachParameters": true,
5655
"@aws-cdk/aws-appsync:useArnForSourceApiAssociationIdentifier": true,
5756
"@aws-cdk/aws-rds:preventRenderingDeprecatedCredentials": true,
58-
"@aws-cdk/aws-codepipeline-actions:useNewDefaultBranchForCodeCommitSource": true
57+
"@aws-cdk/aws-codepipeline-actions:useNewDefaultBranchForCodeCommitSource": true,
58+
"@aws-cdk/aws-cloudwatch-actions:changeLambdaPermissionLogicalIdForLambdaAction": true,
59+
"@aws-cdk/aws-codepipeline:crossAccountKeysDefaultValueToFalse": true,
60+
"@aws-cdk/aws-codepipeline:defaultPipelineTypeToV2": true,
61+
"@aws-cdk/aws-kms:reduceCrossAccountRegionPolicyScope": true,
62+
"@aws-cdk/aws-eks:nodegroupNameAttribute": true,
63+
"@aws-cdk/aws-ec2:ebsDefaultGp3Volume": true,
64+
"@aws-cdk/aws-ecs:removeDefaultDeploymentAlarm": true,
65+
"@aws-cdk/custom-resources:logApiResponseDataPropertyTrueDefault": false,
66+
"@aws-cdk/aws-s3:keepNotificationInImportedBucket": false,
67+
"@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature": false,
68+
"@aws-cdk/aws-ecs:disableEcsImdsBlocking": true,
69+
"@aws-cdk/aws-ecs:reduceEc2FargateCloudWatchPermissions": true,
70+
"@aws-cdk/aws-dynamodb:resourcePolicyPerReplica": true,
71+
"@aws-cdk/aws-ec2:ec2SumTImeoutEnabled": true,
72+
"@aws-cdk/aws-appsync:appSyncGraphQLAPIScopeLambdaPermission": true,
73+
"@aws-cdk/aws-rds:setCorrectValueForDatabaseInstanceReadReplicaInstanceResourceId": true,
74+
"@aws-cdk/core:cfnIncludeRejectComplexResourceUpdateCreatePolicyIntrinsics": true,
75+
"@aws-cdk/aws-lambda-nodejs:sdkV3ExcludeSmithyPackages": true,
76+
"@aws-cdk/aws-stepfunctions-tasks:fixRunEcsTaskPolicy": true,
77+
"@aws-cdk/aws-ec2:bastionHostUseAmazonLinux2023ByDefault": true,
78+
"@aws-cdk/aws-route53-targets:userPoolDomainNameMethodWithoutCustomResource": true
5979
}
6080
}

java/eks/private-cluster/pom.xml

+8-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@
99

1010
<properties>
1111
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
12-
<cdk.version>2.122.0</cdk.version>
12+
<cdk.version>2.175.1</cdk.version>
13+
<kubectl.version>2.0.0</kubectl.version>
1314
<constructs.version>[10.0.0,11.0.0)</constructs.version>
1415
<junit.version>5.7.1</junit.version>
1516
</properties>
@@ -44,6 +45,12 @@
4445
<version>${cdk.version}</version>
4546
</dependency>
4647

48+
<dependency>
49+
<groupId>software.amazon.awscdk</groupId>
50+
<artifactId>cdk-lambda-layer-kubectl-v31</artifactId>
51+
<version>${kubectl.version}</version>
52+
</dependency>
53+
4754
<dependency>
4855
<groupId>software.constructs</groupId>
4956
<artifactId>constructs</artifactId>

java/eks/private-cluster/src/main/java/com/amazonaws/cdk/examples/EksPrivateClusterStack.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import java.util.Map;
55
import software.amazon.awscdk.Stack;
66
import software.amazon.awscdk.StackProps;
7-
import software.amazon.awscdk.lambdalayer.kubectl.KubectlLayer;
7+
import software.amazon.awscdk.cdk.lambdalayer.kubectl.v31.KubectlV31Layer;
88
import software.amazon.awscdk.services.autoscaling.AutoScalingGroup;
99
import software.amazon.awscdk.services.ec2.BastionHostLinux;
1010
import software.amazon.awscdk.services.ec2.BlockDevice;
@@ -89,12 +89,12 @@ private void createEksCluster(Role clusterAdmin) {
8989
this.cluster =
9090
Cluster.Builder.create(this, "eks")
9191
.vpc(vpc)
92-
.version(KubernetesVersion.V1_28)
92+
.version(KubernetesVersion.V1_31)
9393
.vpcSubnets(
9494
List.of(SubnetSelection.builder().subnetType(SubnetType.PRIVATE_ISOLATED).build()))
9595
.endpointAccess(EndpointAccess.PRIVATE)
9696
.clusterName("eks-private")
97-
.kubectlLayer(new KubectlLayer(this, "kubectl-layer"))
97+
.kubectlLayer(new KubectlV31Layer(this, "KubectlLayer"))
9898
.defaultCapacity(0)
9999
.mastersRole(clusterAdmin)
100100
.placeClusterHandlerInVpc(true)

java/eks/private-cluster/src/test/java/com/amazonaws/cdk/examples/EksPrivateClusterStackTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public void testEksClusterNameVersion() {
2929
"Config",
3030
Map.of(
3131
"name", "eks-private",
32-
"version", "1.28"))),
32+
"version", "1.31"))),
3333
1);
3434
}
3535

0 commit comments

Comments
 (0)