Skip to main content

Create and manage cluster

Create cluster

A cluster is the fundamental resource of Kubernetes Engine, where all Kubernetes objects including container applications are run.
Clusters can be created via the console; API-based creation is planned for future support.
Here is how to create a cluster in the Kubernetes Engine service:

info
  • You can operate clusters and nodes across multiple availability zones (AZs) in multi-AZ-supported regions to improve availability.
  • To create a cluster, VPC and subnets must be preconfigured. If not, refer to Create and manage VPC.

Create cluster in the console

You can create a cluster from the KakaoCloud Console.

  1. Go to KakaoCloud Console > Container Pack > Kubernetes Engine.

  2. Click the [Start] button to begin using Kubernetes Engine.

    • When the service starts, a Service Agent is automatically created to access Kubernetes Engine resources.
  3. In the Cluster menu, click the [Create cluster] button.

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

    Step 1: Cluster settings

    CategoryDescription
    Basic settings• Set basic cluster information
    - Cluster name: Enter the cluster name
    - Cluster description (optional): Up to 60 characters
    - Kubernetes version: Choose the Kubernetes version for the cluster
      ㄴ For details on supported versions, refer to Support information
    Cluster network settings• Configure network settings
    - VPC: Select the VPC to deploy the cluster
    - Subnet: Select the subnet to deploy the cluster
      ㄴ When creating a node pool, choose from the subnets configured in the cluster network
      ㄴ In multi-AZ environments, select multiple subnets across different AZs to improve availability
      ㄴ For multi-AZ clusters, select at least one subnet per AZ
    Cluster endpoint access: Choose public or private endpoint
      ㄴ Public: API server accessible from the internet
      ㄴ Private: API server accessible only within the VPC
    CNI• Choose a CNI plugin for the cluster: Calico or Cilium
    - Service IP CIDR block (optional): IP range for service objects
    - Pod IP CIDR block (optional): IP range for pods

    ⚠️ Caution
    Service and Pod IPs cannot be changed after cluster creation.
info

If the cluster network is in a private subnet, internet communication is not available.
Use a NAT instance to allow outbound access for nodes in a private subnet.
See Using NAT instance for more.

:::caution
The following conditions apply to service and pod IPs for CNIs:

  • Must be in CIDR format and within the RFC-1918 private IPv4 range.
  • Minimum /28 and maximum /12 for service IPs.
  • Minimum /24 and maximum /16 for pod IPs.
  • Service and pod IPs must not overlap.
  • Must not overlap with VPC IP ranges.
  • Must not overlap with internal range 198.18.0.0/16 used by Kubernetes Engine.
  • Only IPv4 is supported. :::

Cluster endpoint

  • The cluster API server endpoint URL is based on the access option.

    OptionBehavior
    Public cluster endpointProvides a publicly accessible API server endpoint with a public IP.
    Private cluster endpointProvides a private API server endpoint accessible only within the VPC.

Manage cluster

Here’s how to manage clusters in Kubernetes Engine.

View cluster list

You can view the list of existing clusters.

  1. Go to KakaoCloud Console > Container Pack > Kubernetes Engine.

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

    CategoryDescription
    NameCluster name
    IDUnique cluster ID
    StatusCluster status
    - Provisioned: Provisioning complete
    - Pending: Preparing to provision
    - Provisioning: Provisioning in progress
    - Deleting: Being deleted
    - Failed: Requires user intervention
    Kubernetes versionCurrent version
    CreatorID of the user who created the cluster
    Created dateCluster creation date
    [More] icon- kubeconfig file: Download for kubectl setup
    - Edit cluster: Modify name and description
    - Delete cluster: Delete the cluster

Modify cluster

Modify cluster name, description, and creation date.

  1. In the KakaoCloud Console, go to Kubernetes Engine.

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

  3. In the Edit cluster popup, update the information and click [Update].

    CategoryDescription
    Cluster nameCurrent name
    Created dateCreation date
    Cluster description (optional)Modify or add description (max 60 characters)

Delete cluster

Delete unused clusters.

caution
  • Deleting a cluster also deletes the resources created automatically with it. See Automatically generated resources.
  • If non-node resources are attached to auto-created security groups, those groups are not deleted.
  1. Go to Kubernetes Engine in the KakaoCloud Console.
  2. In the Cluster menu, click the [More] icon and select Delete cluster.
  3. Enter required info in the popup and click [Delete].

Update cluster

If a newer Kubernetes version is available, you can update the control plane of your cluster.

info

Refer to Support information for supported versions.

Before starting update

Make sure all update conditions are met. Otherwise, the update cannot proceed.
Review the Kubernetes changelogs for application impact.

Update conditions

ConditionDescription
Cluster statusMust be Provisioned
Node pool statusAll must be Running
Node pool versionMust match the cluster version exactly

Update procedures

If the cluster is eligible, perform the update:

info

Kubernetes supports sequential version updates. You can only update one version at a time.

caution

Updates cannot be canceled or rolled back once started.

  1. Go to KakaoCloud Console > Container Pack > Kubernetes Engine.
  2. In the Cluster menu, click the [Update] button next to the Kubernetes version.
  3. In the popup, confirm the version and click [Update].
  4. The cluster status changes to Updating and reverts to Provisioned after completion. Node pool settings are locked during the update.

Considerations after updating

New node pools will use the latest cluster version.
Existing node pools must be updated. See Update nodes.

What to check if an update fails

If an update fails, the cluster status changes to Failed.
Contact Helpdesk > Technical Inquiry.

  1. In the KakaoCloud Console, go to Helpdesk (top-right).
  2. In the Q&A tab, click [Ask a question].
  3. Select Technical Inquiry.
  4. Fill in the form and click [Submit].

View cluster details

You can check cluster details, node pools, and nodes.

  1. Go to KakaoCloud Console > Container Pack > Kubernetes Engine.

  2. Select the cluster from the Cluster menu.

  3. View detailed information on the cluster page.

    CategoryDescription
    Cluster statusCurrent cluster status
    Kubernetes versionActive version
    CreatorID of creator
    Created dateDate of creation

View cluster details (tab)

Check unique ID, vCPU total, and network info.

  1. Go to the Details tab.

    CategoryDescription
    IDCluster ID
    API server endpointURL to call Kubernetes API
    Total vCPUTotal vCPUs across worker nodes
    Total memoryTotal memory across worker nodes
    VPCVPC where cluster is deployed
    SubnetDeployed subnet(s); all selected subnets shown for multi-AZ

View node pool information

See all node pools and their configurations.

  1. Select a cluster from the Cluster menu.

  2. Go to the Node pool tab.

    CategoryDescription
    Node poolName and description (click name for details)
    Node pool statusStatus: Running, Running (Scheduling Disable), ScalingUp, ScalingDown, Deleting, Failed
    Kubernetes versionVersion of nodes in the pool
    Instance typeVM type used by nodes
    Node pool typeType of instance used
    Volume sizeVolume size of node instance
    Node countNumber of nodes
    AZAvailability zone of associated subnets

View node information

Check all nodes within the cluster.

  1. Go to the Node tab of the selected cluster.

    CategoryDescription
    NodeName and description (click name for details)
    Node statusStatus: Running, Running (Scheduling Disable), Provisioned, Deleted, Pending, Provisioning, Deleting, Failed
    Node poolNode pool to which the node belongs
    Private IPNode’s private IP address
    AZAvailability zone of the subnet the node runs in
    Pod schedulingAllowed or Blocked for new pods
    UptimeTime since the node creation was requested (not creation time)