Usage of karpenter:
-batch-idle-duration duration
The maximum amount of time with no new pending pods that if exceeded ends the current batching window. If pods arrive faster than this time, the batching window will be extended up to the maxDuration. If they arrive slower, the pods will be batched separately. (default 1s)
-batch-max-duration duration
The maximum length of a batch window. The longer this is, the more pods we can consider for provisioning at one time which usually results in fewer but larger nodes. (default 10s)
-cluster-ca-bundle string
Cluster CA bundle for nodes to use for TLS connections with the API server. If not set, this is taken from the controller's TLS configuration.
-cluster-endpoint string
The external kubernetes cluster endpoint for new nodes to connect with. If not specified, will discover the cluster endpoint using DescribeCluster API.
-cluster-name string
[REQUIRED] The kubernetes cluster name for resource discovery.
-cpu-requests int
CPU requests in millicores on the container running the controller. (default 1000)
-disable-dry-run
If true, then disable dry run validation for EC2NodeClasses.
-disable-leader-election
Disable the leader election client before executing the main loop. Disable when running replicated components for high availability is not desired.
-eks-control-plane
Marking this true means that your cluster is running with an EKS control plane and Karpenter should attempt to discover cluster details from the DescribeCluster API
-enable-profiling
Enable the profiling on the metric endpoint
-feature-gates string
Optional features can be enabled / disabled using feature gates. Current options are: NodeRepair, ReservedCapacity, and SpotToSpotConsolidation. (default "NodeRepair=false,ReservedCapacity=true,SpotToSpotConsolidation=false")
-health-probe-port int
The port the health probe endpoint binds to for reporting controller health (default 8081)
-interruption-queue string
Interruption queue is the name of the SQS queue used for processing interruption events from EC2. Interruption handling is disabled if not specified. Enabling interruption handling may require additional permissions on the controller service account. Additional permissions are outlined in the docs.
-isolated-vpc
If true, then assume we can't reach AWS services which don't have a VPC endpoint. This also has the effect of disabling look-ups to the AWS on-demand pricing endpoint.
-karpenter-service string
The Karpenter Service name for the dynamic webhook certificate
-kube-client-burst int
The maximum allowed burst of queries to the kube-apiserver (default 300)
-kube-client-qps int
The smoothed rate of qps to kube-apiserver (default 200)
-leader-election-name string
Leader election name to create and monitor the lease if running outside the cluster (default "karpenter-leader-election")
-leader-election-namespace string
Leader election namespace to create and monitor the lease if running outside the cluster
-log-error-output-paths string
Optional comma separated paths for logging error output (default "stderr")
-log-level string
Log verbosity level. Can be one of 'debug', 'info', or 'error' (default "info")
-log-output-paths string
Optional comma separated paths for directing log output (default "stdout")
-memory-limit int
Memory limit on the container running the controller. The GC soft memory limit is set to 90% of this value. (default -1)
-metrics-port int
The port the metric endpoint binds to for operating metrics about the controller itself (default 8080)
-min-values-policy string
Min values policy for scheduling. Options include 'Strict' for existing behavior where min values are strictly enforced or 'BestEffort' where Karpenter relaxes min values when it isn't satisfied. (default "Strict")
-preference-policy string
How the Karpenter scheduler should treat preferences. Preferences include preferredDuringSchedulingIgnoreDuringExecution node and pod affinities/anti-affinities and ScheduleAnyways topologySpreadConstraints. Can be one of 'Ignore' and 'Respect' (default "Respect")
-reserved-enis int
Reserved ENIs are not included in the calculations for max-pods or kube-reserved. This is most often used in the VPC CNI custom networking setup https://docs.aws.amazon.com/eks/latest/userguide/cni-custom-network.html.
-vm-memory-overhead-percent float
The VM memory overhead as a percent that will be subtracted from the total memory for all instance types when cached information is unavailable. (default 0.075)
Options (28)
| Option | Description | Source |
|---|---|---|
-batch-idle-duration duration | The maximum amount of time with no new pending pods that if exceeded ends the current batching window. | help |
-batch-max-duration duration | The maximum length of a batch window. | help |
-cluster-ca-bundle string | Cluster CA bundle for nodes to use for TLS connections with the API server. | help |
-cluster-endpoint string | The external kubernetes cluster endpoint for new nodes to connect with. | help |
-cluster-name string | [REQUIRED] The kubernetes cluster name for resource discovery. | help |
-cpu-requests int | CPU requests in millicores on the container running the controller. | help |
-disable-dry-run | If true, then disable dry run validation for EC2NodeClasses. | help |
-disable-leader-election | Disable the leader election client before executing the main loop. | help |
-eks-control-plane | Marking this true means that your cluster is running with an EKS control plane and Karpenter should attempt to discover cluster details from the DescribeCluster API | help |
-enable-profiling | Enable the profiling on the metric endpoint | help |
-feature-gates string | Optional features can be enabled / disabled using feature gates. | help |
-health-probe-port int | The port the health probe endpoint binds to for reporting controller health (default 8081) | help |
-interruption-queue string | Interruption queue is the name of the SQS queue used for processing interruption events from EC2. | help |
-isolated-vpc | If true, then assume we can't reach AWS services which don't have a VPC endpoint. | help |
-karpenter-service string | The Karpenter Service name for the dynamic webhook certificate | help |
-kube-client-burst int | The maximum allowed burst of queries to the kube-apiserver (default 300) | help |
-kube-client-qps int | The smoothed rate of qps to kube-apiserver (default 200) | help |
-leader-election-name string | Leader election name to create and monitor the lease if running outside the cluster (default "karpenter-leader-election") | help |
-leader-election-namespace string | Leader election namespace to create and monitor the lease if running outside the cluster | help |
-log-error-output-paths string | Optional comma separated paths for logging error output (default "stderr") | help |
-log-level string | Log verbosity level. | help |
-log-output-paths string | Optional comma separated paths for directing log output (default "stdout") | help |
-memory-limit int | Memory limit on the container running the controller. | help |
-metrics-port int | The port the metric endpoint binds to for operating metrics about the controller itself (default 8080) | help |
-min-values-policy string | Min values policy for scheduling. | help |
-preference-policy string | How the Karpenter scheduler should treat preferences. | help |
-reserved-enis int | Reserved ENIs are not included in the calculations for max-pods or kube-reserved. | help |
-vm-memory-overhead-percent float | The VM memory overhead as a percent that will be subtracted from the total memory for all instance types when cached information is unavailable. | help |