6.3. 配置 S3 后端
要将 Image 服务(glance)配置为 S3 作为存储后端,您需要以下详情:
- S3 access key
- S3 secret 密钥
- S3 端点
为安全起见,这些详细信息存储在 Kubernetes secret 中。
先决条件
- 您计划了存储网络,以确保存储后端、控制平面和数据平面上的计算节点连接。如需更多信息,请参阅 规划部署以及在 OpenShift 上部署 Red Hat OpenStack Services 中的为 Red Hat OpenStack Services 准备网络。https://docs.redhat.com/en/documentation/red_hat_openstack_services_on_openshift/18.0/html/planning_your_deployment/assembly_planning-storage#assembly_assembly_planning-storage-networks_planning
流程
-
创建一个配置文件,如
glance-s3.conf
,您可以在其中存储 S3 配置详情。 为您的 S3 存储生成 secret 和访问密钥。
如果您的 S3 存储由 Ceph 对象网关(RGW)置备,请运行以下命令来生成 secret 和访问密钥:
radosgw-admin user create --uid="<user_1>" \ --display-name="<Jane Doe>"
$ radosgw-admin user create --uid="<user_1>" \ --display-name="<Jane Doe>"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<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>"}'
$ openstackclient openstack credential create --type ec2 \ --project admin admin \ '{"access": "<access_key>", "secret": "<secret_key>"}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<access_key&
gt; 替换为用户 ID。 -
将
<secret_key
> 替换为用户的显示名称。
-
将
在您的
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_>
[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 Copied! Toggle word wrap Toggle overflow -
将
<_s3_endpoint_
> 替换为 S3 服务器正在侦听的主机。此选项可以包含 DNS 名称,如_s3.amazonaws.com_
或 IP 地址。 -
将
<_s3_access_key_
> 和 <_s3_secret_key_
> 替换为 S3 后端生成的数据。 -
将 <
_s3_bucket_
> 替换为您要在 S3 后端中存储镜像的存储桶名称。如果您在OpenStackControlPlane
CR 文件中将s3_store_create_bucket_on_put
设置为True
,则存储桶名称会被自动创建,即使存储桶不存在。
-
将
从
glance-s3.conf
文件创建 secret:oc create secret generic glances3 \ --from-file s3glance.conf
$ oc create secret generic glances3 \ --from-file s3glance.conf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 打开
OpenStackControlPlane
CR 文件openstack_control_plane.yaml
,并在glance
模板中添加以下参数,将 S3 配置为后端:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 可选:如果 HTTPS 访问 S3 存储,您必须设置
s3_store_cacert
字段,并将其指向ca-bundle.crt
路径。默认情况下,OpenStack control plane 部署启用了 TLS,CA 证书会挂载到/etc/pki/tls/certs/ca-bundle.crt
中的 pod。
更新 control plane:
oc apply -f openstack_control_plane.yaml -n openstack
$ oc apply -f openstack_control_plane.yaml -n openstack
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 等待 RHOCP 创建与
OpenStackControlPlane
CR 相关的资源。运行以下命令来检查状态:oc get openstackcontrolplane -n openstack
$ oc get openstackcontrolplane -n openstack
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 当状态为 "Setup complete" 时,会创建
OpenStackControlPlane
资源。提示将
-w
选项附加到get
命令的末尾,以跟踪部署进度。