@@ -80,11 +80,20 @@ const (
80
80
// EKS AMI ID SSM Parameter name.
81
81
eksAmiSSMParameterFormat = "/aws/service/eks/optimized-ami/%s/amazon-linux-2/recommended/image_id"
82
82
83
+ // EKS AL2023 AMI ID SSM Parameter name.
84
+ eksAmiAl2023SSMParameterFormat = "/aws/service/eks/optimized-ami/%s/amazon-linux-2023/x86_64/standard/recommended/image_id"
85
+
83
86
// EKS ARM64 AMI ID SSM Parameter name.
84
87
eksARM64AmiSSMParameterFormat = "/aws/service/eks/optimized-ami/%s/amazon-linux-2-arm64/recommended/image_id"
85
88
89
+ // EKS ARM64 AL2023 AMI ID SSM Parameter name.
90
+ eksARM64AmiAl2023SSMParameterFormat = "/aws/service/eks/optimized-ami/%s/amazon-linux-2023/x86_64/nvidia/recommended/image_id"
91
+
86
92
// EKS GPU AMI ID SSM Parameter name.
87
93
eksGPUAmiSSMParameterFormat = "/aws/service/eks/optimized-ami/%s/amazon-linux-2-gpu/recommended/image_id"
94
+
95
+ // EKS GPU AL2023 AMI ID SSM Parameter name.
96
+ eksGPUAmiAl2023SSMParameterFormat = "/aws/service/eks/optimized-ami/%s/amazon-linux-2023/x86_64/nvidia/recommended/image_id"
88
97
)
89
98
90
99
// AMILookup contains the parameters used to template AMI names used for lookup.
@@ -323,14 +332,24 @@ func (s *Service) eksAMILookup(kubernetesVersion string, architecture string, am
323
332
}
324
333
325
334
switch * amiType {
335
+ case infrav1 .AmazonLinux2023GPU :
336
+ paramName = fmt .Sprintf (eksGPUAmiAl2023SSMParameterFormat , formattedVersion )
326
337
case infrav1 .AmazonLinuxGPU :
327
338
paramName = fmt .Sprintf (eksGPUAmiSSMParameterFormat , formattedVersion )
328
339
default :
329
340
switch architecture {
330
341
case Arm64ArchitectureTag :
331
- paramName = fmt .Sprintf (eksARM64AmiSSMParameterFormat , formattedVersion )
342
+ if * amiType == infrav1 .AmazonLinux2023 {
343
+ paramName = fmt .Sprintf (eksARM64AmiAl2023SSMParameterFormat , formattedVersion )
344
+ } else {
345
+ paramName = fmt .Sprintf (eksARM64AmiSSMParameterFormat , formattedVersion )
346
+ }
332
347
case Amd64ArchitectureTag :
333
- paramName = fmt .Sprintf (eksAmiSSMParameterFormat , formattedVersion )
348
+ if * amiType == infrav1 .AmazonLinux2023 {
349
+ paramName = fmt .Sprintf (eksAmiAl2023SSMParameterFormat , formattedVersion )
350
+ } else {
351
+ paramName = fmt .Sprintf (eksAmiSSMParameterFormat , formattedVersion )
352
+ }
334
353
default :
335
354
return "" , fmt .Errorf ("cannot look up eks-optimized image for architecture %q" , architecture )
336
355
}
0 commit comments