从配置驱动写入静态配置的简单程序
项目描述
Glean是一个程序,旨在根据配置驱动中提供的配置来配置系统。
为什么需要glean?
不同的云服务提供商以不同的方式向虚拟机提供网络和其他配置。许多使用DHCP,但其他一些,特别是Rackspace,使用通过配置驱动提供的配置。
glean做什么?
总的来说,glean检查基于配置驱动的信息,如果找到,则使用该信息来配置网络。如果没有找到配置驱动,它将回退到使用DHCP配置任何可用的接口。
具体来说,它将挂载标签为< cite>config-2的特殊块设备,并解析其中的< cite>network_info.json和< cite>vendor_info.json文件。如果找到适当的网络配置,它将写出网络配置文件。
《network_info.json》文件的格式文档见此处。请注意,glean并没有实现列表中的所有功能。
如果没有找到网络信息,可以从/sys/class/net探测可用接口,任何看起来已启动的接口都将配置为使用DHCP。
它还会处理从meta_data.json提供的authorized_keys和主机名信息。
glean是如何做到这一点的呢?
Glean确定正在运行的平台的网络配置环境,并相应地配置接口。
systemd环境
在检测到systemd的平台,glean-install将添加一个触发任何网络设备添加的udev规则文件(99-glean.rules)。这将运行指定接口的glean@.service systemd模板。
该systemd单元首先确定是否已经存在接口的/etc/sysconfig/network/配置;如果是,则认为该接口已配置并跳过。
如果没有,则会以触发此事件的接口作为参数启动glean。将探测配置驱动以查看是否可用接口的网络配置。如果可用,则将其添加,否则将配置接口以使用DHCP。
networkd
networkd支持作为单独的发行版类型实现。目前它只在Gentoo上受支持,并且将由glean-install自动选择。它将以类似的方式安装systemd服务文件或openrc配置文件(两者都受Gentoo支持),并调用glean的udev规则。
其他平台
upstart和sysv环境也受支持。这些将在启动时安装初始化脚本以运行glean。
如何使用glean?
Glean包含一个名为glean-install的脚本,该脚本将glean安装到您的系统启动环境中。它应该处理sysv、upstart和systemd,以覆盖所有主要发行版。这应在安装或镜像构建期间运行一次。
启动环境将按上述方式修改,以配置任何找到的接口。
与cloud-init有何不同?
Glean与cloud-init的主要区别在于其非常小的依赖性足迹。在OpenStack这样的动态CI环境中,许多python依赖项可以导致与测试所需的包或版本发生冲突。
Glean还更好地支持在配置驱动程序中分配静态IP,这在Rackspace环境中尤为重要。
更多详情
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分发
构建分发
glean-1.24.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | df2788d7fe1178b56694f2983b288f8e8457aa62723b960acb7fd26a440f0c10 |
|
MD5 | cb25ee073a4d294680a1c9a2b65b549f |
|
BLAKE2b-256 | e5c8058748b64c1ca7d00e1906714d48e5210bc9ceb7956f4dc0c8ad4fa05ee1 |
glean-1.24.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3a000d7695ac31f99ca1cb1edaaf05c1c52584e7f9b302038105b2e053e18ce7 |
|
MD5 | b32480275b2b401963025a525b5bfeb4 |
|
BLAKE2b-256 | a8d3a1f64251820b802c1b2f27d1537cea7ff9127c45838b594303764d0b3ef6 |