Kubernetes#

  1. 在头节点上将 cm-setup 更新到最新版本。

    # yum update cm-setup.x86_64
    
  2. 以 root 用户在头节点上运行 cm-kubernetes-setup CLI 向导。

    # cm-kubernetes-setup
    
  3. 选择“部署”以开始 Kubernetes 安装。

    _images/k8-1.png
  4. 在接下来出现的对话框中选择 K8s 版本 v.1.27,然后选择“确定”继续。

    _images/k8-2.png
  5. 选择“确定”以确认 Containerd 容器运行时。

    _images/k8-31.png
  6. 如果需要,填写可选的 DockerHub 镜像仓库镜像端点 – 否则,选择“确定”继续。

    _images/k8-3.png
  7. 接受此 K8s 集群的默认设置 – 为了与本指南中选择的命名一致,将 Kubernetes 集群名称更改为 onprem。

    _images/k8-4.png
  8. 选择“是”以在头节点上暴露 K8s API 服务器。

    这允许用户从头节点使用 K8s 集群。

    _images/k8-5.png
  9. 选择 internalnet,因为 K8s 主节点和 DGX 节点(即 K8s 工作节点)都连接在 internalnet 上。

    _images/k8-6.png
  10. 选择所有三个 K8s 控制平面节点:knode01、knode02 和 knode03。

    _images/k8-7.png
  11. 为工作节点类别选择 dgx-a100。

    _images/k8-8.png
  12. 不要选择任何单独的 Kubernetes 节点,然后选择“确定”继续。

    _images/k8-9.png
  13. 为 Etcd 节点选择所有三个 K8s 控制平面节点:knode01、knode02 和 knode03。

    _images/k8-10.png
  14. 接受主要 Kubernetes 组件的默认值,除非组织需要特定端口。

    _images/k8-11.png
  15. 在提示时选择 Calico 网络插件。

    _images/k8-12.png
  16. 选择“是”以安装 Kyverno 策略引擎,然后选择“确定”。

    _images/k8-13.png
  17. 选择“否”以拒绝为 Kyverno 配置 HA,然后选择“确定”。

    _images/k8-14.png
  18. 选择是否安装 Kyverno 策略,然后选择“确定”。

    除非配置需要,否则选择“否”。

    _images/k8-15.png
  19. 当提示 NVAIE 许可证时,选择“否”。

    _images/k8-16.png
  20. 选择以下操作器进行安装:NVIDIA GPU Operator、网络操作器、Prometheus Adapter、Prometheus Operator Stack、cm-jupyter-kernel-operator 和 cm-kubernetes-mpi-operator。

    _images/k8-33.png
  21. 选择 GPU Operator 版本。

    _images/k8-18.png
  22. 选择 GPU Operator 版本。

    _images/k8-19.png
  23. 跳过 GPU Operator helm chart 的可选 YAML 配置。

    _images/k8-20.png
  24. 为 NVIDIA GPU Operator 选择 nfd.enable。

    _images/k8-21.png
  25. 不要为网络操作器包含 YAML 文件。

    _images/k8-22.png
  26. 通过选择 nfs.enabled、sriovNetworkOperator.enabled、deployCR、secondaryNetwork.deploy、secondaryNetwork.cniPlugins.deploy、secondaryNetwork.multus.deploy 和 secondaryNetwork.ipamPlugin.deploy 来配置网络操作器。

    _images/k8-23.png
  27. 选择要部署的 Ingress Controller (Nginx)、Kubernetes Dashboard、Kubernetes Metrics Server 和 Kubernetes State Metrics。

    _images/k8-24.png
  28. 选择默认值,除非要使用特定的入口端口。

    _images/k8-25.png
  29. 选择“是”以部署 Permission Manager。

    _images/k8-26.png
  30. 为本地路径存储类选择“启用”和“默认”。

    _images/k8-27.png
  31. 接受默认数据存储路径,并将其他两个字段留空,这是默认设置。

    _images/k8-28.png
  32. 选择“保存配置并部署”。

    _images/k8-29.png
  33. 将文件路径更改为 /root/cm-kubernetes-setup-onprem.conf,然后选择“确定”。

    此文件可用于重新部署 K8s,或复制和修改以部署其他 K8s 集群。等待安装完成。

    _images/k8-30.png
  34. 验证 K8s 集群已正确安装。

     1# module load kubernetes/default/
     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.11
    11dgx02     Ready    worker                 7m37s   v1.27.11
    12dgx03     Ready    worker                 7m36s   v1.27.11
    13dgx04     Ready    worker                 7m37s   v1.27.11
    14knode01   Ready    control-plane,master   7m59s   v1.27.11
    15knode02   Ready    control-plane,master   7m26s   v1.27.11
    16knode03   Ready    control-plane,master   7m25s   v1.27.11
    
  35. 在此处,您还可以验证 NVIDIA 软件已成功安装。

    1# ssh dgx01
    2# nvidia-smi
    3# nvsm show health
    4# dcgmi discovery -l