The OpenShift Enterprise v3.5 Automated Installation package provides a set of tools to
- Create virtual-machines
- Install master and minion nodes
For convenience purposes the OSE v3.5 Automated Installation package includes a script to create virtual-machines on RHEL 7.3 using libvirt. You need to run this script with root privileges.
To create a master-node VM execute
sudo ./ose-create-vm.sh --vm-path=<dir-to-vms> --rhel-iso=<rhel-iso> --ip=192.168.122.100 --hostname=openshift.example.com --root-pw='<root-password>' --rhn-username="<rhn-username>" --rhn-password='<rhn-password>' --pool-id=<pool-id>
Of course you can change the ip and hostname values to your liking.
For a minion-node add a node-type, i.e.
./ose-create-vm.sh --vm-path=<dir-to-vms> --rhel-iso=<rhel-iso> --ip=192.168.122.101 --hostname=node1.example.com --root-pw='<root-password>' --node-type=node
The OpenShift domain configuration has to be defined in ose-install.cfg. This file then has to be copied to the master-node from where the OpenShift domain installation is triggered.
The content of this file is described at https://access.redhat.com/documentation/en/openshift-container-platform/3.5/single/installation-and-configuration#install-config-install-advanced-install and is the same as for /etc/ansible/hosts.
The example configuration contains this content
[OSEv3:children]
masters
nodes
# Set variables common for all OSEv3 hosts
[OSEv3:vars]
# SSH user, this user should allow ssh based auth without requiring a password
ansible_ssh_user=root
# To deploy origin, change deployment_type to origin
product_type=openshift
deployment_type=openshift-enterprise
# Use containerized install
containerized=true
# enable htpasswd authentication
openshift_master_identity_providers=[{'name': 'htpasswd_auth', 'login': 'true', 'challenge': 'true', 'kind': 'HTPasswdPasswordIdentityProvider', 'filename': '/etc/origin/openshift-passwd'}]
# default domain
openshift_master_default_subdomain=apps.example.com
# Metrics and logging
openshift_hosted_metrics_deploy=true
openshift_hosted_logging_deploy=true
openshift_master_logging_public_url=https://kibana.example.com
# host group for masters
[masters]
openshift.example.com openshift_node_labels="{'region': 'infra', 'zone': 'default'}" openshift_scheduleable=True
# host group for nodes, includes region info
[nodes]
openshift.example.com openshift_node_labels="{'region': 'infra', 'zone': 'default'}"
To install a master (and if specified, nodes) copy the files ose-install.sh and ose-install.cfg to the box you want to install it on and run the following command
./ose-install.sh --root-password='<root-password>'