Add a GPU node
Container Service for Kubernetes (ACK) Edge clusters let you manage on-premises GPU resources in an edge node pool. This topic describes how to add a GPU-accelerated node to an edge node pool in an ACK Edge cluster.
Prerequisites
-
An ACK Edge cluster is created.
-
You must install a GPU driver on the node before you add it to the cluster. For more information about supported driver versions, see ACK-supported NVIDIA driver versions.
Limitations
-
Make sure that your cluster has a sufficient node quota. To add more nodes, submit a quota increase request in the Quota Center. For more information about the quota limits of ACK Edge clusters, see Quotas and limits.
-
When you add a GPU-accelerated node, the node must be able to access specific domain names. You must configure the security group of the node to allow access. For more information, see Domain names and IP CIDR blocks required for node connections.
Procedure
Kubernetes 1.26 or later
For ACK Edge clusters that run Kubernetes version 1.26 or later, you do not need to configure the gpuVersion parameter when you add a node with an NVIDIA GPU. The onboarding tool automatically detects the GPU model and installs the required components.
The procedure for adding a GPU-accelerated node is the same as for adding a standard edge node. For more information, see Add an edge node.
ACK Edge clusters that run Kubernetes 1.26 or later support all series of production-grade NVIDIA GPUs, including the Tesla, Hopper (H-series), Ada Lovelace (A-series), and L-series.
Kubernetes earlier than 1.26
When you add a GPU-accelerated node to an ACK Edge cluster that runs a Kubernetes version earlier than 1.26, you must select one of the supported GPU models from the following table. If you want to use a different GPU model, submit a ticket.
|
OS architecture |
GPU model |
ACK Edge cluster version |
|
AMD64/x86_64 |
Nvidia_Tesla_T4 |
≥1.16.9-aliyunedge.1 |
|
AMD64/x86_64 |
Nvidia_Tesla_P4 |
≥1.16.9-aliyunedge.1 |
|
AMD64/x86_64 |
Nvidia_Tesla_P100 |
≥1.16.9-aliyunedge.1 |
|
AMD64/x86_64 |
Nvidia_Tesla_V100 |
≥1.18.8-aliyunedge.1 |
|
AMD64/x86_64 |
Nvidia_Tesla_A10 |
≥1.20.11-aliyunedge.1 |
|
AMD64/x86_64 |
Nvidia_L40 |
≥1.26.3-aliyun.1 |
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 Node page, click Manual to add an existing instance.
-
Click Next to go to the instance information page. On this page, specify the node configuration parameters. For more information, see Parameter list.
{ "gpuVersion": "Nvidia_Tesla_T4", "enableIptables": true, "quiet": true, "manageRuntime": true, "allowedClusterAddons": [ "kube-proxy", "flannel", "coredns" ] }Note-
When you generate a node access script, you must configure the
gpuVersionparameter. For the supported GPU versions, see Usage Limits. -
After you configure this parameter, the onboarding tool automatically installs nvidia-containerd-runtime. For more information, see nvidia-containerd-runtime.
-
-
After you complete the configuration, click Next. On the Complete page, click Copy, and then paste and run the script on your edge node.
The following output indicates that the node was added successfully.
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.
Related topics
-
If you encounter issues when you add an edge node, see Troubleshoot edge node issues.
-
To remove an edge node that is no longer needed, see Remove an edge node.
-
If you want to enable edge node autonomy, which allows services on edge nodes to run as expected even when the nodes are disconnected from the cloud, see Configure edge node autonomy.