terraform-provider-libvirt

terraform-provider-libvirt

Terraform插件实现Linux和KVM基础设施自动化管理

terraform-provider-libvirt是一个Terraform插件,用于在libvirt主机上管理虚拟化资源。它让团队能够利用Terraform的基础设施即代码能力来管理Linux和KVM虚拟化环境,特别适合DevOps、开发和测试场景。该插件支持自动安装,并提供创建虚拟机等资源的简单示例,帮助用户快速上手。

Terraformlibvirt虚拟化基础设施即代码KVMGithub开源项目

libvirt 的 Terraform 提供程序

alpha 测试 注册表


这是一个 Terraform 提供程序,允许你通过 Terraformlibvirt 主机上配置服务器。

简介与目标

本项目存在的目的:

  • 让团队在 Linux 和 KVM 提供的经典且廉价的虚拟化基础设施之上,获得 Terraform 提供的软件定义基础设施的好处。 这有助于非常动态的 DevOps、开发和测试活动。
  • 允许将 KVM 资源与 Terraform 能够管理的其他基础设施混合使用

不在范围内的内容:

  • 支持 libvirt 支持的每一个高级功能

    这会使 Terraform 的映射变得复杂且难以维护。请参阅如何贡献部分,了解如何处理新功能。

入门

该提供程序可从 Terraform 注册表 自动安装。

在你的 main.tf 文件中,指定你想使用的版本:

terraform { required_providers { libvirt = { source = "dmacvicar/libvirt" } } } provider "libvirt" { # 配置选项 }

现在运行 terraform init:

$ terraform init

创建你的第一个虚拟机

以下是一个示例,将设置以下内容:

  • 一个虚拟服务器资源

(将其创建为 main.tf 并从此目录运行 terraform 命令):

provider "libvirt" { uri = "qemu:///system" }

你也可以在 LIBVIRT_DEFAULT_URI 环境变量中设置 URI。

现在,定义一个 libvirt 域:

resource "libvirt_domain" "terraform_test" { name = "terraform_test" }

现在你可以查看计划,应用它,然后销毁基础设施:

$ terraform init $ terraform plan $ terraform apply $ terraform destroy

查看更高级的示例在这里,并查看文档

手动安装

你也可以从 Github 的发布部分手动下载提供程序。要安装它,请参考 Terraform 文档

从源代码构建

  • 需要 Go 进行构建。
git clone https://github.com/dmacvicar/terraform-provider-libvirt.git cd terraform-provider-libvirt make

二进制文件将被命名为 terraform-provider-libvirt

使用多个虚拟机监控程序 / 提供程序实例

你可以通过多次实例化提供程序来针对不同的 libvirt 主机。示例

使用 qemu-agent

根据其文档,qemu-agent

它是在域内运行的守护程序,旨在帮助管理应用程序执行需要客户操作系统协助的功能。

在 terraform-provider-libvirt 0.4.2 之前,默认使用 qemu-agent 获取网络配置。但是,如果 qemu-agent 未运行,这会导致连接超时的延迟。

在当前版本中,我们默认不尝试连接它,尝试从代理检索网络接口信息需要通过 qemu_agent = true 显式启用,更多详细信息在这里。请注意,你仍然需要确保代理在操作系统中运行,这与此选项无关。

注意:使用桥接网络配置时,你需要启用 qemu_agent = true。否则你将无法检索域的 IP 地址。

请注意,这些变量在未来版本中可能会再次发生变化。

使用 terraform-libvirt 的上游项目:

  • sumaform sumaform 是一种快速配置、部署、测试 UyuniSUSE Manager 设置的方法,包括客户端和服务器。

  • ha-cluster-sap 在公有/私有云(包括 Libvirt/KVM)中自动化 HA 和 SAP 部署

  • ceph-open-terrarium ceph-open-terrarium 是一种快速配置、部署、测试 CEPH 集群的方法,可以使用或不使用 Deepsea

  • kubic

  • 社区驱动的 Docker 示例 展示如何使用 Libvirt 提供程序的 Docker 示例

  • Openshift 4 安装程序 Openshift 4 安装程序使用 Terraform 进行集群编排,并依赖 terraform-provider-libvirt 用于 libvirt 平台。

  • Kubitect - 一个用于在 libvirt 平台上部署和管理 Kubernetes 集群的 CLI 工具。

作者

另请参阅参与本项目的贡献者列表。

结构和样板代码的灵感来自 SoftlayerGoogle Terraform 提供程序源代码。

许可证

  • Apache 2.0,请参阅 LICENSE 文件

编辑推荐精选

音述AI

音述AI

全球首个AI音乐社区

音述AI是全球首个AI音乐社区,致力让每个人都能用音乐表达自我。音述AI提供零门槛AI创作工具,独创GETI法则帮助用户精准定义音乐风格,AI润色功能支持自动优化作品质感。音述AI支持交流讨论、二次创作与价值变现。针对中文用户的语言习惯与文化背景进行专门优化,支持国风融合、C-pop等本土音乐标签,让技术更好地承载人文表达。

QoderWork

QoderWork

阿里Qoder团队推出的桌面端AI智能体

QoderWork 是阿里推出的本地优先桌面 AI 智能体,适配 macOS14+/Windows10+,以自然语言交互实现文件管理、数据分析、AI 视觉生成、浏览器自动化等办公任务,自主拆解执行复杂工作流,数据本地运行零上传,技能市场可无限扩展,是高效的 Agentic 生产力办公助手。

lynote.ai

lynote.ai

一站式搞定所有学习需求

不再被海量信息淹没,开始真正理解知识。Lynote 可摘要 YouTube 视频、PDF、文章等内容。即时创建笔记,检测 AI 内容并下载资料,将您的学习效率提升 10 倍。

AniShort

AniShort

为AI短剧协作而生

专为AI短剧协作而生的AniShort正式发布,深度重构AI短剧全流程生产模式,整合创意策划、制作执行、实时协作、在线审片、资产复用等全链路功能,独创无限画布、双轨并行工业化工作流与Ani智能体助手,集成多款主流AI大模型,破解素材零散、版本混乱、沟通低效等行业痛点,助力3人团队效率提升800%,打造标准化、可追溯的AI短剧量产体系,是AI短剧团队协同创作、提升制作效率的核心工具。

seedancetwo2.0

seedancetwo2.0

能听懂你表达的视频模型

Seedance two是基于seedance2.0的中国大模型,支持图像、视频、音频、文本四种模态输入,表达方式更丰富,生成也更可控。

nano-banana纳米香蕉中文站

nano-banana纳米香蕉中文站

国内直接访问,限时3折

输入简单文字,生成想要的图片,纳米香蕉中文站基于 Google 模型的 AI 图片生成网站,支持文字生图、图生图。官网价格限时3折活动

扣子-AI办公

扣子-AI办公

职场AI,就用扣子

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

堆友

堆友

多风格AI绘画神器

堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。

图像生成热门AI工具AI图像AI反应堆AI工具箱AI绘画GOAI艺术字堆友相机
码上飞

码上飞

零代码AI应用开发平台

零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

下拉加载更多