OPS-202

Kubernetes - OpenShift:
Understanding the Differences

Detailed Course Outline

Course Length

2 days

Course Description

If you are already familiar with the basics of containerization and the usage of Kubernetes, it is time to add OpenShift to your arsenal! This comprehensive OpenShift training equips you with the skills to confidently deploy, manage, and leverage the power of the OpenShift container platform. The curriculum delves into the core concepts of OpenShift, empowering you to gain a deep understanding of the platform's architecture for running microservices reliably.

Throughout the course, you'll gain hands-on experience with essential OpenShift functionalities. Learn to install and configure OpenShift Local (the single machine version of OpenShift, ideal for a learning environment), explore the Web Console and oc CLI for efficient platform management, and deploy applications using Docker images or source code. We'll cover advanced topics like scaling applications automatically, implementing zero-downtime deployments, and utilizing OpenShift operators for streamlined automation.

Explore the principles of CI/CD (Continuous Integration/Continuous Delivery) and its seamless integration with OpenShift. By the end of the course, you'll be empowered to establish efficient and reliable deployment pipelines, accelerating your development process.

Course Objectives

Upon completion, you will be able to confidently:

  • • Understand and articulate the key architectural and feature differences between OpenShift and vanilla Kubernetes.
  • • Deploy and manage your own applications using various methods, including Docker images and source-to-image (S2I) builds.
  • • Implement critical security measures using Security Context Constraints (SCCs) and manage cluster resources effectively with quotas.
  • • Set up and troubleshoot logging and monitoring stacks for applications and cluster health.

Structure

50% theory, 50% hands-on lab exercises

Target Audience

This course is recommended for people who are already familiar with Docker and Kubernetes, and want to extend their knowledge to the enterprise-oriented world of OpenShift:

  • • Developers, who want to develop and run containerized applications on OpenShift.
  • • System administrators, who operate and manage OpenShift-based infrastructure.
  • • DevOps engineers, who want to implement CI/CD-based process automation over OpenShift.
  • • Architects, who want to design OpenShift-based application architectures.
  • • IT managers, who want to understand the business benefits of OpenShift.

Prerequisites

Proficiency with the Linux CLI. A broad understanding of Linux system administration. Familiarity with Docker and Kubernetes.

System requirements for your own OpenShift Local deployment: min. 16Gb RAM, 200 Gb storage space, min. Intel i7 or AMD Ryzen 5 CPU. Sufficient cloud lab machines are provided.

Course Modules

Module 1: Introduction to OpenShift

  • • Key features vs K8S features
  • • History

Module 2: OpenShift architecture

  • • Control plane nodes, worker nodes
  • • CRI-O
  • • Buildah
  • LAB TASK: Install OpenShift Local

Module 3: Overview of OpenShift clients: Web Console, oc CLI

Module 4: OpenShift Workloads and Networking

  • • BuildConfig, Templates
  • • Ingresses, Gateway API

Module 5: Deploying applications

  • • Running applications from source code directly
  • LAB TASK: Deploy an application directly from git
  • LAB TASK: Create a microservice image and deploy it to OpenShift, expose it via a route

Module 6: Operators in OpenShift

  • • Custom resource definitions
  • • Custom Controllers
  • LAB TASK: Install an operator from the Operator Hub

Module 7: OpenShift Security

  • • Security Context Constraints (SCC)
  • • Quotas (ResourceQuota, LimitRange)
  • • Image scanning
  • LAB TASK: Try image scanning

Module 8: Logging, Monitoring, Troubleshooting

  • • oc CLI commands used for troubleshooting
  • LAB TASK: Install Prometheus

Module 9: Installing OpenShift in a disconnected environment

  • • Overview of the installation process
  • LAB TASK: Install your own OpenShift production cluster