Skip to main content

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.

info
  • 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.

  1. Navigate to the KakaoCloud Console > Container Pack > Kubernetes Engine.

  2. 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.
  3. In the Cluster menu, click the [Create cluster] button.

  4. In Create cluster, enter the required information and click [Create].

    Step 1: Cluster setup page

    SectionDescription
    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 the kr-central-2 region, you can select multiple subnets in different availability zones to improve availability.
      ᄂ At least one subnet from each AZ in kr-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.
info

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.

caution

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 optionDescription
    Public cluster endpointProvides an API server endpoint accessible from the external internet. The API server endpoint is a public IP address.
    Private cluster endpointProvides 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.

  1. Navigate to the KakaoCloud Console > Container Pack > Kubernetes Engine.

  2. In the Cluster menu, view the current clusters.

    FieldDescription
    NameCluster name
    IDUnique cluster ID
    StatusCluster status:
    - Provisioned: Cluster provisioning complete
    - Pending: Cluster provisioning pending
    - Provisioning: Cluster provisioning in progress
    - Deleting: Cluster deletion in progress
    - Failed: Failed, requires user intervention
    Kubernetes versionVersion information for the cluster's Kubernetes installation
    CreatorCreator ID for the cluster
    Created atDate 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.

  1. Navigate to the KakaoCloud Console > Container Pack > Kubernetes Engine.

  2. In the Cluster menu, click the [More] icon for the target cluster and select Set scale-in.

  3. In the Set scale-in popup, enter the required information and click [Save].

    Set scale-in popup Auto downscaling settings popup

    FieldDescription
    Auto scale-in of node pools within the clusterEnable or disable auto downscaling for all node pools using the auto-scaling feature within the cluster.
    - Default: Enabled
    Auto scale-in threshold conditionsSet the node resource usage threshold (CPU/Memory) for auto downscaling.
    - Range: 1–100
    - Default: 50%
    Threshold durationDuration (in minutes) that node resource usage must remain below the threshold before downscaling occurs.
    - Range: 1–1440 minutes
    - Default: 10 minutes
    Cooldown period after scale-outExclude 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.

  1. In the KakaoCloud Console, select the Kubernetes Engine menu.

  2. In the Cluster menu, click the [More] icon for the desired cluster and select Modify cluster.

  3. In the Modify cluster popup, view or update the details. If needed, update the information and click [Apply].

    FieldDescription
    Cluster nameCurrent name of the cluster
    Cluster creation dateThe 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.

caution
  1. In the KakaoCloud Console, select the Kubernetes Engine menu.
  2. In the Cluster menu, click the [More] icon for the clusterto delete and select Delete cluster.
  3. 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.

info

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

ConditionDescription
Cluster statusProvisioned status
- If in another status, the update button will not be shown.
Node pool statusAll node pools must be in the Running state
- The update button will not appear otherwise.
Node pool versionAll 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.

info

Kubernetes versions are updated incrementally, and only one version can be updated at a time.
To update multiple versions, perform each update sequentially.

caution

Once the update starts, it cannot be canceled, and you cannot roll back to the previous version.

  1. Navigate to the KakaoCloud Console > Container Pack > Kubernetes Engine menu.

  2. In the Cluster menu, click the Update button in the Kubernetes version column for the cluster you want to update.

  3. In the popup, review the Update version and click [Update].

  4. Once the cluster update starts, the cluster status will change to Updating. After the update completes, the status will change to Provisioned. 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.

  1. In the KakaoCloud Console, select Helpdesk from the upper-right corner.
  2. In the Q&A tab, click [Ask a question] in the upper-right corner.
  3. Click [Technical Support].
  4. 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.

  1. Navigate to the KakaoCloud Console > Container Pack > Kubernetes Engine menu.

  2. In the Cluster menu, select the cluster to view details.

  3. In the cluster details page, review the information.

    FieldDescription
    Cluster statusThe status of the selected cluster
    Kubernetes versionThe current Kubernetes version in use
    CreatorThe ID of the cluster creator
    Created atThe date the cluster was created

View cluster details

Check details like cluster ID, total vCPUs, and network information.

  1. Navigate to the KakaoCloud Console > Container Pack > Kubernetes Engine menu.

  2. In the Cluster menu, select the cluster to view details.

  3. In the Details tab, review the information.

    FieldDescription
    IDThe unique ID of the cluster
    API server endpointThe endpoint for calling the cluster API
    Total vCPUsThe total number of vCPUs in worker nodes within the cluster
    Total memoryThe total memory of worker nodes in the cluster
    VPCThe VPC where the cluster is deployed
    SubnetsThe subnets where the cluster is deployed
    - In the kr-central-2 region, if multiple subnets in different AZs are selected for improved availability,
    all applicable subnets are displayed.
    Security groupsThe 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.

  1. Navigate to the KakaoCloud Console > Container Pack > Kubernetes Engine menu.

  2. In the Cluster menu, select the cluster to view node pool information.

  3. Click the Node pool tab to review the information.

    FieldDescription
    Node poolName and description of the node pool
    - Click on the node pool name to view the detailed page
    Node pool statusNode 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 intervention
    Kubernetes versionKubernetes version used by the node pool
    Instance typeType of instances used by nodes in the node pool
    Node pool typeType of instances running the nodes
    Volume sizeVolume size of the instances used by the node pool
    Number of nodesNumber of nodes in the node pool
    Availability zoneAvailability zone information for the subnets used by the node pool

View node information

Check details about all nodes within the cluster.

  1. Navigate to the KakaoCloud Console > Container Pack > Kubernetes Engine menu.

  2. In the Cluster menu, select the cluster to view node information.

  3. Click the Node tab to review the information.

    FieldDescription
    NodeName and description of the node
    - Click the node name to view its details page
    Node statusNode 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 intervention
    Node poolNode pool information for the node
    - Click the node pool to view its details page
    Private IPPrivate IP information of the node
    Availability zoneAvailability zone information for the subnet where the node is running
    Pod schedulingAllowed: New pods can be assigned to the node
    Blocked: New pod assignments are blocked
    UptimeTime elapsed since the node was requested, not the creation date