TOP云新上线香港GPU显卡物理服务器,CPU有i3-7100、E3-1245v3、i5-7400、i7-8700、E5-2620v2、Gold 6138可选;GPU显卡有G710 2G、RTX3050 6G、RTX5060TI 16G;内存8G-128G可选,带宽有30M-100M可选,价格低至799元/月,购买链接:https://c.topyun.vip/cart?fid=9&gid=203

自动化部署工具:香港GPU服务器Ansible配置

在管理单台 TOP云香港GPU显卡物理服务器(支持 i3/E3/i5/i7/双路E5/双路Gold 6138 + G710/RTX3050/RTX5060TI 16G,内存最高128GB,带宽30–100M独享BGP,月付低至¥799)时,手动执行命令尚可接受;但当您扩展至多台GPU节点组成的AI训练集群、推理服务矩阵或微服务平台时,重复性操作(如安装驱动、配置环境、部署模型)将变得极其低效且易出错。

此时,Ansible —— 这款无需代理、基于SSH的开源自动化运维工具,将成为您的“集群指挥官”。通过编写 YAML 格式的 Playbook,您可一键完成:

  • ✅ 所有GPU服务器的 NVIDIA 驱动统一安装
  • ✅ CUDA、cuDNN、Docker、Kubernetes 环境批量部署
  • ✅ 安全策略(防火墙、用户、SSH密钥)集中管控
  • ✅ 模型服务(TensorRT、Triton)自动发布

本文将手把手教您从零搭建 Ansible 控制端,并编写适用于 TOP 云 GPU 服务器的自动化部署剧本。


一、为什么选择 Ansible?

特性 优势 对GPU服务器的价值
无Agent架构 仅需SSH + Python 物理服务器开箱即用,无需额外组件
幂等性 多次执行结果一致 避免重复安装导致环境混乱
模块化设计 丰富官方/社区模块 直接调用 nvidia_driverdocker_container 等模块
YAML语法简洁 易读易维护 团队协作共享部署流程

💡 对比其他工具

  • Puppet/Chef:需安装Agent,复杂
  • Shell脚本:无状态管理,难以维护
  • Terraform:侧重基础设施,不擅长配置管理

二、架构规划

[ Ansible 控制机 ]  ← SSH →  [ GPU Server 1 (i7 + RTX5060TI) ]
                             [ GPU Server 2 (双路E5 + RTX3050) ]
                             [ GPU Server 3 (Gold 6138 + RTX5060TI) ]
  • 控制机:可为本地笔记本、跳板机或一台轻量云服务器(甚至其中一台GPU机)
  • 被控机:所有 TOP 云 GPU 服务器,需开启 SSH 并安装 Python 3

三、控制端安装 Ansible(Ubuntu/Debian)

sudo apt update
sudo apt install -y python3-pip git
pip3 install ansible
ansible --version  # 验证安装

四、准备被控GPU服务器

1. 确保每台服务器满足:

  • 已安装 Python 3(Ubuntu 20.04+ 默认包含)
  • SSH 免密登录(推荐使用密钥认证)

2. 配置 SSH 密钥(控制机 → GPU服务器)

# 在控制机生成密钥(若无)
ssh-keygen -t ed25519

# 复制公钥到所有GPU服务器
ssh-copy-id user@gpu-server-1
ssh-copy-id user@gpu-server-2
...

3. 测试连接

ansible all -m ping
# 应返回 SUCCESS

五、创建 Inventory 文件(定义主机清单)

创建 inventory/gpu_hosts.ini

[gpu_trainers]
gpu-train-01 ansible_host=103.50.100.101
gpu-train-02 ansible_host=103.50.100.102

[gpu_infer]
gpu-infer-01 ansible_host=103.50.100.103

[gpu_all:children]
gpu_trainers
gpu_infer

[gpu_all:vars]
ansible_user=ubuntu
ansible_ssh_private_key_file=~/.ssh/id_ed25519

🔒 安全提示:私钥文件权限应为 600


六、编写核心 Playbook:GPU 服务器初始化

创建 playbooks/gpu_init.yml

---
- name: 初始化 TOP 云 GPU 服务器
  hosts: gpu_all
  become: yes  # 使用 sudo
  vars:
    nvidia_driver_version: "535"
    cuda_version: "12.3"

  tasks:
    - name: 更新系统
      apt:
        update_cache: yes
        upgrade: dist

    - name: 安装基础依赖
      apt:
        name:
          - build-essential
          - dkms
          - linux-headers-{{ ansible_kernel }}
        state: present

    - name: 添加 NVIDIA 官方仓库
      shell: |
        distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
        curl -s -L https://nvidia.github.io/libnvidia-container/gpgkey | apt-key add -
        curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
          sed 's#https://#https://mirrors.aliyun.com/#g' > /etc/apt/sources.list.d/nvidia-container-toolkit.list

    - name: 安装 NVIDIA 驱动
      apt:
        name: "nvidia-driver-{{ nvidia_driver_version }}"
        state: present
        update_cache: yes

    - name: 安装 CUDA Toolkit
      apt:
        name: "cuda-toolkit-{{ cuda_version | replace('.', '-') }}"
        state: present

    - name: 安装 Docker
      include_role:
        name: geerlingguy.docker

    - name: 验证 GPU 可用性
      shell: nvidia-smi
      register: nvidia_output
      changed_when: false

    - name: 输出 GPU 信息
      debug:
        msg: "{{ nvidia_output.stdout_lines }}"

📦 依赖角色安装:

ansible-galaxy install geerlingguy.docker

七、执行自动化部署

ansible-playbook -i inventory/gpu_hosts.ini playbooks/gpu_init.yml

执行效果

  • 所有服务器自动安装 NVIDIA 535 驱动 + CUDA 12.3
  • Docker 环境就绪
  • 最终输出每台机器的 nvidia-smi 结果,确认 GPU 识别成功

八、进阶场景:部署 Triton 推理服务

创建 playbooks/deploy_triton.yml

- name: 部署 NVIDIA Triton Inference Server
  hosts: gpu_infer
  become: yes
  tasks:
    - name: 拉取 Triton 镜像
      docker_image:
        name: nvcr.io/nvidia/tritonserver:24.01-py3
        source: pull

    - name: 启动 Triton 容器
      docker_container:
        name: triton
        image: nvcr.io/nvidia/tritonserver:24.01-py3
        devices:
          - "/dev/nvidia0:/dev/nvidia0"
          - "/dev/nvidiactl:/dev/nvidiactl"
          - "/dev/nvidia-uvm:/dev/nvidia-uvm"
        ports:
          - "8000:8000"  # HTTP
          - "8001:8001"  # GRPC
        volumes:
          - "/models:/models"
        command: "tritonserver --model-repository=/models"
        restart_policy: unless-stopped

一键部署高性能推理服务!


九、安全与最佳实践

  1. 使用 Vault 加密敏感变量
    ansible-vault create group_vars/gpu_all/vault.yml
    

    存储密码、API密钥等。

  2. 限制 Playbook 权限:避免 become: yes 滥用。
  3. 版本控制:将 Playbook 存入 Git,实现变更追踪。
  4. 测试环境先行:先在单台机器验证,再批量执行。

TOP云 Ansible 自动化优势

  • 物理服务器纯净环境:无云厂商定制镜像干扰
  • 高配机型支持多任务并行:Gold 6138 可同时管理数十节点
  • 技术支持提供模板:免费获取 NVIDIA 驱动、K8s 部署 Playbook

立即告别重复运维!

让 Ansible 成为您的 GPU 集群“自动驾驶系统”!
👉 现在就选购多台TOP云香港GPU服务器,构建自动化AI基础设施
🔗 https://c.topyun.vip/cart?fid=9&gid=203

  • 入门集群:2× i7-8700 + RTX5060TI → ¥2398/月
  • 企业集群:3× 双路Gold 6138 + RTX5060TI → ¥8997/月
  • 带宽30M–100M独享BGP,三网优化直达内地
  • 新用户赠送 Ansible 部署脚本包

TOP云 · 自动化就绪,效率倍增
原生IP|三网BGP|攻击只封IP不关机|免费解封
一行命令,千机同步——您的AI算力,从此尽在掌握!

阿, 信