
As Linux is the defacto OS for innovation in the Datacenters sameway the OpenSHift is proving to be a Catalyst for both Enterprise and Telco’s Cloud transformation . In this blog i will like to share my experience with two environments one is minishift that is a home brew environment for developers and others based on Pre-existing infrastructure .
As you know Openshift is a cool platform as a part of these two modes it support a wide variety of deployment options including hosted platforms on
- AWS
- Azure
- IBM
However for hosted platforms we will use full installers with out any customization so this is simply not complex provided you must use only Redhat guide for deployment.
Avoid common Mistakes
- As a pre requisite you must have a bastion host to be used as bootstrap node
- Linux manifest NTP , registry ,key should be available while for Full installation the DNS is to be prepared before cloud installer kicks in .
- Making ignition files on your own (Always use and generate manifest from installers)
- FOr Pre-existing the Control plane is based on Core OS while workers can be RHel or COreOS while for full stack everything including workers must be based on CoreOS
- Once started installation whole cluster must be spinned within 24hours otherwise you need to generate new keys before proceed as controller will stop ping as license keys have a 24hour validity
- As per my experience most manifest for full stack installation is created by installers viz. Cluster Node instances , Cluster Networks and bootstrap nodes
Pain points in Openshift3 installation
Since most openshift installation is around complex Ansible Playbooks , roles and detailed Linux files configuration all the way from DNS , CSR etc so it was a dire need to make it simple and easy for customers and it is what RedHat has done by moving to Opinionated installation which make it simple to install with only high level information and later based on each environment the enterprise can scale as per needs for Day2 requirements , such a mode solves three fundamental issues
- Installer customization needs (At least this was my experience in OCP3)
- Full automation of environment
- Implement CI/CD
Components of installation
There are two pieces you should know for OCP4 installation
Installer
Installers is a linux manifest coming from RedHat directly and need very less tuning and customization
Ignition Files
Ignition files are first bootstrap configs needed to configure both the bootstrap , control and compute nodes .If you have managed the Openstack platform before you know we need separate Kickstart and cloud-init files and in Ignition files process RedHat makes simple both steps . For details on Ignition process and cluster installation refer to nice stuff below
Minishift installation:
Pre-requisites:
Download the CDK (RedHat container development Kit) from below :
https://developers.redhat.com/products/cdk/hello-world/#fndtn-windows
- copy CDK in directory C:/users/Saad.Sheikh/minishift and in CMD go in that directory
- minishift setup-cdk
- It will create .minishift in your path C:/users/Saad.Sheikh
- set MINISHIFT_USERNAME=snasrullah.c
- minishift start –vm-driver virtualbox
- Add the directory containing oc.exe to your PATH
- FOR /f “tokens=*” %i IN (‘minishift oc-env’) DO @call %i
- minishift stop
- minishift start
- Below message will come just ignore it and enjoy
error: dial tcp 192.168.99.100:8443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. – verify you have provided the correct host and port and that the server is currently running.
Could not set oc CLI context for ‘minishift’ profile: Error during setting ‘minishift’ as active profile: Unable to login to cluster - oc login -u system:admin
The server is accessible via web console at:
https://192.168.99.100:8443/console
You are logged in as:
User: developer
Password:
To login as administrator:
oc login -u system:admin
Openshift installation based on onprem hosting
This mode is also known as UPI (User provided infrastructure) and it has the following the key steps for OCP full installation
Step1: run the redhat installer
Step2: Based on manifests build the ignition files for the bootstrap nodes
Step3: The control node boots and fetches information from the bootstrap server
Step4: The etcd provisioned on control node scales to 3 nodes to build a 3 control nore HA cluster
Finally the bootstrap node is depleted and removed
Following is the scripts i used to spin my OCP cluster
1#@Reboot the machine bootstrap during reboot go to PXE and install CoreOS
2#openshift-install --dir=./ocp4upi
3@rmeove the bootstrap IP's entries from /etc/haproxy/haproxy.cfg
4# systemctl reload haproxy
5#set the kubeconfig ENV variables
6# export kubeconfig=~/ocp4upi/auth/kubeconfig
7# verify the installation
8# oc get pv
9# oc get nodes
10# oc get custeroperator
11#approve any CSR and certificates
12# oc get csr -o go-template='{{range.items}}{{if no .status}}{{.metadata .name}}{{""\n""}}{{end}} | xargs oc adm certificate approve
13#login to OCP cluster GUI using
https://localhost:8080
Do try it out and share your experience what you think about OCP4.6 installation .
Disclaimer: All commands and processes i validated in my home lab environment and you need tune and check your environment before apply as some tuning may be needed .