# Kubernetes ### Kubernetes requires nodes in your cluster to run pods. ref: https://kubernetes.io/docs/concepts/cluster-administration/cluster-autoscaling/ **This means providing capacity for the workload Pods and for Kubernetes itself.** You can adjust the amount of resources available in your cluster automatically: **_node autoscaling._** #### You can either : - **change the number of nodes** (**horizontal scaling**) **or** - **change the capacity** **(vertical scaling**) _that nodes provide._ :bookmark: The first approach is referred to as **horizontal scaling**, :bookmark: The second is referred to as **vertical scaling**. Kubernetes can even provide multidimensional automatic scaling for nodes. ## Feature Gates to Client-Go: Enhancing Flexibility and Control ref : By Ben Luddy (Red Hat), Lukasz Szaszkiewicz (Red Hat) | Monday, August 12, 2024 https://kubernetes.io/blog/2024/08/12/feature-gates-in-client-go/ Kubernetes **components use on-off switches** called **feature gates to manage the risk of adding a new feature**. The feature gate mechanism **is what enables incremental graduation of a feature through the stages Alpha, Beta, and GA.** Kubernetes components, such as **kube-controller-manager and kube-scheduler**, use the* client-go library to interact with the API. The same **library is used** across the Kubernetes ecosystem **to build controllers, tools, webhooks, and more**. **client-go now includes its own feature gating mechanism**, giving developers and cluster administrators **more control over how they adopt client features**. To learn more about Feature Gates :arrow_forward: https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/ _contains an overview of the_ **various feature gates an administrator can specify on different Kubernetes components.** ```go= --feature-gates=...,GracefulNodeShutdown=true ```