Glance - 镜像服务¶
Glance 后端¶
概述¶
Glance 可以使用 Kolla 部署,并支持以下后端
file
ceph
文件后端¶
在使用 file 后端时,镜像将存储在 glance_file_datadir_volume 变量的值所对应的本地目录中,默认情况下是一个名为 glance 的 docker volume。默认情况下,在使用 file 后端时,只能运行一个 glance-api 容器。
为了获得更好的可靠性和性能,glance_file_datadir_volume 应该挂载在共享文件系统下,例如 NFS。
在共享文件系统下使用 glance 文件后端
glance_backend_file: "yes"
glance_file_datadir_volume: "/path/to/shared/storage/"
Ceph 后端¶
要在 glance 中使用 ceph 后端,只需启用外部 ceph。默认情况下将自动启用后端 ceph。请参阅 外部 Ceph,了解如何配置此后端。
要手动启用 ceph 后端
glance_backend_ceph: "yes"
Glance 与 S3 后端¶
将 Glance 配置为 S3 包括以下步骤
在
globals.yml中启用 Glance S3 后端
glance_backend_s3: "yes"
在
/etc/kolla/globals.yml中配置 S3 连接详细信息glance_backend_s3_url(示例:http://127.0.0.1:9000)glance_backend_s3_access_key(示例:minio)glance_backend_s3_bucket(示例:glance)glance_backend_s3_secret_key(示例:admin)
#. 如果您希望对所有受支持的服务使用单个 S3 后端,请使用以下变量
s3_url
s3_access_key
s3_glance_bucket
s3_secret_key所有 Glance S3 配置都将这些选项用作默认值。
升级 glance¶
概述¶
Glance 可以使用以下方法升级
滚动升级
传统升级
滚动升级¶
从 Rocky 版本开始,Glance 可以以滚动升级模式进行升级。此模式将减少升级期间的 API 停机时间,最少为容器重启,旨在在未来的版本中实现零停机时间。
默认情况下已禁用,因此如果您想使用此模式进行升级,则需要启用它。
glance_enable_rolling_upgrade: "yes"
警告
在使用 glance 后端 file 且没有共享文件系统的情况下,无法使用此方法,否则会导致 glance 服务损坏。原因是 glance api 仅在一个主机上运行,从而阻止了滚动升级的编排。
传统升级¶
此升级方法将在数据库模式迁移和容器重启期间停止 API。
这是默认模式,请确保未启用滚动升级方法。
glance_enable_rolling_upgrade: "no"
其他配置¶
Glance 缓存¶
Glance 缓存默认情况下已禁用,可以通过以下方式启用
enable_glance_image_cache: "yes"
glance_cache_max_size: "10737418240" # 10GB by default
警告
在使用 ceph 后端时,建议不要使用 glance 缓存,因为 nova 已经有镜像的缓存版本,并且镜像直接从 ceph 复制,而不是 glance api 主机。启用 glance 缓存会导致不必要的存储消耗。
Glance 缓存不会自动清理,glance 团队建议使用 cron 服务定期清理缓存的镜像。未来 kolla 将部署一个 cron 容器来管理此类清理。请参阅 Glance 镜像缓存。
属性保护¶
属性保护默认情况下已禁用,可以通过以下方式启用
glance_enable_property_protection: "yes"
并定义 property-protections-rules.conf 在 {{ node_custom_config }}/glance/ 下。默认 property_protection_rule_format 是 roles 但可以覆盖。
可互操作的镜像导入¶
可互操作的镜像导入默认情况下已禁用,可以通过以下方式启用
glance_enable_interoperable_image_import: "yes"
并定义 glance-image-import.conf 在 {{ node_custom_config }}/glance/ 下。