File tree 3 files changed +33
-3
lines changed
3 files changed +33
-3
lines changed Original file line number Diff line number Diff line change @@ -72,6 +72,9 @@ resource "helm_release" "karpenter_crd" {
72
72
version = var. karpenter_version
73
73
}
74
74
75
+
76
+
77
+
75
78
resource "null_resource" "karpenter_ec2_node_class_apply" {
76
79
count = var. karpenter_enabled ? 1 : 0
77
80
@@ -83,15 +86,31 @@ kind: EC2NodeClass
83
86
metadata:
84
87
name: default
85
88
spec:
86
- amiFamily: AL2
89
+ metadataOptions:
90
+ httpEndpoint: enabled
91
+ httpProtocolIPv6: disabled
92
+ httpPutResponseHopLimit: 1
93
+ httpTokens: optional
94
+ blockDeviceMappings:
95
+ - deviceName: /dev/xvda
96
+ ebs:
97
+ volumeSize: 20Gi
98
+ volumeType: gp3
99
+ encrypted: true
100
+ - deviceName: /dev/xvdb
101
+ ebs:
102
+ volumeSize: 50Gi
103
+ volumeType: gp3
104
+ encrypted: true
105
+ amiFamily: ${ var . karpenter_ami_family }
87
106
role: ${ aws_iam_role . node . name }
88
107
securityGroupSelectorTerms:
89
108
- id: ${ aws_eks_cluster . cluster . vpc_config [0 ]. cluster_security_group_id }
90
109
subnetSelectorTerms:
91
110
- id: ${ aws_subnet . public [0 ]. id }
92
111
- id: ${ aws_subnet . public [1 ]. id }
93
112
amiSelectorTerms:
94
- - name : "amazon-eks-node- ${ var . cluster_version } -* "
113
+ - id : "${ var . karpenter_ami_family == " AL2 " ? data . aws_ssm_parameter . eks_al2_ami . value : data . aws_ssm_parameter . bottlerocket_ami . value } "
95
114
EOF
96
115
EOT
97
116
}
Original file line number Diff line number Diff line change 1
- data "aws_ssm_parameter" "bottlerocket_image_id " {
1
+ data "aws_ssm_parameter" "bottlerocket_ami " {
2
2
name = " /aws/service/bottlerocket/aws-k8s-${ var . cluster_version } /x86_64/latest/image_id"
3
3
}
4
4
5
+ data "aws_ssm_parameter" "eks_al2_ami" {
6
+ name = " /aws/service/eks/optimized-ami/${ var . cluster_version } /amazon-linux-2/recommended/image_id"
7
+ }
8
+
5
9
module "eks_mng_bottlerocket_custom_ami" {
6
10
source = " github.com/terraform-aws-modules/terraform-aws-eks/modules/_user_data"
7
11
Original file line number Diff line number Diff line change @@ -390,6 +390,12 @@ variable "karpenter_version" {
390
390
description = " The version of the karpenter helm chart"
391
391
}
392
392
393
+ variable "karpenter_ami_family" {
394
+ description = " AMI family to use for the EC2 Node Class. Possible values: AL2 or Bottlerocket"
395
+ type = string
396
+ default = " Bottlerocket"
397
+ }
398
+
393
399
variable "csi_secrets_store_enabled" {
394
400
default = false
395
401
description = " Specify whether the CSI driver is enabled on the EKS cluster"
@@ -449,3 +455,4 @@ variable "s3_csi_bucket_names" {
449
455
type = list (string )
450
456
default = [" " ]
451
457
}
458
+
You can’t perform that action at this time.
0 commit comments