6.4. 容器化服务
有些服务(如 nova、glance 和 keystone)现在在容器内运行。这种方法有助于通过更轻松地将更新应用到服务来提高安全性。在其自己的容器中运行每个服务还提高了在同一裸机上共存的服务之间的隔离。如果任何一个服务受到攻击的影响,这非常有用,这可以防止对相邻服务进行轻松访问。
注意
挂载到容器的主机机器上的任何路径都可以用作在容器和主机间传输数据的挂载点(如果它们被配置为 ro/rw)。
如果您要更新任何配置文件,则考虑某些管理实践,假定容器化服务是临时的:
-
不要更新您可能在物理节点的主机操作系统中找到的任何配置文件,例如
/etc/cinder/cinder.conf。这是因为容器化服务不引用此文件。 - 不要更新在容器中运行的配置文件。这是因为在重启容器后任何更改都会丢失。
相反,如果您需要为容器化服务添加任何更改,则需要更新用于看到容器的配置文件。这些文件在初始部署期间由 puppet 生成,并包含对云运行很重要的敏感数据,应相应地处理。它们存储在 /var/lib/config-data/puppet-generated/ 中。例如:
-
keystone:
/var/lib/config-data/puppet-generated/keystone/etc/keystone/keystone.conf -
cinder:
/var/lib/config-data/puppet-generated/cinder/etc/cinder/cinder.conf -
nova:
/var/lib/config-data/puppet-generated/nova_libvirt/etc/nova/nova.conf
容器重启后将应用对这些文件所做的任何更改。