OpenShift

= System Requirements =

3 - CentOS 7.5 VMs or hosts 8 vCPUs 12-16 GB RAM 80 GB HDD space (custom partition — 8GB swap, 1GB /boot, rest for / partition) 1 NIC interface with static address and gateway configured
 * For this cluster setup you will need the following VM or Hardware Requirements:

= Prequisites =


 * Perform these steps on all 3 hosts:

yum -y install yum yum-utils wget git net-tools bind-utils iptables-services bridge-utils NetworkManager yum -y install ansible pyOpenSSL python python-yaml python-dbus python-cryptography python-lxml docker tesseract nano yum -y update
 * Install the following pre-requirements:

systemctl enable docker systemctl start docker
 * Setup Docker pre-requirements:

10.1.10.27 opshmaster Openshift01 10.1.10.28 opshnode1 Openshift02 10.1.10.29 opshnode2 Openshift03
 * Add the IP address, hostname and FQDN of each node to /etc/hosts for each host


 * Run ssh-keygen, accept the default location of the key and do not set a password for the key.

for host in Openshift01 \ Openshift02 \ Openshift03; \ do ssh-copy-id -i ~/.ssh/id_rsa.pub $host; \ done
 * Run the following bash script:


 * Restart all 3 hosts

= Ansible Configuration =

nano /etc/ansible/hosts

[OSEv3:children] masters nodes etcd

[OSEv3:vars] ansible_ssh_user=root openshift_deployment_type=origin openshift_master_identity_providers=[{‘name’: ‘htpasswd_auth’, ‘login’: ‘true’, ‘challenge’: ‘true’, ‘kind’: ‘HTPasswdPasswordIdentityProvider’, ‘filename’: ‘/etc/origin/master/htpasswd’}] os_sdn_network_plugin_name=redhat/openshift-ovs-multitenant openshift_disable_check=memory_availability [masters] master openshift_hostname=master openshift_public_hostname=master
 * 1) Set variables common for all OSEv3 hosts
 * 1) openshift_master_identity_providers=[{‘name’: ‘htpasswd_auth’, ‘login’: ‘true’, ‘challenge’: ‘true’, ‘kind’: ‘HTPasswdPasswordIdentityProvider’}]
 * 1) openshift_release=v3.7
 * 2) host group for masters

[etcd] master

[nodes] master openshift_node_labels=“{‘region’: ‘infra’, ‘zone’: ‘default’}” openshift_hostname=master openshift_public_hostname=master node1 openshift_node_labels=“{‘region’: ‘primary’, ‘zone’: ‘east’}” openshift_hostname=node1 openshift_public_hostname=node1 node2 openshift_node_labels=“{‘region’: ‘primary’, ‘zone’: ‘west’}” openshift_hostname=node2 openshift_public_hostname=node2
 * 1) host group for nodes, includes region info

= OpenShift Installation = git clone --single-branch -b release-3.9 https://github.com/openshift/openshift-ansible cd openshift-ansible/

ansible-playbook openshift-ansible/playbooks/deploy_cluster.yml

= Disable Kube-Proxy =


 * References