All Products
Search
Document Center

Container Service for Kubernetes:Add an edge node

Last Updated:Nov 25, 2024

You can add different types of resources to the edge node pool in a Container Service for Kubernetes (ACK) Edge cluster. These resources include Elastic Compute Service (ECS) instances from different regions, on-premises nodes, nodes from other cloud providers, and servers distributed in factories, stores, vehicles, and ships. This topic describes how to add an edge node to an edge node pool in an ACK Edge cluster.

Prerequisites

An ACK Edge cluster is created. For more information, see Create an ACK Edge cluster in the console.

Limits

  • Make sure that your cluster has a sufficient node quota. To add more nodes, submit an application in the Quota Center console. For more information about the quota limits of ACK Edge clusters, see Quotas and limits.

  • Some endpoints are accessed when you add edge nodes. You must configure the network security group for edge nodes to access required endpoints. For more information, see Configure endpoints and IP routing for edge nodes.

  • When adding edge nodes, you must choose an operating system for each node. The following table lists the operating systems that are supported for nodes:

    Architecture

    Operating system version

    System kernel version

    ACK Edge version

    AMD64/x86_64

    Anolis7.9 and Anolis8.6

    4.19.X

    1.16.9-aliyunedge.1 and later

    AMD64/x86_64

    Alibaba Cloud Linux 2.1903

    4.19.X

    1.20.11-aliyunedge.1 and later

    AMD64/x86_64

    Alibaba Cloud Linux 3

    5.10.X

    1.20.11-aliyunedge.1 and later

    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 and later

    AMD64/x86_64

    CentOS 8.0 and CentOS 8.2

    4.18.X

    1.18.8-aliyunedge.1 and later

    AMD64/x86_64

    Ubuntu 16.04

    4.4.X

    1.18.8-aliyunedge.1 and later

    AMD64/x86_64

    Ubuntu 18.04

    4.15.X

    1.12.6-aliyunedge.1 and later

    AMD64/x86_64

    Ubuntu 18.04

    5.4.X

    1.16.9-aliyunedge.1 and later

    AMD64/x86_64

    Ubuntu 18.04

    5.11.X

    1.18.8-aliyunedge.1 and later

    AMD64/x86_64

    Ubuntu 20.04

    5.4.X

    1.18.8-aliyunedge.1 and later

    AMD64/x86_64

    Ubuntu 20.04 and Ubuntu 22.04

    5.15.X

    1.26.3-aliyun.1 and later

    AMD64/x86_64

    Red Hat Enterprise Linux 8.8 and Red Hat Enterprise Linux 8.10

    4.18.X

    1.26.3-aliyun.1 and later

    AMD64/x86_64

    Kylin V10

    4.19.X

    1.26.3-aliyun.1 and later

    AMD64/x86_64

    UnionTech OS Server 20

    4.19.X

    1.26.3-aliyun.1 and later

    Arm64

    CentOS 8.0

    4.19.X

    1.14.8-aliyunedge.1 and later

    Arm64

    Ubuntu 18.04

    4.9.X

    1.14.8-aliyunedge.1 and later

    Arm64

    Ubuntu 18.04

    4.19.X

    1.14.8-aliyunedge.1 and later

    Arm64

    Ubuntu 20.04

    5.10.X

    1.22.15-aliyunedge.1 and later

  • To add GPU-accelerated nodes, see Add a GPU-accelerated node.

Add a node

  1. Log on to the ACK console. In the left-side navigation pane, click Clusters.

  2. On the Clusters page, find the cluster that you want to manage and click its name. In the left-side navigation pane, choose Nodes > Node Pools.

  3. On the Node Pools page, find the node pool that you want to manage and choose More > Add Existing Node in the Actions column.

  4. On the page that appears, click Manual to manually add existing instances.

    Note

    In manual mode, you can add ECS instances, ENS instances, and edge nodes.

    1. Click Next Step to go to the Instance Information wizard page. You can set the parameters that are used to add the node. For more information, see Parameters.

      Note

      The default value of Script Validity Period is 1 hour. If you want to use the script for more than 1 hour, you can set the validity period to meet your requirement. If you set Script Validity Period to 0 hours, the script is permanently valid.

    2. After you set the parameters, click Next Step. On the Complete wizard page, click Copy to copy the script to the edge node that you want to add. Then, execute the script on the node.

    If the following result is returned, the edge node is added to the cluster.

    接入成功

