一台Ubuntu22.04物理机搭建虚拟机云和容器云集群,通过安装ESXi、配置GPU透传、创建虚拟机,然后在虚拟机上搭建集群。

步骤1: 安装ESXi并配置GPU透传

  1. 下载和准备ESXi:

    • VMware 官方网站 下载ESXi镜像。
    • 使用Rufus等工具将镜像写入U盘,以便将其作为启动盘。
  2. 安装ESXi:

    • 将U盘插入服务器并从U盘启动。
    • 选择“Install ESXi”,然后按照屏幕提示进行安装。
    • 选择合适的磁盘(硬盘)作为安装目标,通常是2TB存储的一部分。
  3. 初步配置ESXi:

    • 安装完成后,使用管理程序(例如iBMC)连接到服务器,并访问ESXi的管理控制台。
    • 设置主机名、管理网络(如IP地址、子网掩码、网关)等。
    • 通过浏览器访问ESXi的Web管理界面(如https://<你的ESXi IP地址>)。
  4. 配置GPU透传:

    • 进入ESXi Web管理界面。
    • 选择“Host” -> “Manage” -> “Hardware” -> “PCI Devices”。
    • 找到你的NVIDIA 4060 GPU并启用“Passthrough”功能。
    • 重启ESXi主机以应用设置。

步骤2: 创建虚拟机并配置集群

为虚拟云创建虚拟机:
  1. 创建主节点虚拟机:

    • 在ESXi Web管理界面,选择“Virtual Machines” -> “Create/Register VM”。
    • 选择“Create a new virtual machine”。
    • 设置虚拟机名称(如“VM-Cloud-Master”)。
    • 选择操作系统类型为Linux(建议使用Ubuntu 22.04)。
    • 为虚拟机分配8核CPU、16GB RAM和80GB硬盘。
    • 完成设置后,启动虚拟机并安装Ubuntu 22.04。
  2. 创建GPU工作节点虚拟机:

    • 按照与主节点类似的步骤创建4个工作节点虚拟机。
    • 每个工作节点命名为“VM-Cloud-Worker-1”,“VM-Cloud-Worker-2”等。
    • 分配8核CPU、16GB RAM、80GB硬盘以及通过GPU透传分配给每个虚拟机一个GPU。
为容器云创建虚拟机:
  1. 创建主节点虚拟机:

    • 使用与虚拟云类似的方法创建容器云主节点虚拟机(命名为“Container-Cloud-Master”)。
    • 分配8核CPU、16GB RAM、80GB硬盘。
  2. 创建GPU工作节点虚拟机:

    • 按照相同的步骤为容器云创建4个工作节点虚拟机。
    • 每个工作节点命名为“Container-Cloud-Worker-1”,“Container-Cloud-Worker-2”等。

步骤3: 配置Kubernetes集群

  1. 在主节点上安装Kubernetes:

    • SSH进入虚拟云主节点。
    • 更新系统并安装必要的工具:
      sudo apt-get update
      sudo apt-get install -y apt-transport-https curl
      
    • 添加Kubernetes的APT源并安装kubeadm、kubelet和kubectl:
      curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
      sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
      sudo apt-get update
      sudo apt-get install -y kubelet kubeadm kubectl
      
    • 使用kubeadm初始化集群:
      sudo kubeadm init --pod-network-cidr=192.168.0.0/16
      
    • 配置kubectl:
      mkdir -p $HOME/.kube
      sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
      sudo chown $(id -u):$(id -g) $HOME/.kube/config
      
  2. 为工作节点加入集群:

    • 在每个工作节点上安装Kubernetes(与主节点相同)。
    • 使用在主节点初始化时生成的kubeadm join命令,将每个工作节点加入集群。

    在主节点上初始化集群时(即执行 kubeadm init 时),会生成一个 kubeadm join 命令。这个命令包含一个 token 和主节点的 IP 地址,工作节点需要用它来加入集群。

    例如,生成的命令可能类似这样:

    kubeadm join <Master-Node-IP>:<Port> --token <token> --discovery-token-ca-cert-hash sha256:<hash>
    
  3. 部署网络插件(例如Calico或Flannel):

    • 在主节点上运行以下命令:
      kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
      
  4. 验证集群状态:

    • 使用以下命令检查节点和Pod的状态:
      kubectl get nodes
      kubectl get pods -A
      

步骤4: 安装GPU支持(可选)

  1. 为容器安装NVIDIA驱动:

    • 安装NVIDIA Docker工具包:
      curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
      distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
      curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
      sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
      sudo systemctl restart docker
      
  2. 为Kubernetes配置GPU支持:

    • 在所有GPU节点上安装NVIDIA Kubernetes插件:
      kubectl apply -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v0.9.0/nvidia-device-plugin.yml
      
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