lxd:https://linuxcontainers.org/lxd/, 目标是融入到 openstack 体系被管理, 像虚拟机一样被管理使用. 从如下图可知, 并非走的是 libvirt-lxc 路线, 而是 nova-compute 这一层直接走 lxd. 其提供了 nova-lxd 的 plugin.
github 上 1749 颗星, 本人研究分析的时候版本为 2.0.9(一年前). 如下分析的也是 2.0.9 版本的时期. 当前已经是 3.1 版本了.
题外话: 容器标准 OCI 已出, 当前业界有新出虚拟化容器, Hyper container. 其路线大有可能是基于 OCI 标准的容器既可以面向 CloudNative 应用的 K8S 路线, 同时也可以面向虚拟化容器的 OpenStack 路线, 而 OCI 标准下已经存在 RunC(Docker 重构后的容器引擎部分, 基于原有的 libcontainer), 也存在 HyperContainer 的容器引擎 RunV. 而 lxd 的存在个人觉得似乎没太大价值了 (从目前看), 无非就是 No vendor lock in 下的容器引擎的利益格局之争. lxd 主导方式 Ubuntu.
pylxd 是封装的 lxd restfull api 的三方 python 库. nova-lxd 是基于 nova-compute 定义的标准南向接口的具体插件实现. 对于 lxd 容器的创建流程如下: 实际上因为 lxd 的 restfull 接口和 nova 的 compute 插件接口未必完全能完整映射 (也就是 lxd 的能力并未完整暴漏到 nova 这一层), 所以会涉及部分能力不能再 openstack 测体现 (就如同 hypervisor 与 libvirt, 通用性的折中). 譬如虚拟机下 vcpu 和容器化中 cpu 不等价, 容器环境变量设置, linux kernel module 加载控制, 这些都未在 nova-lxd 中体现 (虽然 lxd 侧开放了配置能力)
来源: https://www.cnblogs.com/hrbeu05/p/9153368.html