Linux 使用 Ansible 自动化批量安装 GPU 显卡驱动(NVIDIA Driver + CUDA)完整教程

Linux 使用 Ansible 自动化批量安装 GPU 显卡驱动(NVIDIA Driver + CUDA)完整教程
WeekendLinux 使用 Ansible 自动化批量安装 GPU 显卡驱动(NVIDIA Driver + CUDA)完整教程
适用于:Ubuntu 22.04 / 多台 GPU 服务器 / 自动化批量部署场景
在 GPU 服务器集群中,人工逐台部署 NVIDIA 驱动与 CUDA 不仅耗时,还容易出现版本不一致的问题。
本文将演示如何通过 Ansible 实现 GPU 驱动的自动化批量安装,使你可以:
- 一次命令,批量安装 GPU 驱动
- 统一版本管理(Driver + CUDA)
- 支持集群并行执行
- 可指定单节点或多节点
- 无需人工输入密码(SSH 免密登录)
- https://github.com/hualiu312/ansible
基于 Ubuntu/Ubuntu (WSL)/aptitude 的系统安装 Ansible
1 | sudo apt -y update && sudo apt -y install ansible python3-pip |
克隆仓库:
1 | git clone https://github.com/hualiu312/ansible.git |
一、准备工作:构建 SSH 免密访问
为了让 Ansible 能自动登录每台 GPU 服务器,必须先配置免密登录。
1. 在控制节点生成 SSH 密钥
1 | ssh-keygen -t rsa -b 4096 -C "192.168.1.3" |
保持默认回车即可,生成:
- 私钥:
~/.ssh/id_rsa - 公钥:
~/.ssh/id_rsa.pub
查看公钥内容(如需要):
1 | cat ~/.ssh/id_rsa.pub |
2. 将公钥复制到 GPU 服务器
例如 GPU 节点 IP:172.16.1.3
1 | ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] |
成功后即可无密码登录:
1 | ssh [email protected] |
按相同方式向其它 GPU 节点复制即可。
二、准备 Ansible Inventory(主机清单)
1 | all: |
你可以根据 GPU 节点数量继续扩展,并使用组(group)管理:
1 | gpu-nodes: |
三、准备 Ansible Playbook:自动安装 NVIDIA Driver + CUDA
- 移除旧版驱动
- 自动禁用 nouveau
- 安装指定版本 NVIDIA 驱动
- 安装指定版本 CUDA
- 自动重启
- 检查
nvidia-smi状态
示例结构(与你的文件一致即可):
1 |
|
可直接使用 upgrade-nvidia.yml,或根据需要修改。
四、执行批量安装(Ansible Playbook)
安装命令有两种方式:
方式一:指定单节点安装(推荐测试时使用)
例如仅安装到 ubuntu-gpu-5090 这一台:
1 | ansible-playbook -i inventory.yml upgrade-nvidia.yml --limit ubuntu-gpu-5090 \ |
说明:
--limit ubuntu-gpu-5090:只对这台机器执行cuda_version=12-9:CUDA 12.9 :版本可自行修改nvidia_version=575:NVIDIA Driver 575
非常适合测试单 Node。
方式二:批量安装到整个集群(生产环境使用)
直接执行:
1 | ansible-playbook -i inventory.yml upgrade-nvidia.yml \ |
不加 --limit 时,将自动安装到 inventory 中的所有 GPU 服务器。
如果你在 inventory 中定义了一个 group,比如:
1 | gpu-nodes: |
则可以:
1 | ansible-playbook -i inventory.yml upgrade-nvidia.yml --limit gpu-nodes \ |
五、安装完成后验证效果
Ansible 已包含重启(如果需要),安装完成后,你可以登录任意节点:
1 | ssh [email protected] |
输出类似:
1 | Fri Dec 12 15:30:21 2025 |
表示驱动安装成功。
六、常见操作说明
■ 批量重试执行
安装过程中遇到失败,可重新执行同样指令,Ansible 会自动跳过已完成任务。
■ 新增 GPU 节点
只需在 inventory.yml 中加入服务器信息即可。
■ 更换驱动版本
只需更换版本参数,例如:
1 | -e "nvidia_version=550" |
无需修改 Playbook。
七、完整流程总结
- 生成 SSH 密钥并复制公钥到所有 GPU 服务器
- 准备 Ansible inventory
- 使用
upgrade-nvidia.ymlPlaybook - 指定执行范围(单节点 / 多节点)
- 一条命令完成 Driver + CUDA 安装
nvidia-smi验证结果
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果









