Create and manage cluster
Create cluster
A cluster is the fundamental resource of Kubernetes Engine, where all Kubernetes objects, including containerized applications, are run. You can create clusters via the console, with API support for cluster creation coming soon. Here's how to create a cluster in Kubernetes Engine.
- In the
kr-central-2
region, which supports Multi-AZ, you can improve availability by operating clusters and nodes across multiple availability zones (AZs) within the region. - Before creating a cluster, ensure that a VPC and subnet have already been configured. If they are not yet set up, refer to Create and manage VPC.
Create cluster in the console
You can create a cluster in the KakaoCloud console.
-
Navigate to the KakaoCloud Console > Container Pack > Kubernetes Engine.
-
Click the [Getting started] button to start Kubernetes Engine.
- Once the service is initiated, a service agent will be created to access the Kubernetes Engine resources.
-
In the Cluster menu, click the [Create cluster] button.
-
In Create cluster, enter the required information and click [Create].
Section Description Basic settings • Set basic information for the cluster.
- Cluster name: Enter the name of the cluster.
- Description (optional): Write a description up to 60 characters.
- Kubernetes version: Select the version to use in the cluster.
ᄂ Refer to Supported Kubernetes versions for details.Network settings • Configure the cluster's network settings.
- VPC: Select a VPC shared with the project to deploy the cluster.
- Subnet: Select a subnet from the project for cluster deployment.
ᄂ Select subnets for nodes when creating a node pool.
ᄂ For thekr-central-2
region, you can select multiple subnets in different availability zones to improve availability.
ᄂ At least one subnet from each AZ inkr-central-2
must be selected for a Multi-AZ cluster.
• Cluster endpoint access: Choose public or private access.
ᄂ Public endpoint: Allows cluster endpoint access from external internet.
ᄂ Private endpoint: Restricts cluster endpoint access to the internal VPC network.CNI • Choose between Calico and Cilium as the CNI plugin.
- Service IP CIDR block (optional): Set the IP for service objects.
- Pod IP CIDR block (optional): Set the IP for pods.
⚠️ Warning
Service IP and Pod IP cannot be changed after cluster creation.
Nodes in private subnets cannot communicate with the internet.
For private subnet nodes to communicate with external CRs, NAT is required. You can use a NAT instance. Refer to Appendix. NAT instance for more details.
Allowed conditions for CNI service IP and pod IP are as follows:
- Must be in CIDR format and fall within the private network ranges defined in RFC 1918 for IPv4.
- The minimum size for service IPs is /28, and the maximum is /12.
- The minimum size for pod IPs is /24, and the maximum is /16.
- Service IPs and pod IPs must not overlap.
- Service IPs and pod IPs must not overlap with the VPC set as the cluster network.
- The reserved IP range 198.18.0.0/16 used internally by Kubernetes Engine must not overlap.
- Only IPv4 is supported for service IPs and pod IPs.
Cluster endpoint
-
Depending on the cluster endpoint configuration, the API server endpoint URL is provided.
Cluster endpoint option Description Public cluster endpoint Provides an API server endpoint accessible from the external internet. The API server endpoint is a public IP address. Private cluster endpoint Provides an API server endpoint restricted to the VPC internal network.
The API server endpoint is a private IP address within the VPC. External internet access is not possible.
Manage cluster
Here’s how to manage a cluster in the Kubernetes Engine service.
View cluster list
You can view the list of currently created clusters.
-
Navigate to the KakaoCloud Console > Container Pack > Kubernetes Engine.
-
In the Cluster menu, view the current clusters.
Field Description Name Cluster name ID Unique cluster ID Status Cluster status:
-Provisioned
: Cluster provisioning complete
-Pending
: Cluster provisioning pending
-Provisioning
: Cluster provisioning in progress
-Deleting
: Cluster deletion in progress
-Failed
: Failed, requires user interventionKubernetes version Version information for the cluster's Kubernetes installation Creator Creator ID for the cluster Created at Date the cluster was created [More] icon - kubeconfig file: Download kubeconfig for kubectl control
- Set scale-in: Set node pool auto-scaling conditions
- Modify cluster: Modify the cluster name or description
- Delete cluster: Delete the cluster
Configure scale-in for clusters
Configure the auto downscaling conditions for the node pools of clusters with auto-scaling enabled. This condition automatically reduces the number of nodes when node resource usage (CPU/Memory) remains below a certain threshold. Auto downscaling conditions can be set cluster-wide, applying to all node pools within the cluster.
-
Navigate to the KakaoCloud Console > Container Pack > Kubernetes Engine.
-
In the Cluster menu, click the [More] icon for the target cluster and select Set scale-in.
-
In the Set scale-in popup, enter the required information and click [Save].
Auto downscaling settings popup
Field Description Auto scale-in of node pools within the cluster Enable or disable auto downscaling for all node pools using the auto-scaling feature within the cluster.
- Default: EnabledAuto scale-in threshold conditions Set the node resource usage threshold (CPU/Memory) for auto downscaling.
- Range: 1–100
- Default: 50%Threshold duration Duration (in minutes) that node resource usage must remain below the threshold before downscaling occurs.
- Range: 1–1440 minutes
- Default: 10 minutesCooldown period after scale-out Exclude nodes from downscaling for a set period after they have been scaled up.
- Range: 10–1440 minutes
- Default: 10 minutes
Modify cluster
Modify or view the name, creation date, or description of a cluster.
-
In the KakaoCloud Console, select the Kubernetes Engine menu.
-
In the Cluster menu, click the [More] icon for the desired cluster and select Modify cluster.
-
In the Modify cluster popup, view or update the details. If needed, update the information and click [Apply].
Field Description Cluster name Current name of the cluster Cluster creation date The date the cluster was created Description (optional) Description entered during cluster creation, up to 60 characters.
Delete cluster
You can delete clusters that are no longer in use.
- When deleting a cluster, resources automatically created during cluster creation will also be deleted. For details, refer to Automatically created resources during cluster/node pool creation.
- Security groups automatically created for nodes will not be deleted if additional instances were connected to them.
- In the KakaoCloud Console, select the Kubernetes Engine menu.
- In the Cluster menu, click the [More] icon for the clusterto delete and select Delete cluster.
- In the Delete cluster popup, enter the required information and click [Delete].
Update cluster
When a new Kubernetes version is available in Kubernetes Engine, you can update the control plane of a cluster to the latest version. Upon starting an update, a new control plane with the latest version is created, replacing the existing one. Here's how to update a cluster in the Kubernetes Engine service.
For more details on the supported Kubernetes versions in Kubernetes Engine, refer to Supported versions.
Before starting update
Before starting the update, ensure that the following conditions are met. If not, the update will not proceed. Check the Changelog from the open-source community to assess how changes in the Kubernetes version may affect your applications.
Update conditions
Condition | Description |
---|---|
Cluster status | Provisioned status - If in another status, the update button will not be shown. |
Node pool status | All node pools must be in the Running state - The update button will not appear otherwise. |
Node pool version | All node pools must match the cluster version. If they differ by more than one version, the update button will not appear. |
Update procedures
If the cluster can use the latest version and meets all update conditions, you can proceed with the update.
Kubernetes versions are updated incrementally, and only one version can be updated at a time.
To update multiple versions, perform each update sequentially.
Once the update starts, it cannot be canceled, and you cannot roll back to the previous version.
-
Navigate to the KakaoCloud Console > Container Pack > Kubernetes Engine menu.
-
In the Cluster menu, click the Update button in the Kubernetes version column for the cluster you want to update.
-
In the popup, review the Update version and click [Update].
-
Once the cluster update starts, the cluster status will change to
Updating
. After the update completes, the status will change toProvisioned
. While updating, you cannot add new node pools or modify existing ones.
Considerations after updating
After updating the cluster, when creating a new node pool, the latest node version matching the cluster version will be applied. Existing node pools cannot be modified and must be updated. For more details on node pool updates, refer to Update nodes.
What to check if update fails
If the update fails, the cluster status will change to Failed. If this happens, contact Helpdesk > Technical Support.
- In the KakaoCloud Console, select Helpdesk from the upper-right corner.
- In the Q&A tab, click [Ask a question] in the upper-right corner.
- Click [Technical Support].
- In Ask a question, enter the information and click [Submit].
View cluster details
You can check detailed information about the cluster, node pools, and nodes.
-
Navigate to the KakaoCloud Console > Container Pack > Kubernetes Engine menu.
-
In the Cluster menu, select the cluster to view details.
-
In the cluster details page, review the information.
Field Description Cluster status The status of the selected cluster Kubernetes version The current Kubernetes version in use Creator The ID of the cluster creator Created at The date the cluster was created
View cluster details
Check details like cluster ID, total vCPUs, and network information.
-
Navigate to the KakaoCloud Console > Container Pack > Kubernetes Engine menu.
-
In the Cluster menu, select the cluster to view details.
-
In the Details tab, review the information.
Field Description ID The unique ID of the cluster API server endpoint The endpoint for calling the cluster API Total vCPUs The total number of vCPUs in worker nodes within the cluster Total memory The total memory of worker nodes in the cluster VPC The VPC where the cluster is deployed Subnets The subnets where the cluster is deployed
- In thekr-central-2
region, if multiple subnets in different AZs are selected for improved availability,
all applicable subnets are displayed.Security groups The security groups applied to worker nodes in the cluster
View node pool information
Check information about node pools within the cluster and the nodes in those pools.
-
Navigate to the KakaoCloud Console > Container Pack > Kubernetes Engine menu.
-
In the Cluster menu, select the cluster to view node pool information.
-
Click the Node pool tab to review the information.
Field Description Node pool Name and description of the node pool
- Click on the node pool name to view the detailed pageNode pool status Node pool status
-Running
: Node pool running (regardless of node status)
-Running (Scheduling Disabled)
: All nodes in the node pool have scheduling disabled
-ScalingUp
: Nodes are being added
-ScalingDown
: Nodes are being removed
-Deleting
: Node pool deletion in progress
-Failed
: Failed, requires user interventionKubernetes version Kubernetes version used by the node pool Instance type Type of instances used by nodes in the node pool Node pool type Type of instances running the nodes Volume size Volume size of the instances used by the node pool Number of nodes Number of nodes in the node pool Availability zone Availability zone information for the subnets used by the node pool
View node information
Check details about all nodes within the cluster.
-
Navigate to the KakaoCloud Console > Container Pack > Kubernetes Engine menu.
-
In the Cluster menu, select the cluster to view node information.
-
Click the Node tab to review the information.
Field Description Node Name and description of the node
- Click the node name to view its details pageNode status Node status
-Running
: Node is ready and running
-Running (Scheduling Disabled)
: Node scheduling is blocked (unrelated to pods already assigned and running)
-Provisioned
: Node provisioning complete
-Deleted
: Node deletion complete
-Pending
: Node provisioning pending
-Provisioning
: Node provisioning in progress
-Deleting
: Node deletion in progress
-Failed
: Failed, requires user interventionNode pool Node pool information for the node
- Click the node pool to view its details pagePrivate IP Private IP information of the node Availability zone Availability zone information for the subnet where the node is running Pod scheduling Allowed: New pods can be assigned to the node
Blocked: New pod assignments are blockedUptime Time elapsed since the node was requested, not the creation date