Difference between revisions of "Karpenter"

From wikieduonline
Jump to navigation Jump to search
(44 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Karpenter (Nov 2021) <ref>https://aws.amazon.com/blogs/aws/introducing-karpenter-an-open-source-high-performance-kubernetes-cluster-autoscaler/</ref> Kubernetes cluster [[autoscaling]] project
+
Karpenter (Nov 2021) <ref>https://aws.amazon.com/blogs/aws/introducing-karpenter-an-open-source-high-performance-kubernetes-cluster-autoscaler/</ref> Kubernetes cluster [[autoscaling]].
 
* https://karpenter.sh/  
 
* https://karpenter.sh/  
 +
* https://docs.aws.amazon.com/eks/latest/userguide/autoscaling.html#karpenter
 +
 +
* <code>[[controller.]]</code>
 +
 +
* <code>[[karpenter.sh]]</code>
 +
 
* [[Karpenter releases|Releases]]: https://github.com/aws/karpenter/releases
 
* [[Karpenter releases|Releases]]: https://github.com/aws/karpenter/releases
  
Line 13: Line 19:
 
   --set aws.defaultInstanceProfile=KarpenterNodeInstanceProfile-${CLUSTER_NAME} \
 
   --set aws.defaultInstanceProfile=KarpenterNodeInstanceProfile-${CLUSTER_NAME} \
 
   --wait # for the defaulting webhook to install before creating a [[Provisioner]]
 
   --wait # for the defaulting webhook to install before creating a [[Provisioner]]
 +
 +
 +
* <code>[[kubectl get provisioner]]</code>
 +
* <code>[[kubectl describe provisioner]]</code>
 +
* <code>[[kind: Provisioner]]</code>
  
 
== Logs ==
 
== Logs ==
* <code>[[Relaxing soft constrains]] ...</code>
+
* <code>[[controller.provisioning]] [[Relaxing soft constrains]] ...</code>
 +
* <code>[[controller.node]] [[Triggering termination for expired node after]] 168h0m0s .../...</code>
  
== News ==
+
* <code>[[kubectl logs -f -n karpenter -l app.kubernetes.io/name=karpenter -c controller]]</code>
* 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/
+
* <code>[[kubectl patch configmap config-logging]] -n karpenter --patch '{"data":{"loglevel.controller":"debug"}}'</code>
* https://aws.github.io/aws-eks-best-practices/karpenter/
+
 
 +
* <code>[[stern -n karpenter -l app.kubernetes.io/name=karpenter]]</code>
 +
 
 +
== [[Karpenter changelog|News]] ==
 +
* Aug 2022 v0.15.0 [[Workload Consolidation]] for Karpenter https://aws.amazon.com/about-aws/whats-new/2022/08/workload-consolidation-karpenter/
 +
* Apr 2022 v0.9.0 with [[Pod Affinity]] https://aws.amazon.com/about-aws/whats-new/2022/04/amazon-eks-karpenter-v0-9-0-pod-affinity/
 +
* Nov 2021 AWS Karpenter v0.5 https://aws.amazon.com/about-aws/whats-new/2021/11/aws-karpenter-v0-5/
  
 
== Activities ==
 
== Activities ==
 
* Read htps://karpenter.sh/preview/troubleshooting/
 
* Read htps://karpenter.sh/preview/troubleshooting/
* Read about Kubernetes scheduler and [[Karpenter]] https://github.com/aws/karpenter/issues/1528
+
* 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/
 +
* Read https://aws.amazon.com/blogs/containers/managing-pod-scheduling-constraints-and-groupless-node-upgrades-with-karpenter-in-amazon-eks/
  
 
== Related ==
 
== Related ==
Line 33: Line 53:
 
* <code>[[KarpenterNode]]</code> [[IAM Role]]
 
* <code>[[KarpenterNode]]</code> [[IAM Role]]
 
* https://registry.terraform.io/modules/terraform-aws-modules/eks/aws/latest/examples/karpenter
 
* https://registry.terraform.io/modules/terraform-aws-modules/eks/aws/latest/examples/karpenter
* <code>[[karpenter.sh/capacity-type]]</code>
+
* <code>[[karpenter.sh]]: [[karpenter.sh/capacity-type]]</code>
 
* <code>[[kubectl logs -f]] -n karpenter $([[kubectl get pods]] -n karpenter -l [[karpenter=controller]] -o name)</code>
 
* <code>[[kubectl logs -f]] -n karpenter $([[kubectl get pods]] -n karpenter -l [[karpenter=controller]] -o name)</code>
* <code>[[kind: Provisioner]]</code>
 
 
* [[Kubernetes PodDisruptionBudget (PDB)]]
 
* [[Kubernetes PodDisruptionBudget (PDB)]]
[[kubectl get all -n karpenter]]
+
* <code>[[kubectl get all -n karpenter]]</code>
[[TopologyKey:]]
+
* <code>[[TopologyKey:]]</code>
 
 
 
* [[Kubernetes scheduler]]
 
* [[Kubernetes scheduler]]
*[[Kubernetes Pod Topology Spread Constraints]]
+
* [[Kubernetes Pod Topology Spread Constraints]]
 +
* [[Kubernetes pod affinity and anti affinity]]
 +
* <code>[[Evict]]</code>
 +
* <code>[[karpenter.sh/do-not-evict: true]]</code>
 +
* [[Kubernetes provisioner]]
 +
* [[IAM OIDC]] provider
 +
* [[Kubernetes controllers]]
 +
* [[Amazon EC2 Auto Scaling]]
 +
* <code>[[kubectl get events]]</code>: <code>[[FailedScheduling]]</code>
 +
* [[Cilium]]
  
 
== See also ==
 
== See also ==
* {{Amazon EC2 Instance types}}
+
* {{kubectl provisioner}}
 
* {{Karpenter}}
 
* {{Karpenter}}
 
* {{Kubernetes autoscaling}}
 
* {{Kubernetes autoscaling}}
  
 
[[Category:AWS]]
 
[[Category:AWS]]

Revision as of 07:13, 3 February 2023

Karpenter (Nov 2021) [1] Kubernetes cluster autoscaling.

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


Logs

News

Activities

Related

See also

  • https://aws.amazon.com/blogs/aws/introducing-karpenter-an-open-source-high-performance-kubernetes-cluster-autoscaler/
  • Advertising: