2.3.5. 使用 S3 准备对 Ceph 对象网关的访问

在尝试访问网关服务器前,您必须在 Ceph 对象网关节点上遵循一些前提条件。

警告

不要修改 Ceph 配置文件以使用端口 80,让 Civetweb 使用默认的 Ansible 配置端口 8080。

先决条件

  • 安装 Ceph 对象网关软件.
  • Ceph 对象网关节点的根级别访问权限.

流程

  1. root 用户身份,打开防火墙上的端口 8080

    [root@rgw ~]# firewall-cmd --zone=public --add-port=8080/tcp --permanent
    [root@rgw ~]# firewall-cmd --reload
  2. 对象网关配置和管理指南中所述,为网关使用的 DNS 服务器添加通配符。

    您还可以为本地 DNS 缓存设置网关节点。要做到这一点,请执行以下步骤:

    1. root 用户身份,安装和设置 dnsmasq

      [root@rgw ~]# yum install dnsmasq
      [root@rgw ~]# echo "address=/.FQDN_OF_GATEWAY_NODE/IP_OF_GATEWAY_NODE" | tee --append /etc/dnsmasq.conf
      [root@rgw ~]# systemctl start dnsmasq
      [root@rgw ~]# systemctl enable dnsmasq

      IP_OF_GATEWAY_NODEFQDN_OF_GATEWAY_NODE 替换为网关节点的 IP 地址和 FQDN。

    2. 作为 root 用户,停止 NetworkManager:

      [root@rgw ~]# systemctl stop NetworkManager
      [root@rgw ~]# systemctl disable NetworkManager
    3. root 用户身份,将网关服务器的 IP 设置为名称服务器:

      [root@rgw ~]# echo "DNS1=IP_OF_GATEWAY_NODE" | tee --append /etc/sysconfig/network-scripts/ifcfg-eth0
      [root@rgw ~]# echo "IP_OF_GATEWAY_NODE FQDN_OF_GATEWAY_NODE" | tee --append /etc/hosts
      [root@rgw ~]# systemctl restart network
      [root@rgw ~]# systemctl enable network
      [root@rgw ~]# systemctl restart dnsmasq

      IP_OF_GATEWAY_NODEFQDN_OF_GATEWAY_NODE 替换为网关节点的 IP 地址和 FQDN。

    4. 验证子域请求:

      [user@rgw ~]$ ping mybucket.FQDN_OF_GATEWAY_NODE

      FQDN_OF_GATEWAY_NODE 替换为网关节点的 FQDN。

      警告

      为本地 DNS 缓存设置网关服务器仅用于测试目的。执行此操作后您将无法访问外部网络。强烈建议您为 Red Hat Ceph Storage 集群和网关节点使用正确的 DNS 服务器。

  3. 对象网关配置和管理指南 中所述,为 S3 访问创建 radosgw 用户,并复制生成的 access_keysecret_key。您需要这些密钥进行 S3 访问和随后的 bucket 管理任务。