All Products
Search
Document Center

Container Service for Kubernetes:Add an edge node

Last Updated:Nov 03, 2023

This topic describes how to add an edge node as a worker node to an existing Container Service for Kubernetes (ACK) Edge cluster in the ACK console. Make sure that the node to be added can communicate with the Kubernetes API server of the cluster. You can add Elastic Compute Service (ECS) instances, Edge Node Service (ENS) instances, and on-premises servers to an ACK Edge cluster.

Prerequisites

  • An ACK Edge cluster is created. For more information, see Create an ACK Edge cluster.

  • ENS is activated and an edge service is created if you want the system to automatically add edge nodes.

Limits

  • Make sure that you have a sufficient node quota in the cluster. To add more nodes, submit an application in the . For more information about the quota limits of ACK Edge clusters, see Limits.

  • Only ENS nodes with at least 2 vCPUs and 4 GB of memory can be automatically added to an ACK Edge cluster. In addition, the ENS nodes must be in the Running state and run CentOS 7.4 or 7.6.

  • If you want to manually add nodes, the nodes must run operating systems that are listed in the following table.

    Architecture

    Operating system version

    System kernel version

    ACK Edge version

    AMD64/X86_64

    Anolis7.9 and Anolis8.6

    4.19.X

    1.22.15-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

    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

Add a node

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

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

  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, you can select Manual to manually add existing instances.

    Note

    In Manual mode, you can add ECS instances, ENS instances, and on-premises servers.

    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

Usage notes

Standard mode

flannelIface

The name of the network interface controller (NIC) that is used by the Flannel plug-in.

The name of the NIC that is recorded in the default route entry of the node.

对

enableIptables

Specifies whether to enable iptables.

false

对

quiet

Specifies whether to answer all questions with yes when you add nodes.

false

对

manageRuntime

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

false

对

nodeNameOverride

The name of the node.

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

  • "*". 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 appended with a suffix is used as the node name. The random string contains six characters.

对

allowedClusterAddons

The list of components to be installed. By default, this parameter is left empty, which indicates that no component is installed. For a regular node, set this parameter to ["kube-proxy","flannel","coredns"].

[]

对

gpuVersion

Specifies whether the node to be added is a GPU-accelerated node. By default, this parameter is empty. The following GPU models are supported: Nvidia_Tesla_T4, Nvidia_Tesla_P4, Nvidia_Tesla_P100, Nvidia_Tesla_V100, and Nvidia_Tesla_A10.

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

对

inDedicatedNetwork

Specifies whether an Express Connect circuit is used to add the node to the ACK Edge cluster.

false

对

labels

Specifies the labels to be added to the node.

{}

对

annotations

Specifies the annotations to be added to the node configurations.

{}

对

nodeIface

This parameter specifies the following information:

  • This parameter specifies that kubelet retrieves the node IP address from the specified network interface. 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 parameter specifies the name of the NIC that is used by Flannel. In this case, this parameter is equivalent to the flannelIface parameter. This parameter will replace the flannelIface parameter in the future.

""

对

runtimeRootDir

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

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

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

对

Public IP addresses to be accessed when you add nodes

Access address

Description

cs-anony.aliyuncs.com

None

aliacs-k8s-{{region}}.oss-{{region}}.aliyuncs.com

{{region}} specifies the ID of the region where the ACK Edge cluster is deployed. Example: cn-hangzhou.

Public endpoint of the API server

You can view the public endpoint of the API server on the Basic Information tab.

The IP address of the Internet-facing SLB instance that is created for tunnel-server

The public endpoint of Services in the cluster kube-system/x-tunnel-server-svc.

ntp1.aliyun.com cn.ntp.org.cn

None

dockerauth-{{region}}.aliyuncs.com

{{region}} specifies the ID of the region where the ACK Edge cluster is deployed. Example: cn-hangzhou.

aliregistry-{{region}}.oss-{{region}}.aliyuncs.com

{{region}} specifies the ID of the region where the ACK Edge cluster is deployed. Example: cn-hangzhou.

registry.{{region}}.aliyuncs.com

{{region}} specifies the ID of the region where the ACK Edge cluster is deployed. Example: cn-hangzhou.

System tools: net-tools, iproute, chrony (or ntpdate), crontabs, pciutils, socat, ebtables, iptables, and conntrack-tools

  • Check whether the system tools are installed on the node to be added. If the system tools are not installed, the system installs the tools on the node.

  • If the OS is Ubuntu, apt-get is used to install the tools. If the OS is CentOS, yum is used to install the tools.