设置 Cloud Native Stack#

NVIDIA Cloud Native Stack

本节将介绍如何在 NVIDIA AI Enterprise VMI 上设置和部署 NVIDIA Cloud Native Stack,以便在其上部署 NVIDIA Cloud Native Service Add-On Pack。

注意

使用 NVIDIA Cloud Native Stack 的上游 K8S 部署仅应用于评估和开发目的。它并非为生产使用而设计。

先决条件#

  1. 首先,使用 AI 工作流程 文档中的硬件规格,配置 NVIDIA AI Enterprise VMI 的实例。您可以在主要 CSP 的 Marketplace 中找到此 VMI;按照列表中的说明配置实例。更多信息可以在 NVIDIA AI Enterprise Cloud Guide 中找到。

  2. 实例配置完成后,请参阅 NVIDIA AI Enterprise Cloud Guide 以授权该实例并激活您的订阅。

  3. 订阅激活后,请确保您可以访问 Enterprise Catalog,如果您尚未创建 NGC API 密钥,请创建。

  4. 创建 NGC API 密钥后,如果您尚未安装和配置 NGC CLI,请使用 此处 的说明进行安装和配置。

安装 NVIDIA Cloud Native Stack#

  1. 我们将在已配置的 NVIDIA AI Enterprise VMI 上安装 NVIDIA Cloud Native Stack。

    • 通过云提供商的方法打开到您配置的 VMI 的 SSH Web 控制台。

    • SSH 会话建立后,需要创建一个具有 sudo 访问权限的本地用户。这可以通过以下命令完成

      1sudo adduser nvidia
      
      1sudo usermod -aG sudo nvidia
      
    • 接下来,通过以下命令克隆 NVIDIA Cloud Native Stack 仓库

      git clone https://github.com/NVIDIA/cloud-native-stack.git
      
    • 导航到仓库中的 playbooks 目录

      cd cloud-native-stack/playbooks
      
    • 编辑 host 文件,取消注释 localhosts 行,并将 ansible_ssh_user、password 和 sudo user 字段替换为您之前指定的本地用户凭据。完成后,保存并退出文件。

      nano hosts
      
    • 接下来,编辑 cnc_values_6.3.yaml 文件,将 cnc_docker 和 cnc_nvidia_driver 参数从 no 更新为 yes。将这些值定义为 yes 可确保安装兼容版本的 Docker 和 NVIDIA GPU 驱动程序,并可在此工作流程中使用,从而帮助开发人员评估 Cloud Native Stack 的 Docker 体验。保存并退出文件。

      nano cnc_values_6.3.yaml
      
    • 通过以下命令运行 NVIDIA Cloud Native Stack 的安装程序

      bash setup.sh install
      

      注意

      如果在实例配置期间 dpkg 未干净或完全运行,安装程序可能会失败。如果发生这种情况,请运行以下命令以解决问题,然后重试安装。

      sudo dpkg --configure -a
      
    • 安装完成后,为您的用户创建 kubeconfig

      mkdir -p $HOME/.kube
      sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
      sudo chown $(id -u):$(id -g) $HOME/.kube/config
      
    • 接下来,通过运行以下命令检查 Kubernetes 集群是否已启动并正在运行

      kubectl get pods -A
      
    • 集群启动后,安装 Local Path Provisioner 以提供存储类供工作流程的其余部分使用

      kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/v0.0.23/deploy/local-path-storage.yaml
      
    • 修补集群以将 local-path 设置为默认存储类

      kubectl patch storageclass local-path -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
      
  2. NVIDIA Cloud Native Stack 设置完成后,我们将安装 Local Path Provisioner 以提供要使用的存储类。继续阅读下面的下一节。

安装 Local Path Provisioner#

  1. 集群启动后,使用以下命令安装 Local Path Provisioner 以提供存储类供工作流程的其余部分使用

    kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/v0.0.23/deploy/local-path-storage.yaml
    
  2. 修补集群以将 local-path 设置为默认存储类

    kubectl patch storageclass local-path -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
    
  3. 现在我们可以安装 NVIDIA Cloud Native Service Add-on Pack。返回到 在 NVIDIA AI Enterprise VMI (NVIDIA Cloud Native Stack) 上部署 Cloud Native Service Add-On Pack 部分继续操作。

有关 NVIDIA Cloud Native Stack 的更多信息,请访问 NVIDIA/cloud-native-stack

有关 NVIDIA Cloud Native Service Add-on Pack 的更多信息,请访问 此处