7878 helm upgrade --install karpenter karpenter/karpenter \
7979 --namespace ${{ inputs.karpenter_namespace }} \
8080 --create-namespace \
81+ --timeout 15m \
8182 --set "settings.clusterName=${{ inputs.cluster_name }}" \
8283 --set "serviceAccount.annotations.eks\.amazonaws\.com/role-arn=arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/KarpenterControllerRole-${{ inputs.cluster_name }}" \
8384 --set "settings.defaultInstanceProfile=${{ inputs.karpenter_instance_profile }}" \
8687 --set controller.resources.requests.memory=${{ inputs.karpenter_controller_memory_request }} \
8788 --set controller.resources.limits.cpu=${{ inputs.karpenter_controller_cpu_limit }} \
8889 --set controller.resources.limits.memory=${{ inputs.karpenter_controller_memory_limit }} \
90+ --wait
91+
92+ - name : Wait for Karpenter to be Ready
93+ run : |
94+ echo "Waiting for Karpenter controller to be ready..."
95+ kubectl wait --for=condition=Ready pod -l app.kubernetes.io/name=karpenter -n ${{ inputs.karpenter_namespace }} --timeout=300s
96+
97+ echo "Verifying CRDs are available..."
98+ kubectl get crd nodepools.karpenter.sh
99+ kubectl get crd ec2nodeclasses.karpenter.k8s.aws
100+
101+ echo "Karpenter controller is ready!"
89102
90103 - name : Deploy Karpenter NodePool and EC2NodeClass
91104 run : |
@@ -95,13 +108,19 @@ jobs:
95108 export KARPENTER_INSTANCE_PROFILE=${{ inputs.karpenter_instance_profile }}
96109 export KARPENTER_NAMESPACE=${{ inputs.karpenter_namespace }}
97110 export CLUSTER_NAME=${{ inputs.cluster_name }}
111+
112+ echo "Applying Karpenter resources..."
98113 envsubst < ./karpenter/karpenter-resources.yml | kubectl apply -f -
99114
100115 - name : Verify Karpenter Installation
101116 run : |
102117 echo "Checking Karpenter controller status..."
103118 kubectl get pods -n ${{ inputs.karpenter_namespace }}
119+
104120 echo "Checking NodePool..."
105121 kubectl get nodepool -n ${{ inputs.karpenter_namespace }}
122+
106123 echo "Checking EC2NodeClass..."
107124 kubectl get ec2nodeclass -n ${{ inputs.karpenter_namespace }}
125+
126+ echo "Karpenter installation completed successfully!"
0 commit comments