2. 快速开始

2.1. 前提条件

在开始安装前,需确保已获取必要资源,若尚未获取或需要完整部署说明,请参考 3.1 安装

2.2. 安装

  1. 以 0.13.0 版本为例,从软件中心下载离线安装包 metax-gpu-k8s-package.0.13.0.tar.gz,解压后获取以下文件:

    • metax-k8s-images.0.13.0.run:镜像资源包

    • metax-operator-0.13.0.tgz:Operator Helm Chart

    • metax-gpu-extensions-0.13.0.tgz:Extensions Helm Chart

  2. 推送镜像。

    # 假设容器仓库服务器域名为 DOMAIN ,用于存放沐曦Kubernetes组件镜像的项目名为 PROJECT。
    # 默认使用docker进行镜像推送
    metax-k8s-images.0.13.0.run push DOMAIN/PROJECT
    # 使用nerdctl进行镜像推送
    metax-k8s-images.0.13.0.run nerdctl push DOMAIN/PROJECT
    
  3. 推送Helm Charts。

    helm push ./k8s/metax-operator-0.13.0.tgz oci://DOMAIN/PROJECT
    
  4. 安装 GPU Operator。

    # 离线安装(基于本地Helm Charts)
    helm install ./k8s/metax-operator-0.13.0.tgz \
    --create-namespace -n metax-operator \
    --generate-name \
    --wait \
    --set registry=DOMAIN/PROJECT
    

2.3. 运行一个 GPU 任务

  1. 编写 GPU 任务 YAML

    创建 gpu-task.yaml,用户可参考如下示例编写作业yaml文件:

    apiVersion: v1
    kind: Pod
    metadata:
      name: gpu-demo
    spec:
      containers:
      - name: vector-add
        image: ubuntu:20.04
        command: [
            "bash",
            "-c",
            "cp -r /opt/maca/samples/0_Introduction/vectorAdd /home;
            cd /home/vectorAdd;
            mxcc -x maca vectorAdd.cpp -o vectorAdd --maca-path=/opt/maca;
            ./vectorAdd > log/vectoradd_exec_output.log;
            tail -f /dev/null",
        ]
        resources:
          limits:
            metax-tech.com/gpu: 1  # 申请 1 张GPU
    
  2. 部署并验证任务

    部署任务:

    kubectl apply -f gpu-task.yaml -n metax-operator
    

    检查 Pod 状态,状态为 Running:

    kubectl get pods -n metax-operator
    

    查看运行结果:

    kubectl logs pod gpu-demo -n metax-operator
    
  3. (可选) MinimalMode下部署作业

    MinimalMode不会部署驱动和私有运行时组件,因此用户需提前完成内核态驱动的安装,并且作业所使用的镜像必须包含或使用 MXMACA® SDK。 下面以 MXMACA® 镜像包为例,创建 gpu-task.yaml,用户可参考如下示例编写作业yaml文件:

    apiVersion: v1
    kind: Pod
    metadata:
      name: gpu-demo
    spec:
      containers:
      - name: vector-add
        image: cr.metax-tech.com/library/maca-native:3.2.1.4-ubuntu20.04-amd64
        command: [
            "bash",
            "-c",
            "cp -r /opt/maca/samples/0_Introduction/vectorAdd /home;
            cd /home/vectorAdd;
            mxcc -x maca vectorAdd.cpp -o vectorAdd --maca-path=/opt/maca;
            ./vectorAdd > log/vectoradd_exec_output.log;
            tail -f /dev/null",
        ]
        resources:
          limits:
            metax-tech.com/gpu: 1  # 申请 1 张GPU