From 1e852d1d16bdfd06010e876e013fbc4d5097a550 Mon Sep 17 00:00:00 2001 From: Aidan Hilt Date: Thu, 1 Jun 2023 11:51:08 -0400 Subject: [PATCH] Updated how we configure the interruption queue for Karpenter, using the Helm values rather than a pre-created ConfigMap. --- gen3/bin/kube-setup-karpenter.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gen3/bin/kube-setup-karpenter.sh b/gen3/bin/kube-setup-karpenter.sh index 3118586cb..ca541d0fb 100644 --- a/gen3/bin/kube-setup-karpenter.sh +++ b/gen3/bin/kube-setup-karpenter.sh @@ -28,6 +28,7 @@ gen3_deploy_karpenter() { else karpenter=${karpenter:-v0.22.0} fi + local queue_name="karpenter-sqs-${vpc_name}" echo '{ "Statement": [ { @@ -134,6 +135,7 @@ gen3_deploy_karpenter() { --set settings.aws.defaultInstanceProfile=${vpc_name}_EKS_workers \ --set settings.aws.clusterEndpoint="${cluster_endpoint}" \ --set settings.aws.clusterName=${vpc_name} \ + --set settings.aws.interruptionQueueName="${queue_name}" \ --set serviceAccount.name=karpenter \ --set serviceAccount.create=false \ --set controller.env[0].name=AWS_REGION \ @@ -201,7 +203,7 @@ gen3_create_karpenter_sqs_eventbridge() { aws events put-targets --rule "Karpenter-${vpc_name}-ScheduledChangeRule" --targets "Id"="1","Arn"="${queue_arn}" 2> /dev/null || true aws events put-targets --rule "Karpenter-${vpc_name}-InstanceStateChangeRule" --targets "Id"="1","Arn"="${queue_arn}" 2> /dev/null || true aws sqs set-queue-attributes --queue-url "${queue_url}" --attributes "Policy"="$(aws sqs get-queue-attributes --queue-url "${queue_url}" --attribute-names "Policy" --query "Attributes.Policy" --output text | jq -r '.Statement += [{"Sid": "AllowKarpenter", "Effect": "Allow", "Principal": {"Service": ["sqs.amazonaws.com","events.amazonaws.com"]}, "Action": "sqs:SendMessage", "Resource": "'${queue_arn}'"}]')" 2> /dev/null || true - g3k_kv_filter ${GEN3_HOME}/kube/services/karpenter/karpenter-global-settings.yaml SQS_NAME ${queue_name} | g3kubectl apply -f - + #g3k_kv_filter ${GEN3_HOME}/kube/services/karpenter/karpenter-global-settings.yaml SQS_NAME ${queue_name} | g3kubectl apply -f - } gen3_remove_karpenter() {