Full Deployment Scenario

Scenario

In this scenario, you already have a Kubernetes cluster and want to use all features of cluster scheduling components, such as NPU Device Management, NPU Scheduling Optimization, Resumable Training (dying gasp), Rescheduling Upon Inference Card Faults, and Minimum Service System. You need to deploy all cluster scheduling components in the existing Kubernetes cluster.

List of Components to Be Installed

Table 1 Components to be installed in the full deployment scenario

Component

Function

Ascend Docker Runtime

Allows containers to use Ascend NPUs.

Ascend Device Plugin

Supports NPU device management.

Volcano

Supports NPU scheduling optimization, resumable training, and rescheduling upon inference card faults.

HCCL-Controller

Generates the ranktable file (also called the hccl.json file) for NPU training jobs.

NodeD

Supports resumable training (upon node fault).

NPU-Exporter

Supports monitoring of NPU device management status.

Resilience-Controller

Supports the minimum service system.

Elastic-Agent

Supports the dying gasp function of resumable training.

Component Deployment Modes

Installation Procedure

  1. Obtain the software packages for installing the components. For details, see Software Package Description.
  2. Install the Ascend Docker Runtime. For details, see Installing the Ascend Docker Runtime.
  3. Perform operations based on the component deployment mode.
    • If the components are deployed in containers, create images for the components by referring to Creating an Image.
    • If the Ascend Device Plugin and NPU-Exporter are deployed using binary files, skip this step.
  4. Create a user on the nodes where the components are deployed. For details, see Creating a User Account.
  5. Create a log directory on the nodes where the components are deployed. For details, see Creating a Log Directory.
  6. (Optional) Import the certificate required by the NPU-Exporter to start the HTTPS service. For details, see Importing a Certificate and KubeConfig File. If the HTTP service is started, skip this step.
  7. (Optional) Import the KubeConfig file used by the HCCL-Controller, NodeD, Resilience-Controller and Ascend Device Plugin to connect to Kubernetes by referring to Importing a Certificate and KubeConfig File. If the ServiceAccount is used, skip this step.
  8. Create a namespace in Kubernetes. For details, see Creating a Namespace.
  9. Label the nodes. For details, see Creating a Node Label.
  10. Start each component. For details, see Common Operations.