Add an edge node
Add an edge node to an edge node pool in an ACK Edge cluster with ECS nodes from different regions, IDC nodes, nodes from other cloud providers, or on-premises nodes in factories, stores, vehicles, and ships.
Prerequisites
An ACK Edge cluster is created.
Limitations
-
Ensure your cluster has sufficient node quota. To add more nodes, submit a quota increase request in the Quota Center. See Quotas and limits for ACK Edge cluster quota limits.
-
When you add an edge node, configure its security group to allow access to required domain names. See Public network access configuration.
-
Select a supported operating system for the edge node.
System architecture
System version
Kernel version
Cluster version
AMD64/x86_64
Anolis 7.9 and Anolis 8.6
4.19.X
≥ 1.16.9-aliyunedge.1
AMD64/x86_64
Alibaba Cloud Linux 2.1903
4.19.X
≥ 1.20.11-aliyunedge.1
AMD64/x86_64
Alibaba Cloud Linux 3
5.10.X
≥ 1.20.11-aliyunedge.1
AMD64/x86_64
CentOS 7.4, CentOS 7.5, CentOS 7.6, CentOS 7.7, CentOS 7.8, and CentOS 7.9
3.10.X
1.12.6-aliyunedge.1 ≤ cluster version ≤ 1.30.7-aliyun.1
AMD64/x86_64
CentOS 8.0 and CentOS 8.2
4.18.X
1.18.8-aliyunedge.1 ≤ cluster version ≤ 1.30.7-aliyun.1
AMD64/x86_64
Ubuntu 16.04
4.4.X
1.18.8-aliyunedge.1 ≤ cluster version ≤ 1.30.7-aliyun.1
AMD64/x86_64
Ubuntu 18.04
4.15.X
1.12.6-aliyunedge.1 ≤ cluster version ≤ 1.30.7-aliyun.1
AMD64/x86_64
Ubuntu 18.04
5.4.X
≥ 1.16.9-aliyunedge.1
AMD64/x86_64
Ubuntu 18.04
5.11.X
≥ 1.18.8-aliyunedge.1
AMD64/x86_64
Ubuntu 20.04
5.4.X
≥ 1.18.8-aliyunedge.1
AMD64/x86_64
Ubuntu 20.04 and Ubuntu 22.04
5.15.X
≥ 1.26.3-aliyun.1
AMD64/x86_64
Ubuntu 24.04
6.8.X
≥ 1.30.7-aliyun.1
AMD64/x86_64
Red Hat Enterprise Linux 8.8 and Red Hat Enterprise Linux 8.10
4.18.X
1.26.3-aliyun.1 ≤ cluster version ≤ 1.30.7-aliyun.1
AMD64/x86_64
Kylin V10
4.19.X
≥ 1.26.3-aliyun.1
AMD64/x86_64
UnionTech OS Server 20
4.19.X
≥ 1.26.3-aliyun.1
AMD64/x86_64
Red Hat Enterprise Linux 9.3
5.14.X
≥ 1.30.7-aliyun.1
Arm64
CentOS 8.0
4.19.X
≥ 1.14.8-aliyunedge.1
Arm64
Ubuntu 18.04
4.9.X
1.14.8-aliyunedge.1 ≤ cluster version ≤ 1.30.7-aliyun.1
Arm64
Ubuntu 18.04
4.19.X
≥ 1.14.8-aliyunedge.1
Arm64
Ubuntu 20.04
5.10.X
≥ 1.22.15-aliyunedge.1
-
To add GPU nodes, see Add GPU nodes.
Add a node
Kubernetes 1.26 and later
Log on to the ACK console. In the left navigation pane, click Clusters.
On the Clusters page, click the name of your cluster. In the left navigation pane, click .
-
On the Node Pools page, select
> Add Existing Node from the Actions column to the right of the target node pool. -
On the Add Existing Edge Node page, configure cloud-edge communication and advanced options.
NoteIf the console parameters do not meet your requirements, modify edgeadm parameters in the generated script. See Parameter list.
Category
Parameter
Description
Cloud-edge communication
Token validity period
Script validity period. Default: 1 hour.
Specify a longer validity period to reuse the same script for batch node addition.
Enable silent mode
Whether to enable silent mode.
When adding an edge node, some steps require confirmation, such as whether to reinstall an existing runtime.
By default, all prompts are automatically answered with
yes.Advanced
Node labels
Adds labels to the new node.
If a
labelconflicts with a node poollabel key, the node poollabeltakes precedence.Taints
Adds taints to the new node.
Annotations
Adds annotations to the new node.
If
annotationsconflict with node poolannotations, the node poolannotationstake precedence.Automatic time synchronization
When enabled, edgeadm automatically performs time synchronization.
Node network interface
The host network interface for the node IP address and container network communication. If empty, the default-route network interface is used.
Download add-ons from
Source for downloading system add-on images. Default: Public Network.
To download images over the internal network, add the node to a leased line node pool.
Runtime working directory
Working directory of the runtime. Takes effect only when
manageRuntimeistrue.Default path for containerd: /var/lib/containerd.
-
After configuration, click OK. On the result page, click Copy, then paste and run the script on the edge node.
After the edge node joins the cluster, the terminal displays logs. The last output line confirms successful node addition.
I0410 10:54:25.801554 19419 join-node.go:241] [join-node] Config the kubelet service configuration successfully. I0410 10:54:25.801590 19419 join-node.go:246] [join-node] Adding edge hub static yaml I0410 10:54:25.801662 19419 join-node.go:279] [join-node] Add edge hub static yaml is ok I0410 10:54:25.801666 19419 join-node.go:384] [join-node] Start to joining node to cluster. I0410 10:54:27.338166 19419 join-node.go:393] [join-node] Join node to cluster successfully. I0410 10:54:27.338214 19419 install.go:151] [install-edgehub] Checking edgehub status I0410 10:54:37.357405 19419 install.go:156] [install-edgehub] Edgehub is ok I0410 10:54:37.357421 19419 install.go:86] [install-edgehub] Reconfiguring the kubelet configuration files. I0410 10:54:37.364387 19419 install.go:103] [install-edgehub] Reconfigure the kubelet configuration files successfully. I0410 10:54:37.364400 19419 install.go:104] [install-edgehub] Restarting the kubelet. I0410 10:54:52.626540 19419 install.go:127] [install-edgehub] Restart the kubelet successfully. I0410 10:54:52.626613 19419 postcheck.go:77] [post-check] Checking docker status I0410 10:54:52.629194 19419 postcheck.go:86] [post-check] docker is ok I0410 10:54:52.629208 19419 postcheck.go:92] [post-check] Checking kubelet status I0410 10:54:52.631661 19419 postcheck.go:100] [post-check] Kubelet is ok I0410 10:54:52.631671 19419 postcheck.go:106] [post-check] Checking edgehub status I0410 10:54:52.642345 19419 postcheck.go:113] [post-check] Edgehub is ok I0410 10:54:52.642356 19419 postcheck.go:129] [post-check] Checking addon kube-proxy status. I0410 10:54:52.683227 19419 postcheck.go:133] [post-check] kube-proxy is OK. I0410 10:54:52.683243 19419 postcheck.go:129] [post-check] Checking addon flannel status. I0410 10:54:52.724501 19419 postcheck.go:133] [post-check] flannel is OK. I0410 10:54:52.724518 19419 postcheck.go:129] [post-check] Checking addon coredns status. I0410 10:54:52.764745 19419 postcheck.go:133] [post-check] coredns is OK. I0410 10:54:52.764763 19419 postcheck.go:165] [post-check] Callback to the OpenAPI. I0410 10:54:53.014706 19419 postcheck.go:178] [post-check] Callback to the OpenAPI successfully. I0410 10:54:53.014760 19419 postcheck.go:66] This node joined into the cluster successfully.
Kubernetes earlier than 1.26
Log on to the ACK console. In the left navigation pane, click Clusters.
On the Clusters page, click the name of your cluster. In the left navigation pane, click .
-
On the Node Pools page, in the Actions column for the target node pool, choose
> Add Existing Node. -
On the Add Node page, Manual is selected by default for adding an existing instance.
NoteIn manual mode, add on-cloud ECS nodes, Edge Node Service (ENS) nodes, and on-premises nodes.
-
Click Next to configure node access parameters on the next page. See Parameter list.
Set Architecture to AMD64/X86_64 or ARM64, select Use Lightweight Access Mode, and then set the access parameters in the JSON editor. For example, set
enableIptables,quiet, andmanageRuntimetotrue, and specifykube-proxy,flannel, andcorednsinallowedClusterAddons.NoteThe default script validity period is 1 hour. Specify a longer period to reuse the script for batch node addition. Set the script validity period to 0 hours for a non-expiring script.
-
After configuration, click Next. On the Complete page, click Copy, then paste and run the script on the edge node.
-
Parameter list
If the console parameters do not meet your requirements, modify edgeadm parameters in the generated script as described below.
|
Parameter |
Corresponding console parameter |
Description |
Value |
|
|
Enable silent mode |
Whether to enable silent mode. During node registration, some steps require confirmation, such as whether to reinstall an existing runtime. |
|
|
|
N/A |
Whether |
|
|
|
N/A |
The node name. |
|
|
|
N/A |
Add-ons to install. Default for a standard node: ["kube-proxy","flannel","coredns"]. |
Default: |
|
|
N/A |
Whether the node is a GPU node. Default: empty. See GPU models for supported GPU versions. |
ACK Edge clusters running Kubernetes 1.26 or later can add NVIDIA GPU nodes without configuring |
|
|
Node labels |
Label to add when the node is registered. If this |
|
|
|
Annotations |
Annotations to add when the node is registered. If these |
|
|
|
Taints |
Taints to add to the node. |
|
|
|
N/A |
The host network interface, used to:
|
Flannel uses the default-route network interface. |
|
|
Runtime working directory |
Working directory for the runtime. Takes effect only when |
|
|
|
Download components from |
Source from which the node downloads system add-on images. |
|
|
|
Automatic time synchronization |
Whether time synchronization was performed manually. |
|
|
|
Node network interface |
Network interface used by Flannel. Use the nodeIface parameter instead. |
|
|
|
N/A |
Whether edgehub enables iptables optimization. Deprecated in v1.22 and later. Not recommended. |
|
References
-
If you encounter issues adding an edge node, see Troubleshoot edge node issues.
-
To remove an unused edge node, see Remove an edge node.
-
See Configure edge node autonomy to enable edge node autonomy. Workloads on edge nodes continue running when nodes disconnect from the cloud.