The page has been translated by Gen AI.

Managing Nodes

A node is a set of machines that run containerized applications. A cluster must have at least one node to deploy the application. A node can be defined and used in a node pool. Nodes belonging to a node pool must have the same server type, size, and OS image, and you can establish a flexible deployment strategy by creating multiple node pools.

After creating a Kubernetes Engine cluster, add a node pool and modify or delete it as needed.

Caution
  • It is recommended not to use the OS firewall on Kubernetes Engine nodes that use Calico.

Add node pool

A node refers to a machine that runs containerized applications, and at least one node is required to deploy applications in a Kubernetes cluster. After the creation of the Kubernetes Engine cluster is complete, add a node pool on the details page.

  • In Kubernetes Engine, you can define and use a node pool, which is a set of nodes. * Since the nodes in a node pool use the same server type, size, and OS image, users can devise flexible deployment strategies by using multiple node pools.
Reference

In the Virtual Server menu, you can create a node pool using the user’s Custom Image. To create a node pool using a Custom Image, follow the steps below.

  1. Create a Virtual Server that includes a Kubernetes Engine image of Samsung Cloud Platform.
  2. Use the Image creation feature of the Virtual Server to create the image.
  3. Select the registered Custom Image to create a node pool.

To add a node pool, follow these steps.

  1. Click the All Services > Container > Kubernetes Engine menu. 1. Navigate to the Service Home page of Kubernetes Engine.
  2. On the Service Home page, click the Cluster menu. 2. Navigate to the Cluster List page.
  3. On the Cluster List page, select the cluster you want to add a node pool to. 3. Navigate to the Cluster Details page.
  4. On the Cluster Details page, select the Node Pool tab, then click the Add Node Pool button. 4. Add Cluster Node Pool Navigate to the page.
  5. Add Cluster Node Pool page, enter the information required to create a node pool, and select detailed options.
    • Enter or select the required information in the Service Information Input area.
      Category
      required status
      Detailed description
      Node pool nameRequiredNode pool name
      • must start with a lowercase English letter and use lowercase letters, numbers, and special characters (-) within 3-20 characters
        • cannot end with a special character (-)
      Server Information > Server TypeRequiredNode’s Virtual Server server types
      • Standard: Standard specifications commonly used
      • High Capacity: Large server specifications exceeding Standard
      • GPU: GPU specifications available when securing resources for special requirements such as AI/ML
      Server Information > Server OSRequiredNode’s Virtual Sever OS image
      • Standard: RHEL 8.10, Ubuntu 22.04
      • Custom: Custom image for Kubernetes created from the Virtual Server product (RHEL, Ubuntu)
      Server Information > Block StorageRequiredBlock Storage settings used by the node’s Virtual Server
      • SSD: high-performance general volume
      • HDD: general volume
      • SSD/HDD_KMS: additional encrypted volume using Samsung Cloud Platform KMS (Key Management System) encryption keys
        • Encryption can only be applied at initial creation and cannot be changed after the service is created
        • Performance degradation occurs when using the SSD_KMS disk type
      • SSD_Provisioned: enter detailed settings for the selected storage type
        • Enter a value in the Max IOPS field within the range 5000-20000, and in the Max Throughput field within the range 250-1000
        • For a Custom Image with SSD_Provisioned, the predetermined values are auto-filled and the fields are disabled
      • Capacity is entered in Units, with a value between 13 and 1536
        • Since 1 Unit equals 8 GB, this creates 104–12,288 GB
      Server Information > Server GroupSelectionApply a pre‑created Server Group in the Virtual Server service on the node
      • Click Use to configure Server Group usage
      • When usage is enabled, select a Server Group
        • Supports Affinity or Anti‑Affinity policies
        • Partition policy is not supported
      • Cannot modify after node pool creation
      • GPU server type cannot be selected
      Server Information > KeypairRequiredUser authentication method used to connect to a node’s Virtual Server
      • New: Create a new one if a new Keypair is required
      • Default login account list by OS
        • Alma Linux: almalinux
        • RHEL: cloud-user
        • Rocky Linux: rocky
        • Ubuntu: ubuntu
        • Windows: sysadmin
      Network Information > Subnet NameRequiredSelect the Subnet of the chosen VPC
      • Only Subnets with a registered DNS IP can be used
      Network Information > Availability ZoneRequiredSelect Availability Zone
      Network Information > Prioritize IP AssignmentSelectionUse click and enter an IP address or IP range
      Node Information > Node Pool Auto Scaling/DownscalingRequiredAutomatically adjust the number of nodes in a node pool
      Node Information > Node CountRequiredNumber of nodes to create within a node pool
      • Enter a value within the range of 1-100
      Node Information > Node Auto RecoveryRequiredWhen an abnormal node is detected in the node pool, automatically delete and create a new one
      Node Information > LabelSelectionOptionally schedule the workload on a node
      • Add click the button to enter the label key and value
      Node Info > TaintSelectionPrevent workloads from being scheduled onto nodes
      • Add button to click for taint effect, enter key and value
      Node Information > Advanced SettingsSelectionSettings for detailed areas such as pods and logs for the node
      • Click Use to select whether to apply advanced configuration items for the node pool to be created
      connection resourceSelectionConfigure File Storage and Object Storage resources for nodes at the node pool level
      • Click the Add button to select the File Storage and Object Storage resources to attach to the node pool you will create
      Table. Kubernetes Engine node pool service information input items
  6. Summary Check the detailed information and estimated charges generated in the panel, and click the Create button.
    • When creation is complete, check the created resources on the Cluster Details > Node Pool Tab > Node Pool List page.
  7. When the notification popup opens, click the Confirm button.

