System Requirements

  • For this cluster setup you will need the following VM or Hardware 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

Prequisites

Perform these steps on all 3 hosts
  • Install the following pre-requirements:
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
  • Setup Docker pre-requirements:
systemctl enable docker
systemctl start docker
  • Add the IP address, hostname and FQDN of each node to /etc/hosts for each host
10.1.10.27  opshmaster Openshift01
10.1.10.28  opshnode1 Openshift02
10.1.10.29  opshnode2 Openshift03
  • Run ssh-keygen, accept the default location of the key and do not set a password for the key.
  • Run the following bash script:
for host in Openshift01 \
   Openshift02 \
   Openshift03; \
   do ssh-copy-id -i ~/.ssh/id_rsa.pub $host; \
   done
  • Restart all 3 hosts

Ansible Configuration

nano /etc/ansible/hosts
# Create an OSEv3 group that contains the masters and nodes groups
[OSEv3:children]
masters
nodes
etcd

# Set variables common for all OSEv3 hosts
[OSEv3:vars]
ansible_ssh_user=root
openshift_deployment_type=origin
openshift_master_identity_providers=[{‘name’: ‘htpasswd_auth’, ‘login’: ‘true’, ‘challenge’: ‘true’, ‘kind’: ‘HTPasswdPasswordIdentityProvider’, ‘fil$
#openshift_master_identity_providers=[{‘name’: ‘htpasswd_auth’, ‘login’: ‘true’, ‘challenge’: ‘true’, ‘kind’: ‘HTPasswdPasswordIdentityProvider’}]
os_sdn_network_plugin_name=redhat/openshift-ovs-multitenant
openshift_disable_check=memory_availability
#openshift_release=v3.7

# host group for masters
[masters]
Openshift01 openshift_hostname=Openshift01 openshift_public_hostname=Openshift01

[etcd]
Openshift01

# host group for nodes, includes region info
[nodes]
Openshift01 openshift_node_labels=“{‘region’: ‘infra’, ‘zone’: ‘default’}” openshift_hostname=Openshift01 openshift_public_hostname=Openshift01
Openshift02 openshift_node_labels=“{‘region’: ‘primary’, ‘zone’: ‘east’}” openshift_hostname=Openshift02 openshift_public_hostname=Openshift02
Openshift03 openshift_node_labels=“{‘region’: ‘primary’, ‘zone’: ‘west’}” openshift_hostname=Openshift03 openshift_public_hostname=Openshift03

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





{{#widget:DISQUS |id=networkm |uniqid=OpenShift |url=https://aman.awiki.org/wiki/OpenShift }}