Proxmoxer 项目使用教程
1. 项目介绍
Proxmoxer 是一个 Python 包装器,用于 Proxmox REST API v2。它目前支持 Proxmox 虚拟环境 (PVE)、Proxmox 邮件网关 (PMG) 和 Proxmox 备份服务器 (PBS) 服务。Proxmoxer 不仅支持通过 HTTPS 使用 REST API,还支持通过 SSH 和 pvesh 实用程序使用相同的 API。它动态创建属性,以响应您尝试访问的属性。
Proxmoxer 的完整文档可以在 这里 找到。
2. 项目快速启动
安装
首先,使用 pip 安装 Proxmoxer:
pip install proxmoxer
如果需要使用 'https' 后端,请安装 requests
:
pip install requests
如果需要使用 'ssh_paramiko' 后端,请安装 paramiko
:
pip install paramiko
如果需要使用 'openssh' 后端,请安装 openssh_wrapper
:
pip install openssh_wrapper
快速使用
以下是一个简单的使用示例,展示了如何连接到 Proxmox 服务器并列出所有虚拟机:
from proxmoxer import ProxmoxAPI
# 创建 ProxmoxAPI 实例
proxmox = ProxmoxAPI(
"proxmox_host",
user="admin@pam",
password="secret_word",
verify_ssl=False
)
# 列出所有节点和虚拟机
for node in proxmox.nodes.get():
for vm in proxmox.nodes(node["node"]).qemu.get():
print(f"[vm['vmid']] [vm['name']] => [vm['status']]")
3. 应用案例和最佳实践
应用案例
Proxmoxer 可以用于自动化管理 Proxmox 环境中的虚拟机和容器。例如,您可以使用 Proxmoxer 编写脚本来启动、停止或迁移虚拟机,或者在特定条件下自动创建新的虚拟机。
最佳实践
- 安全连接:始终使用 HTTPS 连接,并确保 SSL 证书验证已启用。
- 错误处理:在编写脚本时,务必添加错误处理机制,以应对可能的 API 调用失败。
- 权限管理:确保使用具有适当权限的用户帐户进行 API 调用,以避免意外操作。
4. 典型生态项目
Proxmoxer 可以与其他自动化工具和框架结合使用,以实现更复杂的自动化任务。以下是一些典型的生态项目:
- Ansible:可以使用 Proxmoxer 作为 Ansible 模块,自动化 Proxmox 环境的管理。
- SaltStack:通过 Proxmoxer,SaltStack 可以管理 Proxmox 环境中的虚拟机和容器。
- Jenkins:可以使用 Proxmoxer 编写 Jenkins 管道,自动化虚拟机的创建和部署。
通过结合这些工具,您可以构建一个强大的自动化平台,用于管理和监控 Proxmox 环境。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考