Deploying Red Hat OpenShift® Container Platform 3.9 with Container-Native Storage on Cisco UCS Managed Servers
This repos contains Ansible Playbook code for deploying RedHat OpenShift Containe Platform v3.9 on Cisco UCS bare metal servers. Following pre-requisites/important notes, are needed before the play-book can be played on -
- UCS Manager Service Profile configuration is out of scope of this playbook. It is expected that Day0/1 tasks for setting up UCS servers, storage configuration, network configuration have already been taken care of. Detailed instructions/know-hows are part of deployment guide on the solution.
- Bare Metal OS with RHEL Atomic Host 7.5 has been taken care of before hand. This requirement gets done in an automated fashion through UCSM vMedia Policy implimentations.
- All nodes in the cluster should have atleast 2 VDs, one for OS boot and the other one for Docker usage. This again automated through UCSM Storage Profile Policy.
- Playbooks are to be run from the Bastion node, which is a node out of the OpenShift Container Platform cluster setup. It acts as a build server so to speak.
- This playbook is written for environment which works behind proxy, if proxy is not needed certain sub-tasks should be skipped.
- Inventory file and parameters defined in it are the final source to run these playbooks including RedHat provided OpenShift Container Platform deployment playbooks.
Please, refer to Solution Design & Reference Architecture document & Solution Deployment Guide for detail instructions and know-hows.
git clone https://github.com/CiscoUcs/OpenShift-UCSM.git
Inventory file has to be filled manually. Refer to hosts.example for possible variables.
cp hosts.example /etc/ansible/hosts; vim /etc/ansible/hosts
ansible-playbook src/bastion-config/bastion_config.yml -vvv
ansible-playbook src/prerequisites/nodes_setup.yaml
ansible-playbook src/keepalived-multimaster/keepalived.yaml
- Run the prequisites.yml playbook. This must be run only once before deploying a new cluster. Use the following command, specifying -i if your inventory file located somewhere other than /etc/ansible/hosts:
ansible-playbook /usr/share/ansible/openshift-ansible/playbooks/prerequisites.yml
- Run the deploy_cluster.yml playbook to initiate the cluster installation:
ansible-playbook /usr/share/ansible/openshift-ansible/playbooks/deploy_cluster.yml