Created
October 23, 2024 20:07
-
-
Save RobertKielty/2ab9d19fff8ed194c919c95dbf68ef11 to your computer and use it in GitHub Desktop.
/cluster-autoscaler -h from v1.31.0
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
docker run registry.k8s.io/autoscaling/cluster-autoscaler:v1.31.0 /cluster-autoscaler -h | |
Usage of /cluster-autoscaler: | |
pflag: help requested | |
--add-dir-header If true, adds the file directory to the header of the log messages | |
--address string The address to expose prometheus metrics. (default ":8085") | |
--alsologtostderr log to standard error as well as files (no effect when -logtostderr=true) | |
--async-node-groups Whether clusterautoscaler creates and deletes node groups asynchronously. Experimental: requires cloud provider supporting async node group operations, enable at your own risk. | |
--aws-use-static-instance-list Should CA fetch instance types in runtime or use a static list. AWS only | |
--balance-similar-node-groups Detect similar node groups and balance the number of nodes between them | |
--balancing-ignore-label MultiStringFlag Specifies a label to ignore in addition to the basic and cloud-provider set of labels when comparing if two node groups are similar (default []) | |
--balancing-label MultiStringFlag Specifies a label to use for comparing if two node groups are similar, rather than the built in heuristics. Setting this flag disables all other comparison logic, and cannot be combined with --balancing-ignore-label. (default []) | |
--bulk-mig-instances-listing-enabled Fetch GCE mig instances in bulk instead of per mig | |
--bypassed-scheduler-names strings Names of schedulers to bypass. If set to non-empty value, CA will not wait for pods to reach a certain age before triggering a scale-up. | |
--cloud-config string The path to the cloud provider configuration file. Empty string for no configuration file. | |
--cloud-provider string Cloud provider type. Available values: [aws,azure,gce,alicloud,cherryservers,cloudstack,baiducloud,magnum,digitalocean,exoscale,externalgrpc,huaweicloud,hetzner,oci,ovhcloud,clusterapi,ionoscloud,kamatera,kwok,linode,bizflycloud,brightbox,equinixmetal,vultr,tencentcloud,civo,scaleway,rancher,volcengine] (default "gce") | |
--cloud-provider-gce-l7lb-src-cidrs cidrs CIDRs opened in GCE firewall for L7 LB traffic proxy & health checks (default 130.211.0.0/22,35.191.0.0/16) | |
--cloud-provider-gce-lb-src-cidrs cidrs CIDRs opened in GCE firewall for L4 LB traffic proxy & health checks (default 130.211.0.0/22,209.85.152.0/22,209.85.204.0/22,35.191.0.0/16) | |
--cluster-name string Autoscaled cluster name, if available | |
--clusterapi-cloud-config-authoritative Treat the cloud-config flag authoritatively (do not fallback to using kubeconfig flag). ClusterAPI only | |
--cordon-node-before-terminating Should CA cordon nodes before terminating during downscale process | |
--cores-total string Minimum and maximum number of cores in cluster, in the format <min>:<max>. Cluster autoscaler will not scale the cluster beyond these numbers. (default "0:320000") | |
--daemonset-eviction-for-empty-nodes DaemonSet pods will be gracefully terminated from empty nodes | |
--daemonset-eviction-for-occupied-nodes DaemonSet pods will be gracefully terminated from non-empty nodes (default true) | |
--debugging-snapshot-enabled Whether the debugging snapshot of cluster autoscaler feature is enabled | |
--drain-priority-config string List of ',' separated pairs (priority:terminationGracePeriodSeconds) of integers separated by ':' enables priority evictor. Priority evictor groups pods into priority groups based on pod priority and evict pods in the ascending order of group priorities--max-graceful-termination-sec flag should not be set when this flag is set. Not setting this flag will use unordered evictor by default.Priority evictor reuses the concepts of drain logic in kubelet(https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/2712-pod-priority-based-graceful-node-shutdown#migration-from-the-node-graceful-shutdown-feature).Eg. flag usage: '10000:20,1000:100,0:60' | |
--dynamic-node-delete-delay-after-taint-enabled Enables dynamic adjustment of NodeDeleteDelayAfterTaint based of the latency between CA and api-server | |
--emit-per-nodegroup-metrics If true, emit per node group metrics. | |
--enable-proactive-scaleup Whether to enable/disable proactive scale-ups, defaults to false | |
--enable-provisioning-requests Whether the clusterautoscaler will be handling the ProvisioningRequest CRs. | |
--enforce-node-group-min-size Should CA scale up the node group to the configured min size if needed. | |
--estimator string Type of resource estimator to be used in scale up. Available values: [binpacking] (default "binpacking") | |
--expander string Type of node group expander to be used in scale up. Available values: [random,most-pods,least-waste,price,priority,grpc]. Specifying multiple values separated by commas will call the expanders in succession until there is only one option remaining. Ties still existing after this process are broken randomly. (default "random") | |
--expendable-pods-priority-cutoff int Pods with priority below cutoff will be expendable. They can be killed without any consideration during scale down and they don't cause scale up. Pods with null priority (PodPriority disabled) are non expendable. (default -10) | |
--feature-gates mapStringBool A set of key=value pairs that describe feature gates for alpha/experimental features. Options are: | |
APIResponseCompression=true|false (BETA - default=true) | |
APIServerIdentity=true|false (BETA - default=true) | |
APIServerTracing=true|false (BETA - default=true) | |
APIServingWithRoutine=true|false (ALPHA - default=false) | |
AllAlpha=true|false (ALPHA - default=false) | |
AllBeta=true|false (BETA - default=false) | |
AnonymousAuthConfigurableEndpoints=true|false (ALPHA - default=false) | |
AnyVolumeDataSource=true|false (BETA - default=true) | |
AuthorizeNodeWithSelectors=true|false (ALPHA - default=false) | |
AuthorizeWithSelectors=true|false (ALPHA - default=false) | |
CPUManagerPolicyAlphaOptions=true|false (ALPHA - default=false) | |
CPUManagerPolicyBetaOptions=true|false (BETA - default=true) | |
CPUManagerPolicyOptions=true|false (BETA - default=true) | |
CRDValidationRatcheting=true|false (BETA - default=true) | |
CSIMigrationPortworx=true|false (BETA - default=true) | |
CSIVolumeHealth=true|false (ALPHA - default=false) | |
CloudControllerManagerWebhook=true|false (ALPHA - default=false) | |
ClusterTrustBundle=true|false (ALPHA - default=false) | |
ClusterTrustBundleProjection=true|false (ALPHA - default=false) | |
ComponentSLIs=true|false (BETA - default=true) | |
ConcurrentWatchObjectDecode=true|false (BETA - default=false) | |
ConsistentListFromCache=true|false (BETA - default=true) | |
ContainerCheckpoint=true|false (BETA - default=true) | |
ContextualLogging=true|false (BETA - default=true) | |
CoordinatedLeaderElection=true|false (ALPHA - default=false) | |
CronJobsScheduledAnnotation=true|false (BETA - default=true) | |
CrossNamespaceVolumeDataSource=true|false (ALPHA - default=false) | |
CustomCPUCFSQuotaPeriod=true|false (ALPHA - default=false) | |
CustomResourceFieldSelectors=true|false (BETA - default=true) | |
DRAControlPlaneController=true|false (ALPHA - default=false) | |
DisableAllocatorDualWrite=true|false (ALPHA - default=false) | |
DisableNodeKubeProxyVersion=true|false (BETA - default=true) | |
DynamicResourceAllocation=true|false (ALPHA - default=false) | |
EventedPLEG=true|false (ALPHA - default=false) | |
GracefulNodeShutdown=true|false (BETA - default=true) | |
GracefulNodeShutdownBasedOnPodPriority=true|false (BETA - default=true) | |
HPAScaleToZero=true|false (ALPHA - default=false) | |
HonorPVReclaimPolicy=true|false (BETA - default=true) | |
ImageMaximumGCAge=true|false (BETA - default=true) | |
ImageVolume=true|false (ALPHA - default=false) | |
InPlacePodVerticalScaling=true|false (ALPHA - default=false) | |
InTreePluginPortworxUnregister=true|false (ALPHA - default=false) | |
InformerResourceVersion=true|false (ALPHA - default=false) | |
JobBackoffLimitPerIndex=true|false (BETA - default=true) | |
JobManagedBy=true|false (ALPHA - default=false) | |
JobPodReplacementPolicy=true|false (BETA - default=true) | |
JobSuccessPolicy=true|false (BETA - default=true) | |
KubeletCgroupDriverFromCRI=true|false (BETA - default=true) | |
KubeletInUserNamespace=true|false (ALPHA - default=false) | |
KubeletPodResourcesDynamicResources=true|false (ALPHA - default=false) | |
KubeletPodResourcesGet=true|false (ALPHA - default=false) | |
KubeletSeparateDiskGC=true|false (BETA - default=true) | |
KubeletTracing=true|false (BETA - default=true) | |
LoadBalancerIPMode=true|false (BETA - default=true) | |
LocalStorageCapacityIsolationFSQuotaMonitoring=true|false (BETA - default=false) | |
LoggingAlphaOptions=true|false (ALPHA - default=false) | |
LoggingBetaOptions=true|false (BETA - default=true) | |
MatchLabelKeysInPodAffinity=true|false (BETA - default=true) | |
MatchLabelKeysInPodTopologySpread=true|false (BETA - default=true) | |
MaxUnavailableStatefulSet=true|false (ALPHA - default=false) | |
MemoryManager=true|false (BETA - default=true) | |
MemoryQoS=true|false (ALPHA - default=false) | |
MultiCIDRServiceAllocator=true|false (BETA - default=false) | |
MutatingAdmissionPolicy=true|false (ALPHA - default=false) | |
NFTablesProxyMode=true|false (BETA - default=true) | |
NodeInclusionPolicyInPodTopologySpread=true|false (BETA - default=true) | |
NodeLogQuery=true|false (BETA - default=false) | |
NodeSwap=true|false (BETA - default=true) | |
OpenAPIEnums=true|false (BETA - default=true) | |
PodAndContainerStatsFromCRI=true|false (ALPHA - default=false) | |
PodDeletionCost=true|false (BETA - default=true) | |
PodIndexLabel=true|false (BETA - default=true) | |
PodLifecycleSleepAction=true|false (BETA - default=true) | |
PodReadyToStartContainersCondition=true|false (BETA - default=true) | |
PortForwardWebsockets=true|false (BETA - default=true) | |
ProcMountType=true|false (BETA - default=false) | |
QOSReserved=true|false (ALPHA - default=false) | |
RecoverVolumeExpansionFailure=true|false (ALPHA - default=false) | |
RecursiveReadOnlyMounts=true|false (BETA - default=true) | |
RelaxedEnvironmentVariableValidation=true|false (ALPHA - default=false) | |
ReloadKubeletServerCertificateFile=true|false (BETA - default=true) | |
ResilientWatchCacheInitialization=true|false (BETA - default=true) | |
ResourceHealthStatus=true|false (ALPHA - default=false) | |
RetryGenerateName=true|false (BETA - default=true) | |
RotateKubeletServerCertificate=true|false (BETA - default=true) | |
RuntimeClassInImageCriApi=true|false (ALPHA - default=false) | |
SELinuxMount=true|false (ALPHA - default=false) | |
SELinuxMountReadWriteOncePod=true|false (BETA - default=true) | |
SchedulerQueueingHints=true|false (BETA - default=false) | |
SeparateCacheWatchRPC=true|false (BETA - default=true) | |
SeparateTaintEvictionController=true|false (BETA - default=true) | |
ServiceAccountTokenJTI=true|false (BETA - default=true) | |
ServiceAccountTokenNodeBinding=true|false (BETA - default=true) | |
ServiceAccountTokenNodeBindingValidation=true|false (BETA - default=true) | |
ServiceAccountTokenPodNodeInfo=true|false (BETA - default=true) | |
ServiceTrafficDistribution=true|false (BETA - default=true) | |
SidecarContainers=true|false (BETA - default=true) | |
SizeMemoryBackedVolumes=true|false (BETA - default=true) | |
StatefulSetAutoDeletePVC=true|false (BETA - default=true) | |
StorageNamespaceIndex=true|false (BETA - default=true) | |
StorageVersionAPI=true|false (ALPHA - default=false) | |
StorageVersionHash=true|false (BETA - default=true) | |
StorageVersionMigrator=true|false (ALPHA - default=false) | |
StrictCostEnforcementForVAP=true|false (BETA - default=false) | |
StrictCostEnforcementForWebhooks=true|false (BETA - default=false) | |
StructuredAuthenticationConfiguration=true|false (BETA - default=true) | |
StructuredAuthorizationConfiguration=true|false (BETA - default=true) | |
SupplementalGroupsPolicy=true|false (ALPHA - default=false) | |
TopologyAwareHints=true|false (BETA - default=true) | |
TopologyManagerPolicyAlphaOptions=true|false (ALPHA - default=false) | |
TopologyManagerPolicyBetaOptions=true|false (BETA - default=true) | |
TopologyManagerPolicyOptions=true|false (BETA - default=true) | |
TranslateStreamCloseWebsocketRequests=true|false (BETA - default=true) | |
UnauthenticatedHTTP2DOSMitigation=true|false (BETA - default=true) | |
UnknownVersionInteroperabilityProxy=true|false (ALPHA - default=false) | |
UserNamespacesPodSecurityStandards=true|false (ALPHA - default=false) | |
UserNamespacesSupport=true|false (BETA - default=false) | |
VolumeAttributesClass=true|false (BETA - default=false) | |
VolumeCapacityPriority=true|false (ALPHA - default=false) | |
WatchCacheInitializationPostStartHook=true|false (BETA - default=false) | |
WatchFromStorageWithoutResourceVersion=true|false (BETA - default=false) | |
WatchList=true|false (ALPHA - default=false) | |
WatchListClient=true|false (BETA - default=false) | |
WinDSR=true|false (ALPHA - default=false) | |
WinOverlay=true|false (BETA - default=true) | |
WindowsHostNetwork=true|false (ALPHA - default=true) | |
--force-ds Blocks scale-up of node groups too small for all suitable Daemon Sets pods. | |
--frequent-loops-enabled Whether clusterautoscaler triggers new iterations more frequently when it's needed | |
--gce-concurrent-refreshes int Maximum number of concurrent refreshes per cloud object type. (default 1) | |
--gce-expander-ephemeral-storage-support Whether scale-up takes ephemeral storage resources into account for GCE cloud provider (Deprecated, to be removed in 1.30+) (default true) | |
--gce-mig-instances-min-refresh-wait-time duration The minimum time which needs to pass before GCE MIG instances from a given MIG can be refreshed. (default 5s) | |
--ginkgo.always-emit-ginkgo-writer [DEPRECATED] - use -v instead, or one of Ginkgo's machine-readable report formats to get GinkgoWriter output for passing specs. | |
--ginkgo.debug [DEPRECATED] | |
--ginkgo.dry-run If set, ginkgo will walk the test hierarchy without actually running anything. Best paired with -v. | |
--ginkgo.dryRun [DEPRECATED] use --ginkgo.dry-run instead | |
--ginkgo.fail-fast If set, ginkgo will stop running a test suite after a failure occurs. | |
--ginkgo.fail-on-empty If set, ginkgo will mark the test suite as failed if no specs are run. | |
--ginkgo.fail-on-pending If set, ginkgo will mark the test suite as failed if any specs are pending. | |
--ginkgo.failFast [DEPRECATED] use --ginkgo.fail-fast instead | |
--ginkgo.failOnPending [DEPRECATED] use --ginkgo.fail-on-pending instead | |
--ginkgo.flake-attempts int Make up to this many attempts to run each spec. If any of the attempts succeed, the suite will not be failed. | |
--ginkgo.flakeAttempts int [DEPRECATED] use --ginkgo.flake-attempts instead | |
--ginkgo.focus stringSliceVar If set, ginkgo will only run specs that match this regular expression. Can be specified multiple times, values are ORed. | |
--ginkgo.focus-file stringSliceVar If set, ginkgo will only run specs in matching files. Can be specified multiple times, values are ORed. | |
--ginkgo.force-newlines If set, default reporter will ensure a newline appears after each test. | |
--ginkgo.github-output If set, default reporter prints easier to manage output in Github Actions. | |
--ginkgo.grace-period duration When interrupted, Ginkgo will wait for GracePeriod for the current running node to exit before moving on to the next one. (default 30s) | |
--ginkgo.json-report string If set, Ginkgo will generate a JSON-formatted test report at the specified location. | |
--ginkgo.junit-report string If set, Ginkgo will generate a conformant junit test report in the specified file. | |
--ginkgo.label-filter string If set, ginkgo will only run specs with labels that match the label-filter. The passed-in expression can include boolean operations (!, &&, ||, ','), groupings via '()', and regular expressions '/regexp/'. e.g. '(cat || dog) && !fruit' | |
--ginkgo.no-color If set, suppress color output in default reporter. | |
--ginkgo.noColor [DEPRECATED] use --ginkgo.no-color instead | |
--ginkgo.noisyPendings [DEPRECATED] | |
--ginkgo.noisySkippings [DEPRECATED] | |
--ginkgo.output-interceptor-mode string If set, ginkgo will use the specified output interception strategy when running in parallel. Defaults to dup on unix and swap on windows. | |
--ginkgo.parallel.host string The address for the server that will synchronize the processes. | |
--ginkgo.parallel.process int This worker process's (one-indexed) process number. For running specs in parallel. (default 1) | |
--ginkgo.parallel.total int The total number of worker processes. For running specs in parallel. (default 1) | |
--ginkgo.poll-progress-after duration Emit node progress reports periodically if node hasn't completed after this duration. (default 0s) | |
--ginkgo.poll-progress-interval duration The rate at which to emit node progress reports after poll-progress-after has elapsed. (default 0s) | |
--ginkgo.progress [DEPRECATED] . The functionality provided by --progress was confusing and is no longer needed. Use --show-node-events instead to see node entry and exit events included in the timeline of failed and verbose specs. Or you can run with -vv to always see all node events. Lastly, --poll-progress-after and the PollProgressAfter decorator now provide a better mechanism for debugging specs that tend to get stuck. | |
--ginkgo.randomize-all If set, ginkgo will randomize all specs together. By default, ginkgo only randomizes the top level Describe, Context and When containers. | |
--ginkgo.randomizeAllSpecs [DEPRECATED] use --ginkgo.randomize-all instead | |
--ginkgo.regexScansFilePath [DEPRECATED] | |
--ginkgo.reportFile string [DEPRECATED] use --ginkgo.junit-report instead | |
--ginkgo.seed int The seed used to randomize the spec suite. (default 1729713773) | |
--ginkgo.show-node-events If set, default reporter prints node > Enter and < Exit events when specs fail | |
--ginkgo.silence-skips If set, default reporter will not print out skipped tests. | |
--ginkgo.skip stringSliceVar If set, ginkgo will only run specs that do not match this regular expression. Can be specified multiple times, values are ORed. | |
--ginkgo.skip-file stringSliceVar If set, ginkgo will skip specs in matching files. Can be specified multiple times, values are ORed. | |
--ginkgo.slow-spec-threshold duration [DEPRECATED] --slow-spec-threshold has been deprecated and will be removed in a future version of Ginkgo. This feature has proved to be more noisy than useful. You can use --poll-progress-after, instead, to get more actionable feedback about potentially slow specs and understand where they might be getting stuck. (default 0s) | |
--ginkgo.slowSpecThreshold float [DEPRECATED] use --slow-spec-threshold instead and pass in a duration string (e.g. '5s', not '5.0') | |
--ginkgo.source-root stringSliceVar The location to look for source code when generating progress reports. You can pass multiple --source-root flags. | |
--ginkgo.succinct If set, default reporter prints out a very succinct report | |
--ginkgo.teamcity-report string If set, Ginkgo will generate a Teamcity-formatted test report at the specified location. | |
--ginkgo.timeout duration Test suite fails if it does not complete within the specified timeout. (default 1h0m0s) | |
--ginkgo.trace If set, default reporter prints out the full stack trace when a failure occurs | |
--ginkgo.v If set, emits more output including GinkgoWriter contents. | |
--ginkgo.vv If set, emits with maximal verbosity - includes skipped and pending tests. | |
--gpu-total MultiStringFlag Minimum and maximum number of different GPUs in cluster, in the format <gpu_type>:<min>:<max>. Cluster autoscaler will not scale the cluster beyond these numbers. Can be passed multiple times. CURRENTLY THIS FLAG ONLY WORKS ON GKE. (default []) | |
--grpc-expander-cert string Path to cert used by gRPC server over TLS | |
--grpc-expander-url string URL to reach gRPC expander server. | |
--ignore-daemonsets-utilization Should CA ignore DaemonSet pods when calculating resource utilization for scaling down | |
--ignore-mirror-pods-utilization Should CA ignore Mirror pods when calculating resource utilization for scaling down | |
--ignore-taint MultiStringFlag Specifies a taint to ignore in node templates when considering to scale a node group (Deprecated, use startup-taints instead) (default []) | |
--initial-node-group-backoff-duration duration initialNodeGroupBackoffDuration is the duration of first backoff after a new node failed to start. (default 5m0s) | |
--kube-api-content-type string Content type of requests sent to apiserver. (default "application/vnd.kubernetes.protobuf") | |
--kube-client-burst int Burst value for kubernetes client. (default 10) | |
--kube-client-qps float QPS value for kubernetes client. (default 5) | |
--kubeconfig string Path to kubeconfig file with authorization and master location information. | |
--kubernetes string Kubernetes master location. Leave blank for default | |
--leader-elect Start a leader election client and gain leadership before executing the main loop. Enable this when running replicated components for high availability. (default true) | |
--leader-elect-lease-duration duration The duration that non-leader candidates will wait after observing a leadership renewal until attempting to acquire leadership of a led but unrenewed leader slot. This is effectively the maximum duration that a leader can be stopped before it is replaced by another candidate. This is only applicable if leader election is enabled. (default 15s) | |
--leader-elect-renew-deadline duration The interval between attempts by the acting master to renew a leadership slot before it stops leading. This must be less than the lease duration. This is only applicable if leader election is enabled. (default 10s) | |
--leader-elect-resource-lock string The type of resource object that is used for locking during leader election. Supported options are 'leases', 'endpointsleases' and 'configmapsleases'. (default "leases") | |
--leader-elect-resource-name string The name of resource object that is used for locking during leader election. (default "cluster-autoscaler") | |
--leader-elect-resource-namespace string The namespace of resource object that is used for locking during leader election. | |
--leader-elect-retry-period duration The duration the clients should wait between attempting acquisition and renewal of a leadership. This is only applicable if leader election is enabled. (default 2s) | |
--log-backtrace-at traceLocation when logging hits line file:N, emit a stack trace (default :0) | |
--log-dir string If non-empty, write log files in this directory (no effect when -logtostderr=true) | |
--log-file string If non-empty, use this log file (no effect when -logtostderr=true) | |
--log-file-max-size uint Defines the maximum size a log file can grow to (no effect when -logtostderr=true). Unit is megabytes. If the value is 0, the maximum file size is unlimited. (default 1800) | |
--log-flush-frequency duration Maximum number of seconds between log flushes (default 5s) | |
--log-json-info-buffer-size quantity [Alpha] In JSON format with split output streams, the info messages can be buffered for a while to increase performance. The default value of zero bytes disables buffering. The size can be specified as number of bytes (512), multiples of 1000 (1K), multiples of 1024 (2Ki), or powers of those (3M, 4G, 5Mi, 6Gi). Enable the LoggingAlphaOptions feature gate to use this. | |
--log-json-split-stream [Alpha] In JSON format, write error messages to stderr and info messages to stdout. The default is to write a single stream to stdout. Enable the LoggingAlphaOptions feature gate to use this. | |
--log-text-info-buffer-size quantity [Alpha] In text format with split output streams, the info messages can be buffered for a while to increase performance. The default value of zero bytes disables buffering. The size can be specified as number of bytes (512), multiples of 1000 (1K), multiples of 1024 (2Ki), or powers of those (3M, 4G, 5Mi, 6Gi). Enable the LoggingAlphaOptions feature gate to use this. | |
--log-text-split-stream [Alpha] In text format, write error messages to stderr and info messages to stdout. The default is to write a single stream to stdout. Enable the LoggingAlphaOptions feature gate to use this. | |
--logging-format string Sets the log format. Permitted formats: "json" (gated by LoggingBetaOptions), "text". (default "text") | |
--logtostderr log to standard error instead of files (default true) | |
--max-allocatable-difference-ratio float Maximum difference in allocatable resources between two similar node groups to be considered for balancing. Value is a ratio of the smaller node group's allocatable resource. (default 0.05) | |
--max-autoprovisioned-node-group-count int The maximum number of autoprovisioned groups in the cluster.This flag is deprecated and will be removed in future releases. (default 15) | |
--max-binpacking-time duration Maximum time spend on binpacking for a single scale-up. If binpacking is limited by this, scale-up will continue with the already calculated scale-up options. (default 5m0s) | |
--max-bulk-soft-taint-count int Maximum number of nodes that can be tainted/untainted PreferNoSchedule at the same time. Set to 0 to turn off such tainting. (default 10) | |
--max-bulk-soft-taint-time duration Maximum duration of tainting/untainting nodes as PreferNoSchedule at the same time. (default 3s) | |
--max-drain-parallelism int Maximum number of nodes needing drain, that can be drained and deleted in parallel. (default 1) | |
--max-empty-bulk-delete int Maximum number of empty nodes that can be deleted at the same time. (default 10) | |
--max-failing-time duration Maximum time from last recorded successful autoscaler run before automatic restart (default 15m0s) | |
--max-free-difference-ratio float Maximum difference in free resources between two similar node groups to be considered for balancing. Value is a ratio of the smaller node group's free resource. (default 0.05) | |
--max-graceful-termination-sec int Maximum number of seconds CA waits for pod termination when trying to scale down a node. This flag is mutually exclusion with drain-priority-config flag which allows more configuration options. (default 600) | |
--max-inactivity duration Maximum time from last recorded autoscaler activity before automatic restart (default 10m0s) | |
--max-node-group-backoff-duration duration maxNodeGroupBackoffDuration is the maximum backoff duration for a NodeGroup after new nodes failed to start. (default 30m0s) | |
--max-node-provision-time duration The default maximum time CA waits for node to be provisioned - the value can be overridden per node group (default 15m0s) | |
--max-nodegroup-binpacking-duration duration Maximum time that will be spent in binpacking simulation for each NodeGroup. (default 10s) | |
--max-nodes-per-scaleup int Max nodes added in a single scale-up. This is intended strictly for optimizing CA algorithm latency and not a tool to rate-limit scale-up throughput. (default 1000) | |
--max-nodes-total int Maximum number of nodes in all node groups. Cluster autoscaler will not grow the cluster beyond this number. | |
--max-pod-eviction-time duration Maximum time CA tries to evict a pod before giving up (default 2m0s) | |
--max-scale-down-parallelism int Maximum number of nodes (both empty and needing drain) that can be deleted in parallel. (default 10) | |
--max-total-unready-percentage float Maximum percentage of unready nodes in the cluster. After this is exceeded, CA halts operations (default 45) | |
--memory-difference-ratio float Maximum difference in memory capacity between two similar node groups to be considered for balancing. Value is a ratio of the smaller node group's memory capacity. (default 0.015) | |
--memory-total string Minimum and maximum number of gigabytes of memory in cluster, in the format <min>:<max>. Cluster autoscaler will not scale the cluster beyond these numbers. (default "0:6400000") | |
--min-replica-count int Minimum number or replicas that a replica set or replication controller should have to allow their pods deletion in scale down | |
--namespace string Namespace in which cluster-autoscaler run. (default "kube-system") | |
--new-pod-scale-up-delay duration Pods less than this old will not be considered for scale-up. Can be increased for individual pods through annotation 'cluster-autoscaler.kubernetes.io/pod-scale-up-delay'. (default 0s) | |
--node-autoprovisioning-enabled Should CA autoprovision node groups when needed.This flag is deprecated and will be removed in future releases. | |
--node-delete-delay-after-taint duration How long to wait before deleting a node after tainting it (default 5s) | |
--node-deletion-batcher-interval duration How long CA ScaleDown gather nodes to delete them in batch. (default 0s) | |
--node-deletion-delay-timeout duration Maximum time CA waits for removing delay-deletion.cluster-autoscaler.kubernetes.io/ annotations before deleting the node. (default 2m0s) | |
--node-group-auto-discovery <name of discoverer>:[<key>[=<value>]] One or more definition(s) of node group auto-discovery. A definition is expressed <name of discoverer>:[<key>[=<value>]]. The `aws`, `gce`, and `azure` cloud providers are currently supported. AWS matches by ASG tags, e.g. `asg:tag=tagKey,anotherTagKey`. GCE matches by IG name prefix, and requires you to specify min and max nodes per IG, e.g. `mig:namePrefix=pfx,min=0,max=10` Azure matches by VMSS tags, similar to AWS. And you can optionally specify a default min and max size, e.g. `label:tag=tagKey,anotherTagKey=bar,min=0,max=600`. Can be used multiple times. (default []) | |
--node-group-backoff-reset-timeout duration nodeGroupBackoffResetTimeout is the time after last failed scale-up when the backoff duration is reset. (default 3h0m0s) | |
--node-info-cache-expire-time duration Node Info cache expire time for each item. Default value is 10 years. (default 87600h0m0s) | |
--nodes MultiStringFlag sets min,max size and other configuration data for a node group in a format accepted by cloud provider. Can be used multiple times. Format: <min>:<max>:<other...> (default []) | |
--ok-total-unready-count int Number of allowed unready nodes, irrespective of max-total-unready-percentage (default 3) | |
--one-output If true, only write logs to their native severity level (vs also writing to each lower severity level; no effect when -logtostderr=true) | |
--parallel-drain Whether to allow parallel drain of nodes. This flag is deprecated and will be removed in future releases. (default true) | |
--parallel-scale-up Whether to allow parallel node groups scale up. Experimental: may not work on some cloud providers, enable at your own risk. | |
--pod-injection-limit int Limits total number of pods while injecting fake pods. If unschedulable pods already exceeds the limit, pod injection is disabled but pods are not truncated. (default 5000) | |
--profiling Is debug/pprof endpoint enabled | |
--record-duplicated-events enable duplication of similar events within a 5 minute window. | |
--regional Cluster is regional. | |
--scale-down-candidates-pool-min-count int Minimum number of nodes that are considered as additional non empty candidatesfor scale down when some candidates from previous iteration are no longer valid.When calculating the pool size for additional candidates we takemax(#nodes * scale-down-candidates-pool-ratio, scale-down-candidates-pool-min-count). (default 50) | |
--scale-down-candidates-pool-ratio float A ratio of nodes that are considered as additional non empty candidates forscale down when some candidates from previous iteration are no longer valid.Lower value means better CA responsiveness but possible slower scale down latency.Higher value can affect CA performance with big clusters (hundreds of nodes).Set to 1.0 to turn this heuristics off - CA will take all nodes as additional candidates. (default 0.1) | |
--scale-down-delay-after-add duration How long after scale up that scale down evaluation resumes (default 10m0s) | |
--scale-down-delay-after-delete duration How long after node deletion that scale down evaluation resumes, defaults to scanInterval (default 0s) | |
--scale-down-delay-after-failure duration How long after scale down failure that scale down evaluation resumes (default 3m0s) | |
--scale-down-delay-type-local Should --scale-down-delay-after-* flags be applied locally per nodegroup or globally across all nodegroups | |
--scale-down-enabled Should CA scale down the cluster (default true) | |
--scale-down-gpu-utilization-threshold float Sum of gpu requests of all pods running on the node divided by node's allocatable resource, below which a node can be considered for scale down.Utilization calculation only cares about gpu resource for accelerator node. cpu and memory utilization will be ignored. (default 0.5) | |
--scale-down-non-empty-candidates-count int Maximum number of non empty nodes considered in one iteration as candidates for scale down with drain.Lower value means better CA responsiveness but possible slower scale down latency.Higher value can affect CA performance with big clusters (hundreds of nodes).Set to non positive value to turn this heuristic off - CA will not limit the number of nodes it considers. (default 30) | |
--scale-down-simulation-timeout duration How long should we run scale down simulation. (default 30s) | |
--scale-down-unneeded-time duration How long a node should be unneeded before it is eligible for scale down (default 10m0s) | |
--scale-down-unready-enabled Should CA scale down unready nodes of the cluster (default true) | |
--scale-down-unready-time duration How long an unready node should be unneeded before it is eligible for scale down (default 20m0s) | |
--scale-down-utilization-threshold float The maximum value between the sum of cpu requests and sum of memory requests of all pods running on the node divided by node's corresponding allocatable resource, below which a node can be considered for scale down (default 0.5) | |
--scale-up-from-zero Should CA scale up when there are 0 ready nodes. (default true) | |
--scan-interval duration How often cluster is reevaluated for scale up or down (default 10s) | |
--scheduler-config-file string scheduler-config allows changing configuration of in-tree scheduler plugins acting on PreFilter and Filter extension points | |
--skip-headers If true, avoid header prefixes in the log messages | |
--skip-log-headers If true, avoid headers when opening log files (no effect when -logtostderr=true) | |
--skip-nodes-with-custom-controller-pods If true cluster autoscaler will never delete nodes with pods owned by custom controllers (default true) | |
--skip-nodes-with-local-storage If true cluster autoscaler will never delete nodes with pods with local storage, e.g. EmptyDir or HostPath (default true) | |
--skip-nodes-with-system-pods If true cluster autoscaler will never delete nodes with pods from kube-system (except for DaemonSet or mirror pods) (default true) | |
--startup-taint MultiStringFlag Specifies a taint to ignore in node templates when considering to scale a node group (Equivalent to ignore-taint) (default []) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment