部署 Kubernetes#
本文档是 NVIDIA DGX BasePOD:部署指南,以 NVIDIA DGX A100 系统为例 的一部分。
注意
在完成本文档中的步骤之前,请先完成 部署 Docker。
警告
#
提示符表示您在头节点上以 root 用户身份执行的命令。%
提示符表示您在 cmsh 中执行的命令。
安装并验证 Kubernetes (K8s)#
以 root 用户身份在头节点上运行 cm-kubernetes-setup CLI 向导。
1# cm-kubernetes-setup
选择“部署”以启动部署。
在接下来出现的对话框中选择 K8s 版本 v.1.27,然后选择“确定”继续。
选择“确定”以确认 Containerd 容器运行时。
如有必要,填写可选的 DockerHub 镜像仓库镜像端点;否则,选择“确定”继续。
接受此 K8s 集群的默认设置—为了与本指南选择的命名匹配,将 K8s 集群名称更改为 onprem。
选择“是”以在头节点上公开 K8s API 服务器。这允许用户从头节点使用 K8s 集群。
选择 internalnet,因为 K8s 控制平面节点和 DGX 节点(即 K8s 工作节点)都连接在 internalnet 上。
选择所有三个 K8s 控制平面节点:knode01、knode02 和 knode03。
为工作节点类别选择 dgx-a100。
不要选择任何单独的 Kubernetes 节点,然后选择“确定”继续。
为 Etcd 节点选择所有三个 K8s 控制平面节点:knode01、knode02 和 knode03。
除非组织需要特定的端口,否则接受主 Kubernetes 组件的默认值。
在提示时选择 Calico 网络插件。
选择“是”以安装 Kyverno 策略引擎,然后选择“确定”。
选择“否”以拒绝为 Kyverno 配置 HA,然后选择“确定”。
选择是否安装 Kyverno 策略,然后选择“确定”。除非配置需要,否则选择“否”。
选择以下 Operator 进行安装:NVIDIA GPU Operator、Network Operator、Prometheus Adapter、Prometheus Operator Stack、cm-jupyter-kernel-operator 和 cm kubernetes-mpi-operator。
跳过 Network Operator helm chart 的可选 YAML 配置。
通过选择 nfs.enabled、sriovNetworkOperator.enabled、deployCR、secondaryNetwork.deploy、secondaryNetwork.cniPlugins.deploy、secondaryNetwork.multus.deploy 和 secondaryNetwork.ipamPlugin.deploy 来配置 Network Operator。
选择要部署的 Ingress Controller (Nginx)、Kubernetes Dashboard、Kubernetes Metrics Server 和 Kubernetes State Metrics。
选择默认值,除非要使用特定的入口端口。
选择“否”,因为 K8s 控制平面节点没有 GPU。
选择“是”以部署 Permission Manager。
为本地路径存储类选择“启用”和“默认”。
接受默认数据存储路径,并将其他两个字段留空,这是默认设置。
选择“保存配置并部署”。
将文件路径更改为 /root/cm-kubernetes-setup-onprem.conf,然后选择“确定”。此文件可用于重新部署 K8s 或复制并修改以部署其他 K8s 集群。等待安装完成。
验证 K8s 集群是否已正确安装。
1# module load kubernetes/onprem/1.27.4-00 2# kubectl cluster-info 3Kubernetes control plane is running at https://127.0.0.1:10443 4CoreDNS is running at https://127.0.0.1:10443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy 5 6To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'. 7 8# kubectl get nodes 9NAME STATUS ROLES AGE VERSION 10dgx01 Ready worker 7m36s v1.27.4 11dgx02 Ready worker 7m37s v1.27.4 12dgx03 Ready worker 7m36s v1.27.4 13dgx04 Ready worker 7m37s v1.27.4 14knode01 Ready control-plane,master 7m59s v1.27.4 15knode02 Ready control-plane,master 7m26s v1.27.4 16knode03 Ready control-plane,master 7m25s v1.27.4
下一步#
完成此页面上的步骤后,请参阅 部署 Slurm。