6.3. 配置 S3 后端


要将 Image 服务(glance)配置为 S3 作为存储后端,您需要以下详情:

  • S3 access key
  • S3 secret 密钥
  • S3 端点

为安全起见,这些详细信息存储在 Kubernetes secret 中。

流程

  1. 创建一个配置文件,如 glance-s3.conf,您可以在其中存储 S3 配置详情。
  2. 为您的 S3 存储生成 secret 和访问密钥。

    • 如果您的 S3 存储由 Ceph 对象网关(RGW)置备,请运行以下命令来生成 secret 和访问密钥:

      $ radosgw-admin user create --uid="<user_1>" \
      --display-name="<Jane Doe>"
      Copy to Clipboard Toggle word wrap
      • <user_1& gt; 替换为用户 ID。
      • <Jane Doe > 替换为用户的显示名称。
    • 如果您的 S3 存储由 Object Storage 服务(swift)置备,请运行以下命令来生成 secret 和访问密钥:

      $ openstackclient openstack credential create --type ec2 \
      --project admin admin \
      '{"access": "<access_key>", "secret": "<secret_key>"}'
      Copy to Clipboard Toggle word wrap
      • <access_key& gt; 替换为用户 ID。
      • <secret_key> 替换为用户的显示名称。
  3. 在您的 glance-s3.conf 配置文件中添加 S3 配置详情:

    [default_backend]
    s3_store_host = <_s3_endpoint_>
    s3_store_access_key = <_s3_access_key_>
    s3_store_secret_key = <_s3_secret_key_>
    s3_store_bucket = <_s3_bucket_>
    Copy to Clipboard Toggle word wrap
    • <_s3_endpoint_ > 替换为 S3 服务器正在侦听的主机。此选项可以包含 DNS 名称,如 _s3.amazonaws.com_ 或 IP 地址。
    • <_s3_access_key_ & gt; 和 <_s3_secret_key_ > 替换为 S3 后端生成的数据。
    • 将 < _s3_bucket_ > 替换为您要在 S3 后端中存储镜像的存储桶名称。如果您在 OpenStackControlPlane CR 文件中将 s3_store_create_bucket_on_put 设置为 True,则存储桶名称会被自动创建,即使存储桶不存在。
  4. glance-s3.conf 文件创建 secret:

    $ oc create secret generic glances3  \
    --from-file s3glance.conf
    Copy to Clipboard Toggle word wrap
  5. 打开 OpenStackControlPlane CR 文件 openstack_control_plane.yaml,并在 glance 模板中添加以下参数,将 S3 配置为后端:

    apiVersion: core.openstack.org/v1beta1
    kind: OpenStackControlPlane
    spec:
      ...
      glance:
        template:
          ...
          customServiceConfig: |
            [DEFAULT]
            enabled_backends = default_backend:s3
            [glance_store]
            default_backend = default_backend
            [default_backend]
            s3_store_create_bucket_on_put = True
            s3_store_bucket_url_format = "path"
            s3_store_cacert = "/etc/pki/tls/certs/ca-bundle.crt 
    1
    
          glanceAPIs:
            default:
              customServiceConfigSecrets:
              - glances3
    ...
    Copy to Clipboard Toggle word wrap
    1
    可选:如果 HTTPS 访问 S3 存储,您必须设置 s3_store_cacert 字段,并将其指向 ca-bundle.crt 路径。默认情况下,OpenStack control plane 部署启用了 TLS,CA 证书会挂载到 /etc/pki/tls/certs/ca-bundle.crt 中的 pod。
  6. 更新 control plane:

    $ oc apply -f openstack_control_plane.yaml -n openstack
    Copy to Clipboard Toggle word wrap
  7. 等待 RHOCP 创建与 OpenStackControlPlane CR 相关的资源。运行以下命令来检查状态:

    $ oc get openstackcontrolplane -n openstack
    Copy to Clipboard Toggle word wrap

    当状态为 "Setup complete" 时,会创建 OpenStackControlPlane 资源。

    提示

    -w 选项附加到 get 命令的末尾,以跟踪部署进度。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat