Managing Nodes
A node is a set of machines that run containerized applications. A cluster must have at least one node to deploy an application. Nodes can be defined in a node pool for use. Nodes belonging to a node pool must have the same server type, size, and OS image, and flexible deployment strategies can be established by creating multiple node pools.
After creating a Kubernetes Engine cluster, add a node pool and modify or delete it as needed.
- It is recommended not to use the OS firewall on Kubernetes Engine nodes that use Calico.
- The firewall settings of Samsung Cloud Platform are set to Inactive by default.
- As shown in the reference link below, it is recommended to set the firewall to a disabled state in environments that use Calico.
- When a node is designated as a Backup service target, it cannot be deleted, so the functions below are unavailable.
- Node pool reduction (including automatic scaling)
- Node pool upgrade
- Automatic node pool recovery
- Delete node pool
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 Kubernetes Engine cluster has been created, add a node pool from 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.
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 these steps.
- Create a Virtual Server that includes a Samsung Cloud Platform Kubernetes Engine image.
- Use the Virtual Server’s Create Image feature to proceed with image creation.
- Select the registered Custom Image and create a node pool.
- For more details, see Virtual Server > Create Image.
To add a node pool, follow these steps.
- All Services > Container > Kubernetes Engine Click the menu. 1. Go to the Service Home page of Kubernetes Engine.
- On the Service Home page, click the Cluster menu. 2. Navigate to the Cluster List page.
- On the Cluster List page, select the cluster to which you want to add a node pool. 3. Navigate to the Cluster Details page.
- On the Cluster Details page, select the Node Pool tab, then click the Add Node Pool button. 4. Navigate to the Add Cluster Node Pool page.
- On the Add Cluster Node Pool page, enter the information required to create a node pool and select detailed options.
- In the Service Information Input area, enter or select the required information.
Category Required statusDetailed description Node pool name Required Node pool name - must start with a lowercase English letter and be entered using lowercase English letters, numbers, and special characters (
-) within 3 - 20 characters- cannot end with a special character (
-)
- cannot end with a special character (
Node Pool > Server Type Required Virtual Server server types for the node - Standard: Standard specifications commonly used
- High Capacity: Large-scale server specifications beyond Standard
- GPU: GPU specifications available when securing resources for special requirements such as AI/ML
- For detailed information about the server types offered by Virtual Server, refer to Virtual Server 서버 타입
Node Pool > Server OS Essential Node’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)
Node Pool > Block Storage Essential Block storage settings used by the node’s Virtual Server - SSD: High‑performance general volume
- HDD: General volume
- SSD/HDD_KMS: Additional encrypted volume that uses encryption keys from Samsung Cloud Platform KMS(Key Management System)
- Encryption can be applied only 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 between 5,000 and 20,000 for the Max IOPS field, and between 250 and 1,000 for the Max Throughput field
- 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 125
- Since 1 Unit equals 8 GB, this creates 104 ~ 1,000 GB
Node Pool > Server Group Select Apply a pre‑created Server Group in the Virtual Server service on the node - Click Use to set the 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 creating a node pool
- GPU server type cannot be selected
Node pool auto scaling Essential Automatically adjust the number of nodes in a node pool - For configuration, refer to 노드 풀 자동 확장/축소하기
Number of nodes Required Number of nodes to create within a node pool - Enter a value in the range 1 - 100
Automatic node recovery Required When an abnormal node is detected in the node pool, automatically delete and create a new one - For configuration, refer to 노드 풀 자동 복구하기
Keypair Essential User authentication method used to connect to a node’s Virtual Server - New: Create a new one if a new Keypair is required
- Refer to Keypair 생성하기 for how to create a new Keypair
- Default login account list by OS
- Alma Linux: almalinux
- RHEL: cloud-user
- Rocky Linux: rocky
- Ubuntu: ubuntu
- Windows: sysadmin
Label Selection Optionally schedule the workload on a node - Click the Add button to enter the label key and value
- Refer to 노드 풀 레이블 설정하기 for configuration
Tint Select Prevent workloads from being scheduled onto nodes - Add button to click for taint effect, enter key and value
- Refer to 노드 풀 테인트 설정하기 for configuration method
Advanced Settings Selection Settings for detailed areas such as pods and logs for the node - Click Use to choose whether to apply the advanced settings for the node pool you will create
- Refer to Configure advanced node pool settings for the configuration method
Connection resource Select Configure 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
- Refer to Configure Linked Resources for Node Pools for the configuration method
Table. Input fields for Kubernetes Engine node pool service information - must start with a lowercase English letter and be entered using lowercase English letters, numbers, and special characters (
- In the Service Information Input area, enter or select the required information.
- Summary Verify the detailed information and estimated charges generated in the panel, then click the Create button.
- When creation is complete, check the created resources on the Cluster Details > Node Pool tab > Node Pool list page.
- When the notification popup opens, click the Confirm button.
Update Node Pool
If needed, modify the number of nodes in the node pool on the Kubernetes Engine details page.
To modify the number of nodes, follow these steps.
- Click the All Services > Container > Kubernetes Engine menu. 1. Go to the Service Home page of Kubernetes Engine.
- Click the Cluster menu on the Service Home page. 2. Navigate to the Cluster List page.
- Select the cluster whose node count you want to modify on the Cluster List page. 3. Navigate to the Cluster Details page.
- On the Cluster Details page, select the Node Pool tab, then click the Node Pool Name you want to edit. 4. Navigate to the Node Pool Details page.
- On the Node Pool Details page, click the Edit icon to the right of Node Pool Information. 5. Node Pool Edit The popup window opens.
- Edit Node Pool In the popup window, edit the node pool information, then click the Confirm button.
Upgrade Node Pool
If the Kubernetes version of the control plane and the version of the node pool differ, you can upgrade the node pool to synchronize the versions.
After upgrading the cluster, proceed with the node pool upgrade. The control plane and node pool upgrades of a Kubernetes cluster are performed separately.
- When you perform a node pool upgrade, a rolling update is carried out on the nodes belonging to the node pool. During this process, a brief service interruption may occur, which is normal for a rolling update and will automatically recover 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.
- All Services > Container > Kubernetes Engine Click the menu. 1. Navigate to the Service Home page of Kubernetes Engine.
- On the Service Home page, click the Cluster menu. 2. Navigate to the Cluster List page.
- On the Cluster List page, select the cluster for which you want to perform a node pool version upgrade. 3. Navigate to the Cluster Details page.
- Cluster Details page, select the Node Pool tab, then click More > Node Pool Upgrade at the far right end of the node pool row. 4. Node Pool Version Upgrade A popup window opens.
- You can upgrade the node pool only when the node’s status is Running.
- Node Pool Version Upgrade After reviewing the information in the popup window, click the Confirm button.
Auto-scaling node pools
Node pool auto-scaling is a feature that automatically adjusts the number of node pools by adding new nodes to a specified node pool or removing existing nodes based on workload demands. This feature operates based on the node pool.
- When automatically scaling a node pool up or down, 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 automatic scaling operations.
To set up automatic scaling for a node pool, follow these steps.
- All Services > Container > Kubernetes Engine Click the menu. 1. Go to the Service Home page of Kubernetes Engine.
- On the Service Home page, click the Cluster menu. 2. Navigate to the Cluster List page.
- On the Cluster List page, select the cluster for which you want to use the node auto-scaling feature. 3. Navigate to the Cluster Details page.
- Cluster Details page, after selecting the Node Pool tab, click the Node Pool name you wish to modify. 4. Navigate to the Node Pool Details page.
- Node Pool Details page, click the Edit icon on the right of Node Pool Information. 5. Edit Node Pool The popup window opens.
- Edit Node Pool in the popup window, select Node Pool Auto Scaling as Enable.
- 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 criteria (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.
- When all pods running on a node can be scheduled on another node (there must be no pods subject to PDB restrictions, etc.)
- When using automatic node pool scaling, to prevent deletion caused by node reduction, add the following annotation to the node.
cluster-autoscaler.kubernetes.io/scale-down-disabled: “true”
- Node pool scaling conditions
- Node pool auto scaling/downsizing operates only when NotReady nodes constitute 45% or less of the total nodes in the cluster and there are three or fewer such nodes.
- If there are nodes directly attached instead of node pools created by the Kubernetes Engine service, using this feature may cause malfunction.
Automatically Restore Node Pool
Node auto-recovery is a feature that automatically deletes an abnormal node detected in the cluster and creates a new node to restore the node count in the node pool to a normal state. This feature operates based on the node pool.
Node auto-recovery deletes the existing node and creates a new node when communication between K8S Control Planes fails due to node (Virtual Server) problems, a stopped state, network issues, etc., according to the node auto-recovery conditions, so caution is required when using it.
- When creating a node pool, it is restored according to the initially set conditions, and any custom settings made after node creation are not restored.
If there are nodes that were directly connected instead of node pools created by the Kubernetes Engine service, using this feature may cause malfunction.
To configure the node auto-recovery feature, follow these steps.
- Click the All Services > Container > Kubernetes Engine menu. 1. Go to the Service Home page of Kubernetes Engine.
- On the Service Home page, click the Cluster menu. 2. Go to the Cluster List page.
- On the Cluster List page, select the cluster for which you want to use the node auto-recovery feature. 3. Go to the Cluster Details page.
- On the Cluster Details page, after selecting the Node Pool tab, click the Node Pool name you wish to edit. 4. Navigate to the Node Pool Details page.
- On the Node Pool Details page, click the Edit icon on the right of Node Pool Information. 5. Edit Node Pool A popup window opens.
- Node Pool Edit in the popup window, after selecting Node Auto Recovery as Enable, click the Confirm button.
Node auto-recovery settings can also be configured on the cluster node pool creation page.
- When the node is an auto-recovery target
- If a node reports a NotReady status in consecutive checks for a certain time threshold (approximately 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 a node is first created, it remains in the Creating state instead of reaching the Running state.
- When more than five abnormal nodes occur simultaneously in the same node pool.
Setting node pool labels
Node pool labels are a feature for optionally scheduling workloads onto nodes.
- When applying a node pool label, it is not applied to 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.
- Click the All Services > Container > Kubernetes Engine menu. 1. Navigate to the Service Home page of Kubernetes Engine.
- Click the Cluster menu on the Service Home page. 2. Navigate to the Cluster List page.
- On the Cluster List page, select the cluster for which you want to set the node pool label. 3. Navigate to the Cluster Details page.
- On the Cluster Details page, select the Node Pool tab, then click the Node Pool Name you want to edit. 4. Navigate to the Node Pool Details page.
- On the Node Pool Details page, when you click the Edit icon of a label, the Edit Label popup opens.
- In the Label Edit popup, click the Add button to add as many labels as needed.
- 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.
- 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 nodes created thereafter.
- If you need to apply a taint to an existing node, the user must configure it directly with kubectl.
To configure the node pool taint, follow these steps.
- Click the All Services > Container > Kubernetes Engine menu. 1. Go to the Service Home page of Kubernetes Engine.
- On the Service Home page, click the Cluster menu. 2. Navigate to the Cluster List page.
- Select the cluster for which you want to set a node pool taint on the Cluster List page. 3. Navigate to the Cluster Details page.
- Cluster Details page, after selecting the Node Pool tab, click the Node Pool name you wish to modify. 4. Navigate to the Node Pool Details page.
- On the Node Pool Details page, clicking the Edit icon of a taint opens the Edit Taint popup window.
- Tint Edit In the popup window, click the Add button to add the required number of tints.
- 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.
Each setting corresponds to the kubelet configuration as follows.
- Maximum pods per node: maxPods
- Image GC upper limit percent: imageGCHighThresholdPercent
- Image GC low threshold percent: imageGCLowThresholdPercent
- Container log maximum size MB: containerLogMaxSize
- Container log maximum file count: containerLogMaxFiles
- Pod PID limit: podPidsLimit
- Allow unsafe Sysctl: allowedUnsafeSysctls
To configure advanced settings for the node pool, follow these steps.
- All Services > Container > Kubernetes Engine Click the menu. 1. Go to the Service Home page of Kubernetes Engine.
- On the Service Home page, click the Cluster menu. 2. Navigate to the Cluster List page.
- On the Cluster List page, select the cluster for which you want to configure advanced node pool settings. 3. Navigate to the Cluster Details page.
- Cluster Details page, after selecting the Node Pool tab, click Create Node Pool. 4. Go to the Create Node Pool page.
- On the Node Pool Creation page, select Advanced Settings to Enable.
- After selecting Use, enter the required information for the displayed items.
- After confirming that the required information has been entered correctly in the Summary tab, 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.
- Node pool connection resources have a quantity limit.
- 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 connection resources automatically added in the node pool for the File Storage and Object Storage services. * Changes may be reverted or cause unexpected behavior.
To configure node pool connection resources, follow these steps.
- Click the All Services > Container > Kubernetes Engine menu. 1. Navigate to the Service Home page of Kubernetes Engine.
- On the Service Home page, click the Cluster menu. 2. Navigate to the Cluster List page.
- On the Cluster List page, select the cluster for which you want to configure node pool connection resources. 3. Navigate to the Cluster Details page.
- On the Cluster Details page, select the Node Pool tab, then click the Node Pool Name you want to edit. 4. Navigate to the Node Pool Details page.
- When you click the Edit icon of a connection resource on the Node Pool Details page, the Edit Connection Resource popup opens.
- In the Edit Connected Resource popup, clicking the Add button opens the Add Connected Resource popup.
- Add Connected Resource In the popup window, select File Storage and Object Storage.
- After verifying the resources to connect to the node pool, click the Confirm button.
Delete Node Pool
If needed, delete the node pool from the Kubernetes Engine details page.
To delete a node pool, follow these steps.
- All Services > Container > Kubernetes Engine Click the menu. 1. Go to the Service Home page of Kubernetes Engine.
- On the Service Home page, click the Cluster menu. 2. Navigate to the Cluster List page.
- On the Cluster List page, select the cluster whose node count you want to modify. 3. Navigate to the Cluster Details page.
- On the Cluster Details page, select the Node Pool tab, then click the More button at the far right of the node pool row. 4. Click Delete Node Pool in the More button.
- 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 details
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.
- Click the All Services > Container > Kubernetes Engine menu. 1. Navigate to the Service Home page of Kubernetes Engine.
- On the Service Home page, click the Node menu. 2. Go to the Node List page.
- On the Node List page, select the cluster whose detailed information you want to view from the gear button at the top left, then click the Confirm button.
- Select the node whose detailed information you want to view and click. 4. Navigate to the Node Details page.
Category Detailed descriptionStatus Indicator Display the current status of the node Detailed Information Check the node’s Account information, metadata, and object information YAML Node resources can be edited in the YAML editor - Click the Edit button, modify the resource, then click the Save button to apply the changes
- When editing content, click the Diff button to view the changes
event Check events that occurred on the node Pod Check node pod information - A Pod (pod) is the smallest compute unit that can be created, managed, and deployed in Kubernetes Engine
Account Information Check basic information about the Account, such as the Account name, location, and creation time. Metadata Information Check metadata information such as node labels, annotations, and taints. Object Information Internal IP and machine ID, capacity, resources, etc., the object information of the created node is displayed - If GPU resources exist, check the GPU count in the Capacity > Nvidia.com/GPU column
Table. Node detailed information items