5.3.2.5. 容器化服务
某些服务(如 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
容器重启后,对这些文件所做的任何更改都会应用。