Skip to content

Introduction about gpu‐provisioner

rambohe edited this page Jan 5, 2025 · 5 revisions

AutoScaler vs Karpenter

  1. Both of them are used for providing nodes dynamically.
  2. AutoScaler scales nodes based on a fixed specification which is configured for a node group(like nodepool).
  3. Karpenter is more flexible, provide nodes tailored to the pod's requirements. and supports custom's configuations like instance types and zones. moreover, Karpenter supported some more sophisticated features like consolidation. this feature can use more cheaper node to replace the current one.

Karpenter Modification In gpu-provisioner

gpu-provisioner component is used for provisioning VM by using Azure NodePool resource in terms of NodeClaim resource. so only features related NodeClaim of Karpenter are enabled. and other features such as related to NodeClass and NodePool are disabled.

The following features are used in gpu-provisoner:

  1. nodeclaim lifecycle controller: create/register/init node.
  2. resource termination
  3. garbage collection
  4. nodeclaim conversion webhook: support conversion betwwen v1beta1.NodeClaim and v1.NodeClaim

you can run the command go mod vendor to check all modifications of Karpenter in gpu-provisioner.

The future of gpu-provisioner

  1. Adopt with some NodePool New APIs
  2. Support drift resource

Clone this wiki locally