Chapter 8. Setting up the Environment

This chapter outlines the details for setting up the environment for Red Hat Gluster Storage Container Converged in OpenShift.

8.1. Preparing the Red Hat OpenShift Container Platform Cluster

Execute the following steps to prepare the Red Hat OpenShift Container Platform cluster:
  1. On the master or client, execute the following command to login as the cluster admin user:
    # oc login
    For example:
     oc login
    Authentication required for https://dhcp46-24.lab.eng.blr.redhat.com:8443 (openshift)
    Username: test
    Password:
    Login successful.
    
    You have access to the following projects and can switch between them with 'oc project <project_name>':
    
      * default
        kube-system
        logging
        management-infra
        openshift
        openshift-infra
      
    
    Using project "default".
    
  2. On the master or client, execute the following command to create a project, which will contain all the containerized Red Hat Gluster Storage services:
    # oc new-project <project_name>
    For example:
    # oc new-project storage-project
    
    Now using project "storage-project" on server "https://master.example.com:8443"
  3. After the project is created, execute the following command on the master node to enable the deployment of the privileged containers as Red Hat Gluster Storage container can only run in the privileged mode.
    # oadm policy add-scc-to-user privileged -z default
  4. Execute the following steps on the master to set up the router:

    Note

    If a router already exists, proceed to Step 5. To verify if the router is already deployed, execute the following command:
    # oc get dc --all-namespaces
    1. Execute the following command to enable the deployment of the router:
      # oadm policy add-scc-to-user privileged -z router
      
    2. Execute the following command to deploy the router:
      # oadm router storage-project-router --replicas=1
    3. Edit the subdomain name in the config.yaml file located at /etc/origin/master/master-config.yaml.
      For example:
      subdomain: "cloudapps.mystorage.com"
    4. Restart the master OpenShift services by executing the following command:
      # systemctl restart atomic-openshift-master
      For OpenShift Container Platform 3.7 execute the following command to restart the services :
      # systemctl restart atomic-openshift-master-api atomic-openshift-master-controllers

      Note

      If the router setup fails, use the port forward method as described in Appendix C, Client Configuration using Port Forwarding .
  5. Execute the following command to verify if the router is running:
    # oc get dc <router_name>
    For example:
    # oc get dc storage-project-router
    NAME                   REVISION   DESIRED   CURRENT   TRIGGERED BY
    storage-project-router   1          1         1         config

    Note

    Ensure you do not edit the /etc/dnsmasq.conf file until the router has started.
  6. After the router is running, the client has to be setup to access the services in the OpenShift cluster. Execute the following steps on the client to set up the DNS.
    1. Execute the following command to find the IP address of the router:
      # oc get pods -o wide --all-namespaces | grep router
      storage-project storage-project-router-1-cm874        1/1       Running   119d       10.70.43.132   dhcp43-132.lab.eng.blr.redhat.com
    2. Edit the /etc/dnsmasq.conf file and add the following line to the file:
      address=/.cloudapps.mystorage.com/<Router_IP_Address>
      where, Router_IP_Address is the IP address of the node where the router is running.
    3. Restart the dnsmasq service by executing the following command:
      # systemctl restart dnsmasq
    4. Edit /etc/resolv.conf and add the following line:
      nameserver 127.0.0.1