OpenShift Basic to Advance part 1 of 4

Introduction

OpenShift is a family of containerization software products developed by Red Hat. Its flagship product is the OpenShift Container Platform, a hybrid cloud platform built around Linux containers orchestrated and managed by Kubernetes. OpenShift offers different deployment methods, including self-managed, cloud-native under ROSA (Red Hat OpenShift Service on AWS), ARO (Azure Red Hat OpenShift), and RHOIC (Red Hat OpenShift on IBM Cloud). It also provides a CLI that supports a superset of the actions that the Kubernetes CLI provides. OpenShift originated from Red Hat’s acquisition of Makara in November 2010 and became open-source in May 2012.

Key Features

OpenShift extends the capabilities of vanilla Kubernetes by providing additional build-related artifacts and a more extensive CLI. OpenShift also integrates with AI/ML workflows and offers edge computing capabilities.

Editions Available

OpenShift is available in various editions, including OpenShift Container Platform, OpenShift Online, and OpenShift Dedicated.

Pricing and Support

OpenShift offers both free and subscription-based models. The subscription-based model comes with enterprise-level support.

User Adoption

Before OpenShift, users were primarily using Docker and vanilla Kubernetes. OpenShift has seen adoption across various industries, including finance, healthcare, and more.

Prerequisites

Before diving into OpenShift, it’s beneficial to have a good understanding of Linux, Docker, and Kubernetes.

Architecture and Components

OpenShift’s architecture is modular, allowing for plug-and-play components. It includes features like automated rollouts, rollbacks, and scaling.

Protocols and Networking

Protocols

  • HTTP/HTTPS: For web-based application traffic.
  • TCP/UDP: General-purpose network protocols.

Components

  • OpenShift SDN: Software-defined networking.
  • OVN-Kubernetes: Another SDN option.
  • HAProxy: For load balancing.
  • Istio: For service mesh capabilities.

Features

  • Network Policies: To control the communication between Pods.
  • Route: Exposes services externally.
  • Service: Internal abstraction for pod-to-pod communication.

Made Of

  • Built on Kubernetes: Inherits Kubernetes networking features.
  • Written in Go: Like Kubernetes, it’s primarily written in Go.

Supported

  • Supports various CNI plugins: Calico, Flannel, etc.
  • Supports Ingress and Egress policies.

Installation Methods

OpenShift can be installed via GUI or CLI, and it supports various cloud providers and on-premises solutions.

Common Commands and Their Usage

Here is a list of common OpenShift commands categorized by their functionality:

  • API Resources: oc api-resources
  • Apply Configuration: oc apply -f <config.yaml>
  • Rollout Status: oc rollout status
  • Remote Shell: oc rsh
  • Get Component Statuses: oc get cs
  • Port Forward: oc port-forward
  • Cluster Information: oc cluster-info
  • Get Nodes: oc get nodes
  • Create ConfigMap: oc create configmap
  • Create Secret: oc create secret
  • Get Custom Resource Definitions: oc get crd
  • New Application: oc new-app
  • Delete Deployment Config: oc delete dc
  • Get Deployment Config: oc get dc
  • Scale: oc scale
  • Set Image: oc set image
  • Create from File: oc create -f
  • Get CronJobs: oc get cronjobs
  • Get Jobs: oc get jobs
  • Get Events: oc get events
  • Logs (Follow): oc logs -f
  • Logs: oc logs
  • New Project: oc new-project
  • Delete Project: oc delete project
  • Get Projects: oc get projects
  • Get Network Policy: oc get networkpolicy
  • Admin Drain: oc adm drain
  • Admin Uncordon: oc adm uncordon
  • Delete Pod: oc delete pod
  • Describe Pod: oc describe pod
  • Get Pods: oc get pods
  • Run: oc run
  • Create Quota: oc create quota
  • Get Quota: oc get quota
  • Create ClusterRole: oc create clusterrole
  • Create ClusterRoleBinding: oc create clusterrolebinding
  • Create Role: oc create role
  • Create RoleBinding: oc create rolebinding
  • Delete Service: oc delete svc
  • Expose: oc expose
  • Get Service: oc get svc
  • Admin Taint: oc adm taint
  • Remote Shell: oc rsh
  • Admin Top Pod: oc adm top pod

Troubleshooting Tips

For troubleshooting, OpenShift provides extensive logging and monitoring features. You can use commands like oc logs and oc describe for debugging.

Comparison with Vanilla Kubernetes and Other Platforms

OpenShift offers more features and a more extensive CLI compared to vanilla Kubernetes. It also provides additional security layers and is more enterprise-focused.

Use Cases and Industry Adoption

OpenShift is widely used in industries requiring high availability and security, such as finance and healthcare.

Learning Resources

Conclusion and Future Outlook

OpenShift has come a long way since its inception and continues to evolve, offering a robust, enterprise-grade container orchestration platform. With its wide array of features and extensive support, OpenShift is a go-to solution for many organizations looking to scale their containerized applications.


Leave a Reply

About Us

Welcome to dutan.com.au! I’m an IT enthusiast, always learning and adapting in this dynamic field. My experiences range from implementing procedures in major corporations to aiding small and medium-sized businesses. This blog is my platform to share my knowledge and insights, and I believe in the power of collective learning. So, whether you’re an IT professional or a tech enthusiast, I hope my posts spark your curiosity and add value to your IT journey. Remember, we’re in this together, so your input is always welcome. Let’s navigate the exciting world of IT together.

Featured Posts

    Discover more from DUTAN Digital Dynamics

    Subscribe now to keep reading and get access to the full archive.

    Continue reading