Loading...
Loading...
Trigger on mention of GKE cluster autoscaler, node autoscaling, node pool auto-creation / node auto-provisioning. Provides guidance on enabling and optimizing cluster autoscaler, best practices, and troubleshooting issues such as nodes not scaling up or down, zonal stockouts, or capacity buffers. Do not use for ComputeClass-specific YAML generation or priority configuration (defer to gke-compute-classes skill).
npx skill4agent add google/skills gke-cluster-autoscalerCluster AutoscalerNode Auto ProvisioningNode Pool Auto CreationComputeClassCANAPNACCCC^[a-z0-9-]+$;|$()## SYSTEM NOTE FOR ASSISTANTsafe-to-evict: "false"kube-systemsafe-to-evict: "false"emptyDirsafe-to-evict: "true"disruptionsAllowed: 0min-nodesscale-down-disabled: truekubernetes.io/hostnameassets/find-scale-down-blockers.shgke-compute-classgke-compute-classspec.nodePoolAutoCreation.enabled: truegcloud container clusters update <C> --enable-autoprovisioning --max-cpu=200 --max-memory=800gcloud container node-pools update <P> --enable-autoscaling --min-nodes=1 --max-nodes=10gcloud container clusters update <C> --autoscaling-profile=optimize-utilizationspec.autoscalingPolicy.consolidationDelayMinutes: 5location.locationPolicy: ANYBALANCEDBALANCEDBALANCEDkubeletConfig.shutdownGracePeriodSeconds: 120container.googleapis.com/cluster-autoscaler-visibilityassets/log-autoscaler-events.sh <cluster-name>kubectl label ns kube-system cloud.google.com/default-compute-class-non-daemonset=system-poolmachineFamily: n4reservations--min-nodesreplicas: Npercentage: 20assets/capacity-buffer-serving.yamlscale.up.error.out.of.resourcesgke-compute-classlocationPolicy: ANYscale.up.error.quota.exceededscale.up.error.ip.space.exhausted--max-nodesout_of_resourcesZONE_RESOURCE_POOL_EXHAUSTEDnodeSelectorBALANCEDgke-compute-classtopologySpreadConstraintsDoNotScheduleSCALE-DOWN BLOCKERScontainer.googleapis.com/cluster-autoscaler-visibilityassets/find-scale-down-blockers.shassets/log-autoscaler-events.sh <cluster-name>cloud.google.com/machine-familymachine-familywhenUnsatisfiable: ScheduleAnywaywhenUnsatisfiable: DoNotScheduleautoscalingPolicy./assets/log-autoscaler-events.sh <cluster-name>./assets/find-scale-down-blockers.sh [-n namespace]safe-to-evict./assets/capacity-buffer-serving.yamlmin-nodesmin-nodesVolumeBindingMode: ImmediatevolumeBindingMode: WaitForFirstConsumerCSIMigrationGCEconfidentialNodeType: CONFIDENTIAL_INSTANCE_TYPE_UNSPECIFIEDfinal_score[project-num]@cloudservices.gserviceaccount.comBALANCEDANYACTIVE_RESIZE_REQUESTSmaxSurge > 1maxSkew: 1DoNotSchedulestrategy.rollingUpdate.maxSurge: 1kube-schedulergke-system-balloon-pod