Difference between revisions of "Karpenter"
Jump to navigation
Jump to search
↑ https://aws.amazon.com/blogs/aws/introducing-karpenter-an-open-source-high-performance-kubernetes-cluster-autoscaler/
(7 intermediate revisions by the same user 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]]. | + | [[wikipedia: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 | * https://docs.aws.amazon.com/eks/latest/userguide/autoscaling.html#karpenter | ||
Line 12: | Line 12: | ||
[[helm repo update]] | [[helm repo update]] | ||
[[helm install karpenter]] | [[helm install karpenter]] | ||
+ | |||
+ | [[kind: NodePool]] | ||
+ | [[kind: EC2NodeClass]] | ||
+ | [[kind: AWSNodeTemplate]] | ||
Line 28: | Line 32: | ||
* <code>[[stern -n karpenter -l app.kubernetes.io/name=karpenter]]</code> | * <code>[[stern -n karpenter -l app.kubernetes.io/name=karpenter]]</code> | ||
+ | |||
+ | == Events == | ||
+ | * <code>[[InstanceTerminating]]</code> | ||
== [[Karpenter changelog|News]] == | == [[Karpenter changelog|News]] == | ||
Line 67: | Line 74: | ||
* [[Kubernetes Event-Driven Autoscaling (KEDA)]] | * [[Kubernetes Event-Driven Autoscaling (KEDA)]] | ||
* [[Amazon EKS to run Kubernetes Pods on AWS Fargate]] | * [[Amazon EKS to run Kubernetes Pods on AWS Fargate]] | ||
+ | * [[AKS Node autoprovisioning]] | ||
+ | * [[GKE node auto-provisioning]] | ||
== See also == | == See also == |
Latest revision as of 07:24, 3 October 2024
wikipedia:Karpenter (Nov 2021) [1] Kubernetes cluster autoscaling.
helm repo add karpenter https://charts.karpenter.sh/ helm repo update helm install karpenter
kind: NodePool kind: EC2NodeClass kind: AWSNodeTemplate
Contents
Logs[edit]
controller.provisioning Relaxing soft constrains ...
controller.node Triggering termination for expired node after 168h0m0s .../...
kubectl patch configmap config-logging -n karpenter --patch '{"data":{"loglevel.controller":"debug"}}'
Events[edit]
News[edit]
- 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[edit]
- 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/
- Read https://aws.amazon.com/blogs/containers/managing-pod-scheduling-constraints-and-groupless-node-upgrades-with-karpenter-in-amazon-eks/
Related[edit]
- Amazon EC2 Instance types:
- AWS Auto Scaling Groups (ASG)
- 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)
- Kubernetes PodDisruptionBudget (PDB)
kubectl get all -n karpenter
TopologyKey:
- Kubernetes scheduler
- Kubernetes Pod Topology Spread Constraints
- Kubernetes pod affinity and anti affinity
Evict
karpenter.sh/do-not-evict: true
- Kubernetes provisioner
- IAM OIDC provider
- Kubernetes controllers
- Amazon EC2 Auto Scaling
kubectl get events
:FailedScheduling
- Cilium
- Kubernetes Event-Driven Autoscaling (KEDA)
- Amazon EKS to run Kubernetes Pods on AWS Fargate
- AKS Node autoprovisioning
- GKE node auto-provisioning
See also[edit]
karpenter.sh [ /capacity-type | /discovery | /arch | /provisioner-name | /do-not-evict | /do-not-consolidate | /termination | /discovery ]
, provisioners.karpenter.shkubeclt [ get | describe | patch ] provisioner
- 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: