ContainerOS 3.4 makes the system disk read-only to improve stability and security. When you upgrade a node to ContainerOS 3.4.0 or later, the node pool must have a data disk attached so the system can start and run properly.
The upgrade uses a blue-green approach: scale out the node pool with new nodes running the latest ContainerOS, then remove the original nodes after the new nodes are healthy.
Prerequisites
Before you begin, ensure that you have:
| Requirement | Details |
|---|---|
| Terway v1.14.1 or later | To upgrade, see Manage components. |
| ack-advanced-audit not supported | This component is not supported. |
| cnfs-nas-daemon installed | Required if your workloads use NAS or CPFS storage volumes. See Manage cnfs-nas-daemon. |
| Exactly one data disk per node pool | The node pool must have exactly one data disk configured. |
Custom data and user data: Both Pre-defined Custom Data and User Data run inside a bootstrap container. They cannot write directly to host paths such as /etc/hosts, /etc/resolv.conf, or /usr.
Step 1: Scale out the node pool
Add new nodes with the updated ContainerOS version and a data disk. New and original nodes run side by side during the transition.
Go to the ACK Clusters page, click the cluster name, then click Nodes > Node Pools in the left navigation pane.
In the Actions column, click Edit for the target node pool and update the following settings.
Operating System: Select the new ContainerOS version.
Data Disk: If the node pool has no data disk, add one. The data disk stores temporary files, log caches, and other runtime data. Select a cloud disk type and capacity based on your workload requirements.
For all configuration options, see Create and manage node pools.
In the Actions column, click Scale for the node pool. Set Expected Number of Nodes to double the current number. For example, if the node pool has 3 nodes, set the value to 6. Both old and new nodes run simultaneously during the migration.
Click Submit and wait for the scale-out to complete.
After the update completes, click the node pool name and go to the Nodes tab. New nodes appear with the updated OS version alongside the original nodes.
Step 2: Remove original nodes
After all new nodes are ready and handling service traffic, remove the original nodes.
On the Node Management page, select the old nodes, and then click Batch Remove at the bottom of the page.
ImportantRemove nodes one by one. After each removal, monitor cluster health and service availability before removing the next node.
In the Remove Node dialog, configure the removal options: For details, see Remove a node.
Drain node: The system evicts pods from the node to other available nodes, maintaining service continuity.
Release ECS instance:
Pay-as-you-go nodes: The ECS instance is released when the node is removed.
Subscription nodes: After removing the node, either apply for a refund to release the instance before it expires, or convert it to pay-as-you-go and then release it.
Repeat until all original nodes are removed from the node pool.