Kubernetes Engine updates: From cluster operations to node and secret automation
As workloads grow, you need to adjust node capacity. When passwords or API keys change, you also need to reflect those changes in the applications that use them. It is also important to regularly review the cluster access scope and node status. In particular, manually managing nodes and secrets increases repetitive work and can leave configuration changes applied to only some environments.
Recent Kubernetes Engine updates address these operational challenges through cluster features, node automation, and centralized secret integration. Karpenter and External Secrets Operator (ESO) are open-source projects in the Kubernetes ecosystem. Kubernetes Engine provides a Provider and distribution so that you can use KakaoCloud resources and Secrets Manager. This post distinguishes each project's role from the additional configuration required in KakaoCloud.
Improved cluster operations
We improved operational features so that you can configure the API server access scope more precisely and check node status and network configuration more easily.
The main changes are as follows:
- API server endpoint access control: You can allow access from anywhere or restrict it to a list of allowed IPv4 CIDRs. You can also change the allowed range in existing clusters.
- Improved Admission Webhook communication: In Kubernetes 1.34 and later, the API server communicates with the Admission Webhook server through Konnectivity, so you do not need to set
hostNetwork: trueon the Webhook server pod. - Node status diagnostics and topology: Node Problem Detector is installed by default and managed by Kubernetes Engine in Kubernetes 1.34 and later clusters. The Topology tab on the cluster and node pool detail screens shows the subnet and node configuration.
- Improved load balancer configuration: In Kubernetes 1.30 and later, you can configure load balancers with
loadBalancerClassand new annotations.
If you configure load balancers with the existing annotation method in Kubernetes 1.30 and later clusters, prepare to migrate. Support for the existing method is scheduled to end on December 31, 2026. For the process of configuring Services and load balancers with the new method and moving traffic, see Migrate from the existing method.
Automatically manage worker nodes based on workload requirements
Traffic and workloads do not remain constant. When requests spike or a large job starts, you need more nodes to run pods. When the work ends, you need to reduce unused capacity. Karpenter is a controller that monitors unscheduled pods in a cluster and prepares nodes that meet the pods' resource requirements and placement conditions. In Kubernetes Engine, this behavior is implemented by installing the Karpenter Provider, which connects to the KakaoCloud Virtual Machine API.
Karpenter creates Virtual Machines based on pod resource requirements and node policies, and reclaims nodes that are no longer needed when usage decreases. Because created nodes are managed separately from managed node pools, you can secure the capacity needed for highly variable workloads without directly adjusting the number of nodes in a managed node pool.
Rather than replacing existing managed node pools, Karpenter can be used as a separate node automation layer for highly variable workloads. You can separate GPU workloads into a GPU-specific NodePool. For the required settings, see Configure GPU worker nodes.
Karpenter integration in Kubernetes Engine is currently available in early access, with supported regions and instance types defined. Virtual Machines and root volumes that you create incur charges, so check the supported scope and costs before following Install Karpenter and configure nodes.
Use Secrets Manager secrets in a cluster
Database passwords and API keys are used by multiple workloads and changed periodically. Instead of copying these values directly to each cluster, manage Secrets Manager as the source of truth so that the open-source External Secrets Operator (ESO) can synchronize the required values to Kubernetes Secrets. Applications can continue to reference Kubernetes Secrets as environment variables or volumes, so you do not need to change your code to call the Secrets Manager API directly.
Kubernetes Engine provides the Secrets Manager Provider in the KakaoCloud ESO distribution. In the integration settings, specify the secret to retrieve, the target Kubernetes Secret, and the refresh interval. ESO then periodically retrieves the value from Secrets Manager and creates or updates the Kubernetes Secret.
To try the integration yourself, complete the following tutorials in order:
- Integrate Kubernetes Engine with Secrets Manager: Install ESO and configure credentials and synchronization resources to verify the basic integration.
- Use ESO secrets in a Kubernetes Engine cluster: Synchronize a string secret and verify that changing the default version in Secrets Manager is reflected in the Kubernetes Secret.
- The KakaoCloud ESO Provider is read-only. Create, modify, and delete secrets in Secrets Manager.
- Even when a Kubernetes Secret is updated, environment variables in running pods do not change automatically. You need to restart the pods or use a separate refresh policy.
Apply the changes to your environment
Instead of applying all the features introduced in this post at once, choose them based on the challenges in your operating environment. Review the operations guide for API server access control and cluster operations, and the installation guides and tutorials for Karpenter and ESO. If you are using the existing load balancer annotation, prepare to migrate to the new method before support ends on December 31, 2026.
If you have questions or need support during configuration, contact Helpdesk > Technical support.
Thank you.
👉 Get started with Kubernetes Engine
👉 Start using KakaoCloud