Parameters

Parameter

Description

Example

quiet

Specifies whether to add a node in the quiet mode. During the process of adding a node, some steps may require your intervention, such as deciding whether to reinstall the existing runtime on the node.

  • true: This is the default value. This value indicates that all questions are answered with yes when you add nodes to proceed the process automatically.

  • false: This value indicates that some steps may pause for your confirmation, which could interrupt the adding node process.

manageRuntime

Specifies whether to use edgeadm to manage and install the runtime.

  • true: This is the default value. Use edgeadm to manage and install the runtime.

  • false: This value indicates that you must manually install the runtime before adding a node.

nodeNameOverride

The name of the node.

  • "": This is the default value. This value indicates that the hostname is used as the node name.

  • "XXX": This value indicates that the specified node name is XXX.

  • "*": This value indicates that a random string that contains six characters is used as the node name.

  • "*.XXX": This value indicates that a random string that is suffixed with XXX is used as the node name. The random string contains six characters.

allowedClusterAddons

The list of components to be installed. For a regular node, set this parameter to ["kube-proxy","flannel","coredns"].

["kube-proxy","flannel","coredns"]: This is the default value.

gpuVersion

Specifies whether the node to be added is a GPU-accelerated node. By default, this parameter is empty.

For more information about the supported GPU models, see GPU models.

"": This is the default value. This value indicates that the node to be added is not a GPU-accelerated node.

labels

Specifies the labels to be added to the node. You can add labels to all nodes within the node pool. If there is a conflict between this label and the label key name in the node pool, the label defined in the node pool takes precedence.

{}

annotations

Specifies the annotations to be added to the node configurations. If there is a conflict between the annotations and those in the node pool, theannotations defined in the node pool takes precedence.

{}

taints

Specifies the taints to be added to the node.

[]

nodeIface

Specifies the network interface controller (NIC). This parameter specifies the following information:

  • This parameter specifies that kubelet retrieves the node IP address from the specified network interface.

  • This parameter specifies the name of the NIC that is used by Flannel.

"": If you do not set this parameter, kubelet attempts to retrieve the node IP address in the following order:

  • Searches /etc/hosts for the node whose name is the same as the specified hostname.

  • Retrieves the IP address of the network interface that is specified in the default route entry of the node.

This value indicates that the name of the NIC that is recorded in the default route entry of the node is used by Flannel.

runtimeRootDir

This parameter specifies the working directory of the runtime. The parameter takes effect only when manageRuntime is set to true.

"": This is the default value.

  • The default directory is /var/lib/docker when Docker is used.

  • The default directory is /var/lib/containerd when containerd is used.

imageRepoType

Specifies the source of system component images on the node.

  • "": This is the default value. This value indicates that images are downloaded over a private network if nodes in the node pool are connected to ACK in private network mode, and images are downloaded over the Internet if nodes in the node pool are connected to ACK in public network mode.

  • public: This value indicates that images are downloaded over the Internet.

  • private: This value indicates that images downloaded over a private network. Nodes in the node pool are connected to ACK in private network mode.

selfHostNtpServer

Specifies whether to manually synchronize the time.

  • false: This is the default value. This value indicates that edgeadm automatically synchronizes the time.

  • true: This value indicates that the time is manually synchronized.

flannelIface

The name of the NIC that is used by the Flannel plug-in. We recommend that you use the nodeIface parameter instead.

"": This is the default value. This value indicates that the name of the NIC that is recorded in the default route entry of the node is used by Flannel.

enableIptables

Specifies whether to enable iptables for edgehub. This parameter has been deprecated after version 1.22. We recommend that you do not use this parameter.

false

References

  • If you have any problems when you add edge nodes, see FAQs about edge nodes.

  • For more information about how to remove an edge node, see Remove edge nodes.

  • ACK Edge clusters support edge node autonomy. Edge node autonomy ensures that applications on an edge node can still run as expected when the edge node is disconnected from the cloud. For more information, see Configure edge node autonomy.