OKD: The Community Distribution of Kubernetes that powers Red Hat’s OpenShift

OKD is the community distribution of Kubernetes optimized for continuous application development and multi-tenant deployment. OKD adds developer and operations-centric tools on top of Kubernetes to enable rapid application development, easy deployment and scaling, and long-term lifecycle maintenance for small and large teams. OKD is also referred to as Origin in github and in the documentation. OKD makes launching Kubernetes on any cloud or bare metal a snap, simplifies running and updating clusters, and provides all of the tools to make your containerized-applications succeed.


Operator automates what Kubernetes does on the behalf of a user.

An operator extends the Kubernetes functionality to automate the management of the entire life cycle of a particular application.

it’s a custom Kubernetes controller that uses custom resources (CR) to manage applications and their components.

Operator SDK is basically a framework to build an operator using Golang, helm and Ansible

Operators all the way down

Openshift has been built leveraging the operators which manages the application but the cluster itself, for example establishing a cluster on autopilot, where cluster is managing itself by using the following operators:

Cluster Version Operator

The main operator is Cluster Version Operator, it basically make sure that all the essential/core operators are present which I am gonna discuss in this slide. CVO operator also maintains and updates the versions of the core operators.

Kube-apiserver, kube-controller-manager, kube-scheduler, etcd:

these operators ensures the core components of Kubernetes are configured for a cluster.

Cluster Network Operator

The Cluster Network Operator installs and upgrades the networking components on an OpenShift Kubernetes cluster.

It follows the Controller pattern: it reconciles the state of the cluster against a desired configuration which includes ensuring if the CNI plugins are installed and SDN is configured

In OpenShift, the Cluster Network Operator runs very early in the install process — while the boostrap API server is still running.

OpenShift Ingress Operator

Ingress Operator is an OpenShift component which enables external access to cluster services by configuring Ingress Controllers, and ensures if the routes are setup

Ingress Operator implements the OpenShift ingresscontroller API.

image Registry Operator

It manages all configuration of the Openshift registry including creating storage.

On initial startup the operator will create a default image-registry resource instance based on configuration detected in the cluster (e.g. what cloud storage type to use based on the cloud provider).

If insufficient information is available to define a complete image-registry resource, the incomplete resource will be defined and the operator will update the resource status with information about what is missing.

Cluster Monitoring Operator

The Cluster Monitoring Operator manages and updates the Prometheus-based cluster monitoring stack deployed on top of OpenShift.


OperatorHub.io is a new home for the Kubernetes community to share Operators.

Operator Lifecycle Manager

OLM is like CVO for all the OperatorHub’s/optional operators

Operator Lifecycle Manager (OLM) helps users to install, update, and manage the lifecycle of Kubernetes Operators and it takes care of operator scope (cluster-wide or namespace only), ensures it can be updated manually and manages permissions to use and install operators for the openshift cluster

OperatorHub is integrated in OpenShift console, so developers can install operators via self-service interface.

for example : Storage (operators based on Rook.io), pipelines operators based on Tekton, Argo CD, KubeVirt, Grafana and many more.

The State of OKD Today and Tomorrow

  • Current Stable Release 4.9
  • Documentation Sub-Working Group
  • Virtualization Sub-Working Group
  • crun, cgroupsv2
  • Coming Soon: OKD Operator Catalog
  • Coming Soon: OKD for ARM64

OKD Working Group


#openshift-users on kubernetes.slack.com

Issue Tracker


Bi-weekly Video Conference Meetings

Fedora CoreOS Working Group

IRC / Matrix

#fedora-coreos on Libera.chat

Issue Tracker


Weekly Meetings


OKD Installation on Vmware Vpshere/Any Other Cloud

Download the openshift client and openshift-install for OKD

wget https://github.com/openshift/okd/releases/download/4.9.0-0.okd-2022-01-14-230113/openshift-client-linux-4.9.0-0.okd-2022-01-14-230113.tar.gz

wget https://github.com/openshift/okd/releases/download/4.9.0-0.okd-2022-01-14-230113/openshift-install-linux-4.9.0-0.okd-2022-01-14-230113.tar.gz

tar -xvzf openshift-client-linux-4.9.0–0.okd-2022–01–14–230113.tar.gz

tar -xvzf openshift-install-linux-4.9.0–0.okd-2022–01–14–230113.tar.gz

sudo mv kubectl oc openshift-install /usr/local/bin/

oc version

openshift-install version

openshift-install create install-config — dir <cluster name>

Enter the details for your cloud and use the fake pull secret

Pull Secret {“auths”:{“fake”:{“auth”: “bar”}}}

openshift-install create cluster — dir akaleem — log-level info

if you want to dig deeper into the installation process, there is a link to follow






Software Engineer — Openshift CoreOS

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Why and When Are Interfaces Useful?

A team working

How to Handle Plugin Dependency in WordPress

Advent of Code 2020, day 13: number theory (in Haskell)

Pool-X Earn will Adjust the APR of OLT Flexible Term

How to leverage the power of Kubernetes to optimise your hosting costs

Inaugural Tranchess Townhall

Inheritance and Polymorphism in Python

How we revolutionized our Support by a ticketing system

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Ayesha Kaleem

Ayesha Kaleem

Software Engineer — Openshift CoreOS

More from Medium

Kyverno- Policy Engine for Kubernetes (Part 1)

No! You shall not pass! Kyverno’s here!

Deep Dive Into Kubernetes: Way to know about Kubernetes

Newsletter of Carlos Santana — Issue #21