Add a RADOS Gateway node

Add a RADOS Gateway node

This section describes how to add a RADOS Gateway (rgw) node to an existing Ceph cluster.

To add a RADOS Gateway node:

  1. In your project repository, add the following lines to the cluster/ceph/init.yml and modify them according to your environment:

    _param:
      ceph_rgw_node04_hostname: rgw04
      ceph_rgw_node04_address: 172.16.47.162
    linux:
      network:
        host:
          rgw04:
            address: ${_param:ceph_rgw_node04_address}
            names:
            - ${_param:ceph_rgw_node04_hostname}
            - ${_param:ceph_rgw_node04_hostname}.${_param:cluster_domain}
    
  2. Add the following lines to the cluster/ceph/rgw.yml file:

    parameters:
      _param:
        cluster_node04_hostname: ${_param:ceph_rgw_node04_hostname}
        cluster_node04_address: ${_param:ceph_rgw_node04_address}
      ceph:
        common:
          keyring:
            rgw.rgw04:
              caps:
                mon: "allow rw"
                osd: "allow rwx"
      haproxy:
        proxy:
          listen:
            radosgw:
              servers:
                - name: ${_param:cluster_node04_hostname}
                  host: ${_param:cluster_node04_address}
                  port: ${_param:haproxy_radosgw_source_port}
                  params: check
    

    Note

    Starting from the MCP 2019.2.10 maintenance update, the capabilities for RADOS Gateway have been restricted. To update the existing capabilities, perform the steps described in Restrict the RADOS Gateway capabilities.

  3. Add the following lines to the cluster/infra/config/init.yml file:

    parameters:
      reclass:
        storage:
          node:
            ceph_rgw_node04:
              name: ${_param:ceph_rgw_node04_hostname}
              domain: ${_param:cluster_domain}
              classes:
              - cluster.${_param:cluster_name}.ceph.rgw
              params:
                salt_master_host: ${_param:reclass_config_master}
                linux_system_codename:  ${_param:ceph_rgw_system_codename}
                single_address: ${_param:ceph_rgw_node04_address}
                keepalived_vip_priority: 104
    
  4. Add the following lines to the cluster/infra/kvm.yml file and modify infra_kvm_node03_hostname depending on which KVM node the rgw must be running on:

    parameters:
      salt:
        control:
          size:
            ceph.rgw:
              cpu: 8
              ram: 16384
              disk_profile: small
              net_profile: default
          cluster:
            internal:
              node:
                rgw04:
                  name: ${_param:ceph_rgw_node04_hostname}
                  provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
                  image: ${_param:salt_control_xenial_image}
                  size: ceph.rgw
    
  5. Log in to the Jenkins web UI.

  6. Open the Ceph - add node pipeline.

  7. Specify the following parameters:

    Parameter

    Description and values

    SALT_MASTER_CREDENTIALS

    The Salt Master credentials to use for connection, defaults to salt.

    SALT_MASTER_URL

    The Salt Master node host URL with the salt-api port, defaults to the jenkins_salt_api_url parameter. For example, http://172.18.170.27:6969.

    HOST

    Add the Salt target name of the new RADOS Gateway node. For example, rgw04*.

    HOST_TYPE

    Add rgw as the type of Ceph node that is going to be added.

  8. Click Deploy.

The Ceph - add node pipeline workflow:

  1. Launch RADOS Gateway VMs.

  2. Run the reclass state.

  3. Run the linux, openssh, salt, ntp, rsyslog, keepalived, haproxy, ceph.radosgw states.