![]() To do so on AWS increase the minimum and desired parameters on the node group autoscaling group to launch at lease 2 instances. (these are instances with the name karpenter.sh/provisioner-name/) to run both pods. To solve this you can either reduce the replicas back from 2 to 1, or ensure there is enough capacity that isn’t being managed by Karpenter ![]() ![]() So it can’t provision for the second Karpenter pod. Karpenter won’t launch capacity to run itself (log related to the karpenter.sh/provisioner-name DoesNotExist requirement) V0.16.0 changed the default replicas from 1 to 2. Info on whether there has been a change to the CRD between versions of Karpenter can be found in the Release Notes Unable to schedule pod due to insufficient node group instances If you see this error, you can solve the problem by following the Custom Resource Definition Upgrade Guidance. Attempting to utilize newer functionality which is surfaced in newer versions of the CRD may result in the following error message: error: error validating "STDIN": error validating data: ValidationError(Provisioner.spec): unknown field "" in sh. if you choose to ignore these errors, turn validation off with -validate=false If you are upgrading from an older version of Karpenter, there may have been changes in the CRD between versions. Instead using of the eksctl role, you can shorten the name to anything you like, as long as it has the right permissions. Keep in mind that KarpenterNodeRole- is just a recommendation from the getting started guide. If a long cluster name causes the Karpenter node role name to exceed 64 characters, creating that object will fail. Node role names for Karpenter are created in the form KarpenterNodeRole-$ in the Create the KarpenterNode IAM Role section of the getting started guide. If you use a tool such as AWS CDK to generate your Kubernetes cluster name, when you add Karpenter to your cluster you could end up with a cluster name that is too long to incorporate into your KarpenterNodeRole name (which is limited to 64 characters). Karpenter Role names exceeding 64-character limit aws iam create-service-linked-role -aws-service-name This can be resolved by creating the Service Linked Role. AuthFailure.ServiceLinkedRoleCreationNotPermitted: The provided credentials do not have permission to create the service-linked role for EC2 Spot Instances Unless your AWS account has already onboarded to EC2 Spot, you will need to create the service linked role to avoid ServiceLinkedRoleCreationNotPermitted. helm upgrade -install karpenter oci:///karpenter/karpenter \ You can enable debug logging during installation with helm by setting the option logLevel. Update the zap-logger-config “level” and restart the Karpenter pod(s) to enable debug logging. If you installed the controller in the karpenter namespace you can see the current config with kubectl get configmap -n karpenter config-logging -o yaml To enable debug logging on Karpenter you should update the config-logging ConfigMap which can be found in the same namespace as the controller. Troubleshoot Karpenter problems Controller Enable debug logging
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |