Chapter 3. Deployment Process Overview
This section outlines the deployment process. This consists of a set of infrastructure and host configuration steps culminating with the actual installation of RHOCP using Ansible. The next section details the prerequisites and configuration values that are needed to execute these steps.
The deployment of RHOCP is executed by a set of Ansible playbooks created by the RHOCP team that install and configure RHOCP on a set of existing hosts or instances.
3.1. Provisioning Steps
The high level steps include:
- Configure RHOSP network
- Deploy instances and attach to network
- Update external services (DNS, load-balancer)
- Configure and tune instances
- Define deployment parameters (create Ansible input files)
- Deploy RHOCP (execute Ansible playbooks)
- Validate and Monitor
The following sections describe the steps in detail.
3.1.1. Configure Red Hat OpenStack Platform Networks
RHOCP runs on two networks. The control network is used for instance to instance communcations. The tenant network carries container-to-container traffic to isolate it from the operational communications.
3.1.2. Deploy Instances and Attach to Networks
This reference environment is made up of eight instances all attached to both the control and tenant networks. The bastion host, the OpenShift master hosts and the infrastructure nodes are assigned floating IP addresses in order to be accessible to the outside world.
3.1.3. Update External Services (DNS, Load-Balancer)
Once the floating IP addresses have been allocated and attached to the bastion, masters and infrastructure nodes these addresses are mapped to their host names and published via DNS. The master and infrastructure node IPs are configured into the load-balancer so that inbound connections are properly forwarded.
3.1.4. Configure and Tune Instances
The instances are created from stock RHEL images. The images need to be registered for software updates and install minimal package sets.
The bastion host gets the full complement of Ansible software. The remaining instances are configured to allow Ansible to run from the bastion host to execute the installation.
3.1.5. Define RHOCP Deployment Parameters - (Create Ansible Input Files)
Using the names and IP addresses of the new instances, create the Ansible
inventory to define the layout of the service on the hosts.
Using the pre-defined values for the RHOCP service, fill in the deployment variables for RHOCP in the appropriate file.
3.1.6. Deploy RHOCP (Execute Ansible)
ansible-playbook to deploy RHOCP from the bastion host to the service instances.
3.1.7. Validate and Monitor
Verify that each of the users listed can access their services. Deploy a sample application as a developer and access it as a user.