Chapter 6. Deployment Methods

OpenShift Enterprise can be deployed using one of several methods:
  • The oo-install installation utility interactively gathers information about a deployment before automating the installation of a OpenShift Enterprise host. This method is intended for trials of simple deployments.
  • The installation scripts, available as either a kickstart or bash script, include configurable parameters that help automate the installation of a OpenShift Enterprise host. This method allows for increased customization of the installation process for use in production deployments.
  • The sample deployment steps detailed later in this guide describe the various actions of the installation scripts. This method allows for a manual installation of a OpenShift Enterprise host.
Choose the deployment method that best suits your environment and requirements.

6.1. Using the Installation Utility

You can install OpenShift Enterprise using the oo-install installation utility, which is a front end to the basic installation scripts. The installation utility provides a UI for a single- or multi-host deployment either from your workstation, or from one of the hosts to be installed.
The installation utility is provided to make the trial installation experience easier by interactively gathering the data to run deployments. The features of this utility are planned to expand over time, but for production deployments, Red Hat recommends creating customized installation scripts to suit your environment.
A configuration file based on your selections is created as ~/.openshift/oo-install-cfg.yml, which saves your responses to the installation utility so you can use them in future installations if your initial deployment is interrupted. After completing an initial deployment, only additional node hosts can be added to the deployment using the utility. To add broker, message server, or DB server components to an existing deployment, see Section 8.3, “Separating Broker Components by Host” or Section 8.4, “Configuring Redundancy” for more information.
See https://install.openshift.com for the latest information on this utility.
Prerequisites

Before running the installation utility, consider the following:

  • Do you have ruby-1.8.7 or later, curl, tar, and gzip installed on your system? If required, the installation utility offers suggestions to install RPM packages of utilities that are missing.
  • Does yum repolist show the correct repository setup?
  • Plan your host roles. Do you know which of your hosts will be the broker host and node hosts? If running the tool with the -a option, do you have hosts for MongoDB and ActivemQ?
  • Do you have password-less SSH login access into the instances where you will be running the oo-install command? Do your hosts have password-less SSH as well?
  • You can use an existing DNS server. During installation, the oo-install tool asks if you would like to install a DNS server on the same host as the broker host. Answering no results in a BIND server being set up for you. However, answering yes requires you to input the settings of your existing DNS server. This BIND instance provides lookup information for applications that are created by any application developers.
Using the Installation Utility

There are two methods for using the installation utility. Both are outlined in the following procedures:

Procedure 6.1. To Run the Installation Utility From the Internet:

  1. You can run the installation utility directly from the Internet with the following command:
    $ sh <(curl -s https://install.openshift.com/ose-2.2)
    Additional options can be used with the command. These options are outlined later in this section:
    $ sh <(curl -s https://install.openshift.com/ose-2.2) -s rhsm -u user@company.com
  2. Follow the on-screen instructions to either deploy a new OpenShift Enterprise host, or add a node host to an existing deployment.

Procedure 6.2. To Download and Run the Installation Utility:

Alternatively, you can download and run the installation utility with the following procedure:
  1. Download and unpack the installation utility:
    $ curl -o oo-install-ose.tgz https://install.openshift.com/portable/oo-install-ose.tgz
    $ tar -zxf oo-install-ose.tgz
  2. Execute the installation utility to interactively configure one or more hosts:
    $ ./oo-install-ose
    The oo-install-ose utility automatically runs the installation utility in OpenShift Enterprise mode. Additional options can be used with the command. These options are outlined later in this section:
    $ ./oo-install-ose -s rhsm -u user@company.com
  3. Follow the on-screen instructions to either deploy a new OpenShift Enterprise host, or add a node host to an existing deployment.
Deployment Scenarios

The current iteration of the installation utility enables the initial deployment and configuration of OpenShift Enterprise according to the following scenarios:

  • Broker, message server (ActiveMQ), and DB server (MongoDB) components on one host, and the node components on separate hosts.
  • Broker, message server (ActiveMQ), DB server (MongoDB), and node components on separate hosts (using -a for advanced mode only).
  • All components on one host.

Warning

While having all components on one host is an available option using the installation utility for the purposes of a trial installation, the OpenShift Enterprise security model assumes that broker and node components are installed on separate hosts. Running a broker and node on the same host is not supported.
Highly-available Deployments

Starting with OpenShift Enterprise 2.2, the installation utility can install a highly-available OpenShift Enterprise deployment by configuring your defined hosts for redundancy within the installation utility prompts. By default, and without the -a option, the installation utility scales and installs ActiveMQ and MongoDB services along with the defined broker hosts. If the -a option is used, you can define redundant services on separate hosts as well.

For applications running on your OpenShift Enterprise deployment to achieve high-availability, you must further configure your deployment with the use of an external routing layer after the installation is completed. See the OpenShift Enterprise User Guide [1]for more information on high-availability applications, and Section 8.6, “Using an External Routing Layer for High-Availability Applications” for instructions on implementing an external routing layer.
Configuring Your Deployment

When you run the installation utility for the first time, you are asked a number of questions related to the components of your planned OpenShift Enterprise deployment, such as the following:

  • User names and either the host names or IP addresses for access to hosts.
  • DNS configuration for hosts.
  • Valid gear sizes for the deployment.
  • Default gear capabilities for new users.
  • Default gear size for new applications.
  • User names and passwords for configured services, with an option to automatically generate passwords.
  • Gear size for new node hosts (profile name only).
  • District membership for new node hosts.
  • Red Hat subscription type. Note that when using the installation utility you can add multiple pool IDs by separating each pool ID with a space. You can find the required pool IDs with the procedure outlined in Section 7.1.1, “Using Red Hat Subscription Management on Broker Hosts”.
Options for the Installation Utility

The installation utility can be used with the following options:

-a (--advanced-mode)
By default, the installation utility installs MongoDB and ActiveMQ on the system designated as the broker host. Use the -a option to install these services on a different host.
-c (--config-file) FILE_PATH
Use the -c option with the desired filepath to specify a configuration file other than the default ~/.openshift/oo-install-cfg.yml file. If the specified file does not exist, a file will be created with some basic settings.
-l (--list-workflows)
Before using the -w option, use the -l option to find the desired workflow ID.
-w (--workflow) WORKFLOW_ID
If you already have an OpenShift Enterprise deployment configuration file, use the install utility with the -w option and the enterprise_deploy workflow ID to run the deployment without any user interaction. The configuration is assessed, then deployed if no problems are found. This is useful for restarting after a failed deployment or for running multiple similar deployments.
-s (--subscription-type) TYPE
The -s option determines how the deployment will obtain the RPMs needed to install OpenShift Enterprise, and overrides any method specified in the configuration file. Use the option with one of the following types:
rhsm Red Hat Subscription Manager is used to register and configure the OpenShift software channels according to user, password, and pool settings.
rhn RHN Classic is used to register and configure the OpenShift software channels according to user, password, and optional activation key settings. RHN Classic is primarily intended for existing, legacy systems. Red Hat strongly recommends that you use Red Hat Subscription Manager for new installations, because RHN Classic is being deprecated.
yum New yum repository entries are created in the /etc/yum.repos.d/ directory according to several repository URL settings. This is not a standard subscription and it is assumed you have already created or have access to these repositories in the layout specified in the openshift.sh file.
none The default setting. Use this option when the software subscriptions on your deployment hosts are already configured as desired and changes are not needed.
-u (--username) USERNAME
Use the -u option to specify the user for the Red Hat Subscription Management or RHN Classic subscription methods from the command line instead of in the configuration file.
-p (--password) PASSWORD
Similar to the -u option, use the -p option to specify the password for the Red Hat Subscription Management or RHN Classic subscription methods from the command line instead of in the configuration file. As an alternative, the interactive UI mode also provides an option for entering subscription parameters for a one-time use without them being saved to the system.
-d (--debug)
When using the -d option, the installation utility prints information regarding any attempts to establish SSH sessions as it is running. This can be useful for debugging remote deployments.

Important

If none is used for the subscription type, either by using the -s flag or by not configuring subscription information through the interactive UI or .yml configuration file, you must manually configure the correct yum repositories with the proper priorities before running the installation utility. See Section 7.1, “Configuring Broker Host Entitlements” and Section 9.1, “Configuring Node Host Entitlements” for instructions.
Post-Install Tasks

Once the oo-install tool has completed the install without errors, you have a working OpenShift Enterprise installation. Consult the following list for directions on what to do next: