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.

Operators

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

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

Slack

#openshift-users on kubernetes.slack.com

Issue Tracker

github.com/openshift/okd

Bi-weekly Video Conference Meetings
apps.fedoraproject.org/calendar/okd

Fedora CoreOS Working Group

IRC / Matrix

#fedora-coreos on Libera.chat

Issue Tracker

github.com/coreos/fedora-coreos-tracker

Weekly Meetings

apps.fedoraproject.org/calendar/CoreOS/

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

Github

Enjoy!

--

--

--

Software Engineer — Openshift CoreOS

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

Recommended from Medium

Salesforce Automation: The Next Generation

Using AWS CLI to Launch an EC2 Instance with Apache Webserver

Kotlin for Java: Part I — Constructors & Builders

Touch Typing- The Most Important Skill For Developers Nobody Talks About

Build and publish Docker images with GitHub Actions

Open Source Round 1 at Encora Apprenticeship — Week 1

Algorithm- Implement Binary Search Tree(BST) and the Traversals with and without Recursion in…

How a command is run in shell

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

Kubernetes & State of the Secure Software Supply Chain — DevOps DC Feb 2022 Recap

V1.24 — “The reckoning of Dockershim”, Future, Removal of Dockershim. Giant SpongeBob releasing hot air balloons.

OpenDistro with cert-manager

Keeping Secrets hidden on public github repository during deployment to Kubernetes cluster

Installation and Configuration of HashiCorp Vault AKS .