OpenShift Setup Options

Objective of this article is to make you understand what are different ways there to setup OpenShift. Prior to that we need to understand what different options are available to configure OpenShift. In the current article explained about All in One setup and other are not explaining because of no environment support.

  1. All in one is a kind of development environment setup where we can install Master and child nodes in a single machine. This is not supported or suggested for Production environment.
  2. Single Master & multiple Nodes: There is only one Master setup which needs to serve multiple child nodes across different clusters. Suggested to use higher to develop and below production environment.
  3. Multiple Master & multiple Nodes: There are multiple nodes configured to serve multiple child nodes across different clusters. This is highly recommended to use in Production environment.
Types of OpenShift Setups

OpenShift can be installed on Premises or hosted on Public / Private cloud. There are 2 different ways exists to setup OpenShift.

  1. Package Manager (RPM)
  2. Containerized (Docker)

Note: Containerized tools are recommended to use than RPM because RPM is traditional way of setting up OpenShift.

All – in – One:

As explained in OpenShift architecture, OpenShift uses Kubernetes as underlying environment and etcd is the heart of the OpenShift and OpenShift components all together are packed into single image name called MiniShift. MiniShift provides the single node open cluster so setup & getting started with OpenShift is easy. MiniShift complete bundle packaged into ISO image and is available to download from online through MiniShift CLI command.

Minishift all in one

Once the MiniShift command issued, it will download OpenShift the image of openshift/origin from Docker Hub to deploy the Core components. This image will download further required images from docker hub such as Docker Registry, Router, Web Console.

Note: As of now I don’t have the supported environment to practice about other two types like Single master with multiple child nodes and Multiple masters and multi child node configuration.

Kindly go through the below link and setup the oracle virtual box prior to proceeding further articles.

Note: Just setup the virtual box and make it up and running, no need to download any images and run them. Minishift will automatically pulls the image and start while we issue start command. For further understanding of minishift setup with virtual box, use below link.

OpenShift Architecture

Objective of this article to share high level architecture of Red Hat OpenShift. OpenShift uses Kubernetes as basic infrastructure which is Kubernetes built on top of the Docker.

This is to recollect about Kubernetes and how we use to manage applications. As we already learn in previous articles that any application can be deployed in Kubernetes as Docker Containers. In general, Containers are created on top of the Docker images. Docker images comes from different sources depending on our configuration like cloud, docker registry (Docker hub), repository or etc. Services are used to expose the applications other services or external world in Kubernetes.

OpenShift comes with web console which can be accessible by developers to browse and manage applications. OpenShift web console can be accessed only users who are authorized with OpenShift authentication. OpenShift also comes with built-in integration to manage source code. The source code repository has integrated to built-in CI/CD integration to build docker images and deploy into docker registry.

The etcd (“/etc distributed”) is the heart of the OpenShift to store various containers information in Key-Value pairs. As shown in the above image, the content which is present right side of etcd is specific to Kubernetes where the left side information points few among the many add-ons in OpenShift.

What is etcd?

Etcd stands for “/etc distributed”. It is meant to be a highly reliable configuration mechanism that provides a uniform view across a cluster of machines.

What is Master Node?

Master Node Architecture

As shown in the above image, Kubernetes Clusters are configured with multiple nodes where multiple Docker Images are hosted. These nodes are managed by one or more master nodes who hosts the API data server. For example, etcd data server and Schedulers.

Architectural differences:

Red Hat provides, and periodically updates, a comprehensive Reference Architecture document specific to deploying Red Hat OpenShift Container Platform on the most popular Cloud Infrastructure Providers:

  • Red Hat OpenStack Platform
  • Amazon Web Services (AWS)
  • Microsoft Azure public cloud
  • Google Cloud Platform (GCP)
  • VMware vSphere
  • Red Hat Virtualization (RHV)

Link to discover more on your own. https://blog.openshift.com/openshift-container-platform-reference-architecture-implementation-guides/