Karpenter
Karpenter (Nov 2021) [1] Kubernetes cluster autoscaling project
helm repo add karpenter https://charts.karpenter.sh/ helm repo update
helm upgrade --install --namespace karpenter --create-namespace karpenter karpenter/karpenter \ --version v0.6.3 \ --set serviceAccount.annotations."eks\.amazonaws\.com/role-arn"=${KARPENTER_IAM_ROLE_ARN} \ --set clusterName=${CLUSTER_NAME} \ --set clusterEndpoint=${CLUSTER_ENDPOINT} \ --set aws.defaultInstanceProfile=KarpenterNodeInstanceProfile-${CLUSTER_NAME} \ --wait # for the defaulting webhook to install before creating a Provisioner
Contents
Logs
News
- Apr 2022 Pod Affinity https://aws.amazon.com/about-aws/whats-new/2022/04/amazon-eks-karpenter-v0-9-0-pod-affinity/
- Nov 2021 https://aws.amazon.com/about-aws/whats-new/2021/11/aws-karpenter-v0-5/
Activities
- Read htps://karpenter.sh/preview/troubleshooting/
- Read about Kubernetes scheduler and Karpenter https://github.com/aws/karpenter/issues/1528
- Read Karpenter best practices: https://aws.github.io/aws-eks-best-practices/karpenter/
Related
- Amazon EC2 Instance types:
- Kubernetes Autoscaler
- Escalator
- EKS Best Practices Guides https://aws.github.io/aws-eks-best-practices/karpenter/
KarpenterNode
IAM Role- https://registry.terraform.io/modules/terraform-aws-modules/eks/aws/latest/examples/karpenter
karpenter.sh: karpenter.sh/capacity-type
kubectl logs -f -n karpenter $(kubectl get pods -n karpenter -l karpenter=controller -o name)
kind: Provisioner
- Kubernetes PodDisruptionBudget (PDB)
kubectl get all -n karpenter
TopologyKey:
- Kubernetes scheduler
- Kubernetes Pod Topology Spread Constraints
See also
- Amazon EC2 Instance types, computed optimized, memory optimized, high memory, AMI, Burstable, CPU credits, on-demand, spot, Karpenter,
t2, t3, t4g, r5, r6, c5 (c5a, c5ad), c6 (c6a, c6i), m5, m6i, m7i, c7i, c7g, r6g, r6i, G5, G6, x1
,aws ec2 describe-instance-types
,vCPU, VcpuLimitExceeded, im4gn
- Karpenter,
karpenter.sh, provisioners.karpenter.sh
, Karpenter releases, best practices,karpenter.sh/capacity-type, karpenter.sh/discovery
,kind: Provisioner, kind: AWSNodeTemplate
,kubectl provisioner
,TopologyKey, FailedDraining, Evict, DisruptionBlocked
, Karpenter logs,controller., ttlSecondsUntilExpired
, KEDA, NodePools, Kind: NodePool, Workload Consolidation, Disruption controls - Kubernetes autoscaling, HPA, VPA, Karpenter, Kubernetes Autoscaler,
kubectl autoscale
, Kubernetes Metrics Server (KMS)
Advertising: