在本地部署的私有云环境中为容器工作负载提供虚拟机的最佳选择

50次阅读
没有评论

问题描述

面临在本地部署的私有云环境中为容器工作负载提供虚拟机的挑战。在众多”云原生”工具中(如Terraform、InfraKit、Juju、Foreman、Pulumi等),选择最适合实现基础设施即代码的工具变得困难。用户需要解决以下问题:如何选择适用于本地部署的IaaS的最佳工具?用户希望在一组物理服务器上创建虚拟机,使用KVM作为虚拟化技术,并使用libvirt进行管理。此外,用户希望能够自动设置容器编排集群以及连接存储设备的方式。

解决方案

注意:以下解决方案可能涉及版本差异或需要注意的操作步骤,请谨慎操作并提前备份数据。

选择合适的工具

在选择适合的工具时,需要考虑以下指标:
1. 零封闭源代码行数(LOC)
2. 工具数量(如果不使用”All-in-one”工具)
3. 在UI中设置3个主节点 + 5个工作节点的Kubernetes/Swarm集群所需的操作数(命令行工具)和点击数(基于Web的/GUI工具)
4. 配置文件的长度/大小
5. 安装工具的UI操作
6. 维护配置的UI操作(最好是无需操作,自愈式基础设施)

方案

根据用户的需求,以下是两个可能的解决方案。

方案1:使用Terraform和libvirt

Terraform 是一个流行的基础设施即代码工具,可以帮助您管理多个IaaS提供商和部署资源。结合Terraform的libvirt提供程序,您可以在本地部署的私有云中创建和管理虚拟机。

步骤
  1. 安装Terraform
  2. 创建一个Terraform配置文件(例如:main.tf)并配置libvirt提供程序以及所需的虚拟机资源。
  3. 运行terraform init初始化配置。
  4. 运行terraform apply创建虚拟机。

请注意,使用Terraform时,您可能会遇到libvirt提供程序的限制。确保查阅Terraform和libvirt提供程序的文档,了解它们的功能和限制。

方案2:使用Docker Machine

Docker Machine 是一个用于管理远程Docker主机的工具,可以通过插件支持多种虚拟化平台,包括KVM。

步骤
  1. 安装Docker Machine
  2. 安装Docker Machine的KVM驱动。然而,请注意,Docker Machine的KVM驱动目前已经不再维护。您可能需要寻找其他选择。
  3. 使用Docker Machine创建和管理虚拟机,设置KVM作为驱动程序。

请注意,虽然Docker Machine在使用KVM上可以工作,但由于其KVM插件的限制,可能不支持远程qemu+ssh。您需要仔细评估工具的功能是否符合您的需求。

总结

在选择适合您需求的工具时,需要考虑多个因素,包括工具的功能、适用性以及对本地部署环境的支持程度。两个可能的解决方案是使用Terraform和libvirt或使用Docker Machine,但都需要在操作之前详细了解各自的功能和限制。

注意: 本解决方案提供了一些可能的工具选项和操作步骤,但实际操作中可能会涉及更多细节和版本差异。在操作之前,请务必阅读工具的官方文档,并确保在测试环境中进行操作,以避免意外损失。

正文完