@@ -78,15 +78,24 @@ jobs:
7878 CLUSTER_ENDPOINT=$(aws eks describe-cluster --name ${{ inputs.cluster_name }} --query 'cluster.endpoint' --output text)
7979 export CLUSTER_ENDPOINT=$CLUSTER_ENDPOINT
8080 echo "Cluster endpoint: $CLUSTER_ENDPOINT"
81+
82+ # Use the working CLI approach with direct environment variables
8183 helm upgrade --install karpenter karpenter/karpenter \
84+ --version "0.16.3" \
8285 --namespace karpenter \
8386 --create-namespace \
8487 --timeout 15m \
85- --set settings.aws.clusterName=${{ inputs.cluster_name }} \
86- --set settings.aws.clusterEndpoint=${CLUSTER_ENDPOINT} \
87- --set serviceAccount.annotations."eks\.amazonaws\.com/role-arn"=arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/KarpenterControllerRole-${{ inputs.cluster_name }} \
88- --set settings.aws.defaultInstanceProfile=${{ inputs.karpenter_instance_profile }} \
89- --set settings.aws.interruptionQueueName=karpenter-interruption-queue-${{ inputs.cluster_name }} \
88+ --set controller.env[0].name="CLUSTER_NAME" \
89+ --set controller.env[0].value="${{ inputs.cluster_name }}" \
90+ --set controller.env[1].name="CLUSTER_ENDPOINT" \
91+ --set controller.env[1].value="${CLUSTER_ENDPOINT}" \
92+ --set controller.env[2].name="AWS_DEFAULT_INSTANCE_PROFILE" \
93+ --set controller.env[2].value="${{ inputs.karpenter_instance_profile }}" \
94+ --set controller.env[3].name="INTERRUPTION_QUEUE" \
95+ --set controller.env[3].value="karpenter-interruption-queue-${{ inputs.cluster_name }}" \
96+ --set controller.env[4].name="AWS_REGION" \
97+ --set controller.env[4].value="us-east-1" \
98+ --set serviceAccount.annotations."eks\.amazonaws\.com/role-arn"="arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/KarpenterControllerRole-${{ inputs.cluster_name }}" \
9099 --set controller.resources.requests.cpu=${{ inputs.karpenter_controller_cpu_request }} \
91100 --set controller.resources.requests.memory=${{ inputs.karpenter_controller_memory_request }} \
92101 --set controller.resources.limits.cpu=${{ inputs.karpenter_controller_cpu_limit }} \
96105 - name : Wait for Karpenter to be Ready
97106 run : |
98107 echo "Waiting for Karpenter controller to be ready..."
99- kubectl wait --for=condition=Ready pod -l app.kubernetes.io/name=karpenter -n ${{ inputs.karpenter_namespace }} --timeout=300s
108+ kubectl wait --for=condition=Ready pod -l app.kubernetes.io/name=karpenter -n karpenter --timeout=300s
100109
101110 echo "Verifying CRDs are available..."
102111 kubectl get crd nodepools.karpenter.sh
@@ -119,12 +128,12 @@ jobs:
119128 - name : Verify Karpenter Installation
120129 run : |
121130 echo "Checking Karpenter controller status..."
122- kubectl get pods -n ${{ inputs.karpenter_namespace }}
131+ kubectl get pods -n karpenter
123132
124133 echo "Checking NodePool..."
125- kubectl get nodepool -n ${{ inputs.karpenter_namespace }}
134+ kubectl get nodepool -n karpenter
126135
127136 echo "Checking EC2NodeClass..."
128- kubectl get ec2nodeclass -n ${{ inputs.karpenter_namespace }}
137+ kubectl get ec2nodeclass -n karpenter
129138
130139 echo "Karpenter installation completed successfully!"
0 commit comments