File tree Expand file tree Collapse file tree
terraform/eks/daemon/otel Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -321,6 +321,15 @@ resource "null_resource" "karpenter_scale_trigger" {
321321 depends_on = [null_resource. karpenter_nodepool ]
322322 provisioner "local-exec" {
323323 command = <<- EOT
324+ echo "Waiting for EC2NodeClass to become ready..."
325+ for i in $(seq 1 60); do
326+ STATUS=$(kubectl get ec2nodeclass default -o jsonpath='{.status.conditions[?(@.type=="Ready")].status}' 2>/dev/null)
327+ if [ "$STATUS" = "True" ]; then
328+ echo "EC2NodeClass ready after $${i}0s"
329+ break
330+ fi
331+ sleep 10
332+ done
324333 cat <<'EOF' | kubectl apply -f -
325334 apiVersion: apps/v1
326335 kind: Deployment
@@ -350,7 +359,14 @@ resource "null_resource" "karpenter_scale_trigger" {
350359 effect: "NoSchedule"
351360 EOF
352361 echo "Waiting for Karpenter to provision node..."
353- kubectl wait --for=condition=available deployment/karpenter-scale-trigger --timeout=600s
362+ kubectl wait --for=condition=available deployment/karpenter-scale-trigger --timeout=600s || \
363+ (echo "=== KARPENTER LOGS ===" && \
364+ kubectl logs -n kube-system -l app.kubernetes.io/name=karpenter --tail=50 && \
365+ echo "=== EC2NODECLASS STATUS ===" && \
366+ kubectl get ec2nodeclass default -o yaml 2>/dev/null && \
367+ echo "=== NODECLAIMS ===" && \
368+ kubectl get nodeclaims -A 2>/dev/null && \
369+ exit 1)
354370 EOT
355371 }
356372}
You can’t perform that action at this time.
0 commit comments