Adjusting the number of nodes

If needed, modify the number of nodes in the node pool on the Kubernetes Engine detail page.

Reference
Modifying the node count will automatically add or remove nodes, causing the container operation to terminate. At this time, the container moves to another node, which may cause the running service to be interrupted.

To modify the number of nodes, follow these steps.

  1. Click the All Services > Container > Kubernetes Engine menu. 1. Navigate to the Service Home page of Kubernetes Engine.
  2. On the Service Home page, click the Cluster menu. 2. Navigate to the Cluster List page.
  3. On the Cluster List page, select the cluster whose node count you want to modify. 3. Navigate to the Cluster Details page.
  4. On the Cluster Details page, select the Node Pool tab, then click the Node Pool Name you want to edit. 4. Go to the Node Pool Details page.
  5. On the Node Pool Details page, click the Adjust Node Count icon to the right of Node Pool Information. 5. Or click More > Adjust Node Count at the far right of the node pool entry in the Node Pool tab. 5. Adjust Node Count The popup window opens.
  6. Node Count Adjustment In the popup window, modify the node count information, then click the Confirm button.

Upgrade Node Pool

If the control plane’s Kubernetes version and the node pool’s version differ, you can upgrade the node pool to synchronize the versions.

Caution
  • After upgrading the cluster, proceed with a node pool upgrade. The control plane and node pool upgrades of a Kubernetes cluster are performed separately.
  • When a node pool upgrade is performed, a rolling update is carried out on the nodes belonging to the node pool. At this point, a brief service interruption may occur, but this is a normal effect of the rolling update and will automatically normalize after a short period.
  • The server OS version may vary depending on the Kubernetes version of the node pool.

To upgrade the node pool, follow these steps.

  1. Click the All Services > Container > Kubernetes Engine menu. 1. Navigate to the Service Home page of Kubernetes Engine.
  2. On the Service Home page, click the Cluster menu. 2. Navigate to the Cluster List page.
  3. Select the cluster on the Cluster List page for which you want to perform a node pool version upgrade. 3. Navigate to the Cluster Details page.
  4. On the Cluster Details page, after selecting the Node Pool tab, click More > Upgrade at the far right of the node pool entry. 4. Or click the Upgrade button at the top right of the node pool detail page. 4. Node Pool Version Upgrade A popup window opens.
    • You can upgrade the node pool only when the node’s status is Running.
  5. Node Pool Version Upgrade After reviewing the information in the popup window, click the Confirm button.

Auto-scaling node pool

Node pool auto-scaling is a feature that automatically adjusts the number of nodes in a specified node pool by adding new nodes or removing existing nodes according to workload demands. This feature operates based on the node pool.

  • When a node pool auto‑scales, it is adjusted based on the resource requests of the pods running on the node pool’s nodes, rather than the actual resource utilization, and it periodically checks the status of pods and nodes and executes the auto‑scaling operation.

To set up the node pool’s automatic scaling feature, follow these steps.

  1. Click the All Services > Container > Kubernetes Engine menu. 1. Navigate to the Service Home page of Kubernetes Engine.
  2. On the Service Home page, click the Cluster menu. 2. Navigate to the Cluster List page.
  3. On the Cluster List page, select the cluster you want to use the node auto‑scaling feature for. 3. Navigate to the Cluster Details page.
  4. On the Cluster Details page, select the Node Pool tab, then click the Node Pool Name you want to edit. 4. Go to the Node Pool Details page.
  5. On the Node Pool Details page, click the Adjust Node Count icon to the right of Node Pool Information. 5. Or click More > Adjust Node Count at the far right of the node pool entry in the Node Pool tab. 5. Adjust Node Count The popup window opens.
  6. In the Node Count Adjustment popup, select Node Pool Auto-Scaling as Enabled.
  7. After entering the minimum and maximum node counts, click the Confirm button.
    Reference

    Node pool auto‑scaling settings can also be configured on the cluster node pool creation page.

    • Node pool scaling conditions
      • When a pod fails to start in the cluster due to insufficient resources (Pending pod occurs)
    • Node pool reduction condition (when all are met)
      • If the sum of resource requests (CPU/Memory) of all pods running on a node is less than 50% of the node’s allocatable resources.
      • If all pods running on a node can be run on another node (there must be no pods subject to PDB restrictions, etc.)
    • When using automatic node pool scaling, add the following annotation to the node to prevent deletion caused by node reduction.
      • cluster-autoscaler.kubernetes.io/scale-down-disabled: “true”
Caution
  • Node pool auto-scaling works only when the NotReady nodes among all nodes in the cluster are 45% or less of the total and no more than three.
  • If there are nodes directly connected instead of node pools created by the Kubernetes Engine service, the feature may malfunction when used.

Automatically restore node pool

Node auto-recovery is a feature that automatically deletes an abnormal node detected in the cluster, creates a new node, and restores the node count in the node pool to a normal state. This feature operates based on the node pool.

Caution

Node auto-recovery deletes the existing node and creates a new one when communication between K8S control planes is disrupted due to node (Virtual Server) problems, a stopped state, network issues, etc., according to the auto-recovery criteria, so it should be used with caution.

  • When creating a node pool, it is restored according to the initially set conditions, and custom settings made after node creation are not restored.

If there are nodes directly connected instead of node pools created by the Kubernetes Engine service, the feature may malfunction when used.

To enable the node auto-recovery feature, follow these steps.

  1. Click the All Services > Container > Kubernetes Engine menu. 1. Navigate to the Service Home page of Kubernetes Engine.
  2. On the Service Home page, click the Cluster menu. 2. Navigate to the Cluster List page.
  3. On the Cluster List page, select the cluster for which you want to use the node auto-recovery feature. 3. Navigate to the Cluster Details page.
  4. On the Cluster Details page, select the Node Pool tab, then click the Node Pool Name you want to edit. 4. Go to the Node Pool Details page.
  5. On the Node Pool Details page, click the Adjust Node Count icon to the right of Node Pool Information. 5. Or click More > Adjust Node Count at the far right of the node pool entry in the Node Pool tab. 5. Adjust Node Count The popup window opens.
  6. In the Node Count Adjustment popup, select Node Auto Recovery as Enabled, then click the Confirm button.
Reference

Node auto-recovery can also be configured on the cluster node pool creation page.

  • If the node is a target for automatic recovery
    • When a node reports a NotReady status in successive checks for a certain time threshold (about 10 minutes).
    • When a node does not report its status at all for a certain time threshold (approximately 10 minutes)
  • If the node is not a target for automatic recovery
    • When the initial node is created, it remains in the Creating state and does not become Running.
    • When more than five abnormal nodes occur simultaneously in the same node pool.

Configure Node Pool Labels

Node pool labels are a feature for optionally scheduling workloads onto nodes.

Caution
  • When applying a node pool label, it does not affect existing nodes; the label is applied only to nodes created thereafter.
    • If you need to apply a label to an existing node, the user must set it directly with kubectl.

To set the node pool label, follow these steps.

  1. Click the All Services > Container > Kubernetes Engine menu. 1. Navigate to the Service Home page of Kubernetes Engine.
  2. On the Service Home page, click the Cluster menu. 2. Navigate to the Cluster List page.
  3. Select the cluster for which you want to set the node pool label on the Cluster List page. 3. Navigate to the Cluster Details page.
  4. On the Cluster Details page, select the Node Pool tab, then click the Node Pool Name you want to edit. 4. Go to the Node Pool Details page.
  5. On the Node Pool Details page, clicking the Edit icon of a label opens the Edit Label popup.
  6. Edit Label In the popup window, click the Add button to add as many labels as needed.
  7. Enter the label information and click the Confirm button.

Configure Node Pool Taint

Node pool taint is a feature that prevents workloads from being scheduled onto nodes.

Caution
  • If you set taints on all node pools, pods required for normal cluster operation may not be scheduled.
  • When applying a node pool taint, it does not affect existing nodes; the taint is applied only to newly created nodes.
    • If you need to apply a taint to an existing node, the user must configure it directly with kubectl.

To set the node pool taint, follow these steps.

  1. Click the All Services > Container > Kubernetes Engine menu. 1. Navigate to the Service Home page of Kubernetes Engine.
  2. On the Service Home page, click the Cluster menu. 2. Go to the Cluster List page.
  3. On the Cluster List page, select the cluster for which you want to set a node pool taint. 3. Navigate to the Cluster Details page.
  4. On the Cluster Details page, select the Node Pool tab, then click the Node Pool Name you want to edit. 4. Go to the Node Pool Details page.
  5. On the Node Pool Details page, when you click the Edit icon of the taint, the Edit Taint popup opens.
  6. Tint Edit In the popup window, click the Add button to add as many tints as needed.
  7. Enter the tint information and click the Confirm button.

Configure advanced node pool settings

Node pool advanced settings are a feature for applying detailed configurations such as the number of pods per node, PID, logs, and image garbage collection.

Caution
Node pools cannot be modified after creation. If an invalid value is entered, the node may not operate correctly.
Reference

Each setting corresponds to the kubelet configuration as follows.

  • Maximum pods per node: maxPods
  • Image GC upper limit percent: imageGCHighThresholdPercent
  • Image GC lower bound percent: imageGCLowThresholdPercent
  • Container log maximum size MB: containerLogMaxSize
  • Maximum number of container log files: containerLogMaxFiles
  • Pod PID limit: podPidsLimit
  • Unsafe Sysctl allowed: allowedUnsafeSysctls

To configure advanced settings for the node pool, follow these steps.

  1. Click the All Services > Container > Kubernetes Engine menu. 1. Navigate to the Service Home page of Kubernetes Engine.
  2. On the Service Home page, click the Cluster menu. 2. Navigate to the Cluster List page.
  3. Cluster List page, select the cluster you want to configure advanced node pool settings for. 3. Navigate to the Cluster Details page.
  4. On the Cluster Details page, after selecting the Node Pool tab, click Create Node Pool. 4. Navigate to the Create Node Pool page.
  5. On the Node Pool Creation page, select Advanced Settings as Enabled.
  6. Use After selecting, enter the required information for the items that appear.
  7. In the Summary tab, verify that the required information has been entered correctly, then click the Create button.

Configure linked resources for node pool

Node pool connection resources are a feature for connecting or disconnecting File Storage and Object Storage on a per‑node‑pool basis.

Caution
  • There is a limit on the number of node pool connection resources.
    • You can add up to three File Storage and three Object Storage, for a total of six connection resources.
  • StorageClass and Provisioner for the connected resource are not provided.
  • Do not arbitrarily modify the automatically added connection resources in the node pool for File Storage and Object Storage services. * Changes may be reverted or cause unexpected behavior.

To configure node pool connection resources, follow these steps.

  1. Click the All Services > Container > Kubernetes Engine menu. 1. Navigate to the Service Home page of Kubernetes Engine.
  2. On the Service Home page, click the Cluster menu. 2. Navigate to the Cluster List page.
  3. Select the cluster you want to configure node pool connection resources for on the Cluster List page. 3. Navigate to the Cluster Details page.
  4. On the Cluster Details page, select the Node Pool tab, then click the Node Pool Name you want to edit. 4. Go to the Node Pool Details page.
  5. Node Pool Details page, when you click the Edit icon of a connected resource, the Edit Connected Resource popup opens.
  6. Edit Connection Resource popup, when you click the Add button, the Add Connection Resource popup opens.
  7. Add Connected Resource In the popup window, select File Storage and Object Storage.
  8. After verifying the resources to connect to the node pool, click the Confirm button.

Configure Preferred IP for Node Pool

It is a feature that prioritizes assigning IPs to new nodes on a per‑node‑pool basis. If you enable Priority IP assignment, IPs within the specified range are allocated sequentially when a new node is created. If an IP cannot be assigned within the specified range, the IP within the cluster Subnet will be automatically allocated, just as when Priority IP assignment is not set.

To configure priority IP assignment for the node pool, follow the steps below.

  1. Click the All Services > Container > Kubernetes Engine menu. 1. Navigate to the Service Home page of Kubernetes Engine.
  2. On the Service Home page, click the Cluster menu. 2. Navigate to the Cluster List page.
  3. Select the cluster on the Cluster List page for which you want to set the node pool preferred IP assignment. 3. Navigate to the Cluster Details page.
  4. On the Cluster Details page, select the Node Pool tab, then click the Node Pool Name you want to edit. 4. Go to the Node Pool Details page.
  5. Node Pool Details page, when you click the Edit icon of the priority IP assignment, the Edit Priority IP Assignment popup opens.
  6. Edit Priority IP Assignment In the popup window, enter the priority IP range and click the Confirm button.
Reference

First, the input format for the IP range is as follows.

  • Single IP: a single IPv4 address (e.g., 192.168.99.0)
  • IP range: specify a continuous address in the startIP‑endIP format (e.g., 192.168.0.0-192.168.0.255)
  • Combination: Enter as a single string separating the two above with commas (,) (e.g., 192.168.99.0,192.168.0.0-192.168.0.255,10.0.0.5)

Delete Node Pool

Delete the node pool from the Kubernetes Engine detail page if needed.

To delete a node pool, follow these steps.

  1. Click the All Services > Container > Kubernetes Engine menu. 1. Navigate to the Service Home page of Kubernetes Engine.
  2. On the Service Home page, click the Cluster menu. 2. Go to the Cluster List page.
  3. On the Cluster List page, select the cluster whose node count you want to modify. 3. Navigate to the Cluster Details page.
  4. On the Cluster Details page, select the Node Pool tab, then click the More button at the far right of the node pool entry. 4. Or click the Delete Node Pool button at the top right of the node pool detail page. 4. Node Pool Deletion A popup window opens.
  5. Node Pool Deletion In the popup window, select the checkbox, enter the name of the node pool to delete, and click the Confirm button.
    • You must select the checkbox in the node deletion confirmation message for the confirm button to become active.

View node detailed information

After creating the cluster, you can view metadata, object information, and other details of the added nodes, and edit resource files using a YAML editor.

To view detailed information about the node pool, follow these steps.

  1. Click the All Services > Container > Kubernetes Engine menu. 1. Navigate to the Service Home page of Kubernetes Engine.
  2. On the Service Home page, click the Node menu. 2. Navigate to the Node List page.
  3. On the Node List page, select the cluster you want to view detailed information for from the gear button at the top left, then click the Confirm button.
  4. Select the node you want to view detailed information for and click. 4. Node Details page is accessed.
    Category
    Detailed description
    Status IndicatorDisplay the current status of the node
    Detailed InformationCheck the node’s account information, metadata, and object information.
    YAMLNode resources can be edited in the YAML editor
    • Edit button click, modify the resource, then click the Save button to apply the changes
    • When editing content, you can click the Diff button to view the changed content
    eventCheck events that occurred on the node
    PodCheck node pod information
    • Pod (pod) is the smallest compute unit that can be created, managed, and deployed in Kubernetes Engine
    Account informationCheck basic information about the Account, such as name, location, and creation date/time.
    Metadata InformationCheck the node’s label, annotation, taint, and other metadata information.
    Object InformationThe internal IP, machine ID, capacity, resources, etc., of the created node are displayed
    • If GPU resources are present, check the number of GPUs in the Capacity > Nvidia.com/GPU column
    Table. Node detailed information items
How-to guides
Managing Namespaces