Ludus & Proxmox
Proxmox 是一套 OpenStack 的 All-in-One 环境(也是基于 QEMU/KVM),省去了 OpenStack 一个一个组件部署的烦恼,可以一套一起部署了。Proxmox 底层可以是多台机器,Ludus 可以借此扩展到多台物理机上(VXLAN, SDN 来构建虚拟网络)。
Ludus 底层强绑定依赖 Proxmox 环境吗?如果是的话是什么原因呢?
- Ludus 的核心虚拟机编排使用 Terraform,并专门调用了 Proxmox 的官方 Terraform Provider;
- Ludus 能快速部署和配置 Windows/Linux 靶机,关键在于利用了 Proxmox 的 Cloud-Init 驱动;
- Ludus 为实验室提供了极其灵活的网络隔离方案,这依赖于 Proxmox SDN(软件定义网络)与 VLAN 功能。
- Ludus 通过 Proxmox 的链接克隆(linked clone) 技术,从预构建的 VM 模板极速创建实例。
- Ludus 在安装过程中就会自动把 Proxmox 安装上去。
什么是 Ludus 里面的 Blueprint?
靶场蓝图,就是一个 YAML 文件:
ludus:
- vm_name: "-DC01"
template: win2022-server-x64-template
vlan: 10
ip_last_octet: 10
ram_gb: 4
cpus: 2
windows:
sysprep: true
domain:
fqdn: lab.local
role: primary-dc
- vm_name: "-WS01"
template: win11-22h2-x64-enterprise-template
vlan: 10
...
什么是 Ludus 里的 Range?
可以理解成就是靶场的概念,一套运行中的靶场。Range 可以理解成是 Blueprint 的一个实例。
什么是 Ludus 里面的 VM Template?
本质上就是一个虚拟机的镜像。在 Range 的定义文档里面,会指定在这个 Range 里面的所有 VM 应该使用哪一个 template。Ludus 里面如果需要支持 VM Template 的保存与恢复的命令:
# 查看所有可用 template
ludus templates list
# 构建单个或全部 template
ludus templates build # 构建所有
ludus templates build -n win11-22h2-x64-enterprise # 构建指定的
# 查看构建状态/日志
ludus templates status
ludus templates logs -f
VM Template 保存在哪里?
什么是 Ludus 里面 Quota 的概念?
多用户资源分配机制,比如规定:
- CPU cores:用户的所有 VM 加起来能用多少 vCPU;
- RAM (GB):总内存上限;
- Disk (GB):总磁盘占用上限;
- VM count:最多能开几台 VM(部分版本)。
什么是 Ludus 里面的 TTL 回收?
Ludus 给 range 设置的自动过期销毁机制——到期后系统自动把 range 销毁,释放资源。
这套方案对机器数量的要求
至少 3 台,这是 Ceph 分布式存储集群的要求,不是 Ludus & Proxmox 的要求。
Ludus & Proxmox 横向扩容需求
🗞️ Recent Posts