Red Hat OpenShift Cluster Deployments on z/OS using zCX
Introduction
In 2019, I had the opportunity to attend the IBM TechU conference, where I was first introduced to IBM’s zCX, or z/OS Container Extension. It was a pleasant surprise to discover that Docker containers could be run on the z/OS platform, which I shared in my previous blog post (Link: https://medium.com/@vikaspo/z-container-extensions-docker-on-mainframe-6e2c7c2069c3 ).
Fast forward to 2024 and my recent experience at the IBM TechExchange, where I witnessed significant enhancements to the foundational zCX offering. Among these advancements, the most noteworthy feature is the integration of OpenShift into the zCX environment. With OpenShift on zCX, users can now leverage the robust orchestration and management capabilities of Kubernetes while maintaining the security and scalability inherent to the z/OS platform. I will explore the marriage of zCX and OpenShift in this blog.
Chapter 1 : Containers and OpenShift
The two buzzwords in modern IT world are ‘Containerization and Cloud’. (Apart from GenAI 😊)
Containerization involves encapsulating application and all its dependencies so it can run uniformly and consistently on any infrastructure, and this feature makes containers a compelling offer for organizations who plan to run their workloads on the cloud or hybrid cloud or on-prem. The key functionality for container deployment is provided by container orchestration tools, the de facto tool to perform this orchestration is Kubernetes. Kubernetes is an open source platform that automates container operations. It eliminates many of the manual processes involved in deploying and scaling of containerized applications.
Red Hat OpenShift is an enterprise-ready Kubernetes container platform with full-stack automated operations to manage hybrid cloud, multi-cloud, and edge deployments. Red Hat OpenShift is optimized to improve developer productivity and promote innovation.
Chapter 2 : IBM zCX Foundation for Red Hat OpenShift
Let’s first start with the differentiating core zCX Docker offering and the zCX OpenShift offering. As seen in the diagram below, the changes are:
- zCX Docker had a Linux kernel and zCX OpenShift RHEL OS.
- zCX Docker had Linux Docker Engine and Standard Docker APIs, and zCX OpenShift had K8, Cri-o, and OpenShift to run containers.
- zCX Docker had Docker CLI, and zCX OpenShift has OpenShift container platform.
What remains same is zCX Virtualization that is part of z/OS , the 1st boot loader brings up the instance and both provisioned through z/OSMF workflows.
One obvious question for any OpenShift user is how the cluster is configured in Z and how and where to run the master (control) and worker (compute) nodes. Typically, in a distributed world, you will have individual machines and VMs running master and worker nodes, but IBM Z is a single machine, so how is it managed? The below image depicts the workings of the OpenShift cluster on z/OS.
- The master or control nodes run independently in their own address space within z/OS; they will have their own IP (in the below example, 10.1.2.3) assigned to them and, in simple terms, act as control nodes running on independent VMs.
- The worker or compute nodes also run independently in their own address space within z/OS; they will also have their own IP (in the below example, 10.2.3.6).
- These master and worker nodes can talk to core Z/OS services like DB2, VSAM, etc. through a high-speed TCP/IP network.
- One feature that has to be called out here is that you can still have master nodes running on x86 and work nodes on IBM Z running in address space! This provides applications running on worker nodes in close proximity to systems of records, apps, and data.
The requirements to run zCX OpenShift and pods are
- Hardware : IBM z14 or higher and 1 z/OS system with 6 zIIPs and SMT-2 enable
- Software : z/OS v2R4 or higher with recommended maintenance level, Red Hat OpenShift release — 4.10 or higher (Red Hat account required to obtain binaries) and OpenShift containers tagged with IBM z or S390x architecture can run on zCX Openshift
Chapter 3 : Key features of OpenShift on zCX
- Co-location of Applications and Workloads: This feature minimizes network latency by placing certain applications, workloads, and applications accessing z/OS data as close as possible.
- Integration with z/OS: zCX for OpenShift integrates seamlessly into your current z/OS environment through consistent operational management. Applications and services transparently benefit from the z/OS QoS.
- zIIP Eligibility: This is based on the CPU consumption of the workloads running on the zCX address space.
- Deployment of Containerized Linux-on-Z Applications: With zCX for OpenShift, you can deploy containerized Linux-on-Z applications in a Red Hat OpenShift cluster on z/OS.
- Leverage Z capabilities:. Makes available cloud-native and AI workloads at high performance, scalability, and security. Combines the power of Red Hat OpenShift portability across clouds with mainframe capabilities, high scalability, performance, and security.
Chapter 4 : Conclusion
IBM Z continues to re-invent itself, aligning its strengths and building new capabilities to meet the business needs for today’s clients and industries. OpenShift not only supports Portability of application across clouds (MAAGI) but across platforms (x86, Z, LinuxOne). For clients who treat features like security, availability as paramount to hybrid cloud adoption, IBM Z is the best place to start and with OpenShift on zCX, organizations can accelerate their in-place digital transformation journey with minimal or no risk to business.
References: