OPS-103

OpenShift

Detailed Course Outline

Course Length

3 days

Course Overview

Dive into the World of OpenShift Containers!

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 master Docker image creation, navigate Kubernetes clusters, and 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, implementing zero-downtime deployments, and utilizing OpenShift operators for streamlined automation.

Unlock the full potential of your OpenShift environment by mastering data management strategies. Discover how to leverage Secrets, ConfigMaps, and PersistentVolumeClaims to effectively store and manage application data and configurations. We'll also delve into robust security practices, including RBAC (Role-Based Access Control), quotas, and network policies, ensuring the integrity and safety of your deployments.

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

Structure

50% theory, 50% hands on lab exercises

Target Audience

This course is recommended for anyone interested in virtualization techniques (containerization, Docker) and systems that run microservices with high reliability (Kubernetes, 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.

System requirements for OpenShift Local deployment: min. 16Gb RAM, 200 Gb storage space, min. Intel i7 or AMD Ryzen 5 CPU.

Course Modules

Module 1: Introduction to OpenShift

  • Key features
  • History
  • Components

Module 2: OpenShift foundations

  • Linux kernel capabilities
  • Linux kernel namespaces
  • Lab Tasks: Try kernel namespaces
  • Docker features
  • Lab Tasks: Explore Docker

Module 3: Creating Docker images

  • Dockerfile commands
  • Buildah build tool
  • Image registries
  • Lab Tasks: Create a microservice image

Module 4: OpenShift architecture

  • Control plane nodes, worker nodes, components
  • CRI-O
  • Lab Tasks: Install OpenShift Local
  • Overview of OpenShift clients: Web Console, oc CLI

Module 5: OpenShift Workloads and Networking

  • Basic workloads: Pods
  • Lab Tasks: Try pods
  • Deployments
  • Lab Tasks: Install, upgrade, scale deployments
  • Services, Routes, Ingresses
  • Lab Tasks: Create services and routes

Module 6: Deploying applications

  • Deployment Manager
  • Lab Tasks: Deploy own apps from Docker image and source code
  • Scaling applications: manually and automatically
  • Lab Tasks: Configure a horizontal pod autoscaler
  • Zero-downtime deployment strategies: rolling upgrades, blue-green deployments, testing
  • Lab Tasks: Perform a rolling upgrade and blue-green deployments
  • Running applications from source code directly
  • Lab Tasks: Deploy an application directly from git

Module 7: Operators in OpenShift

  • Custom resource definitions
  • Custom Controllers
  • Lab Tasks: Install an operator

Module 8: Volumes and persistent storage

  • Secrets, ConfigMaps, PersistentVolumeClaims, StorageClasses
  • Lab Tasks: Use secrets and configmaps

Module 9: OpenShift Security

  • Role Based Access Control (RBAC)
  • Security Context Constraints (SCC)
  • Quotas, resource requests and limits
  • Network policies
  • Lab Tasks: Apply a network policy
  • Image scanning
  • Lab Tasks: Try image scanning

Module 10: Logging, Monitoring, Troubleshooting

  • oc CLI commands used for troubleshooting
  • Lab Tasks: Install Prometheus

Module 11: Automating the deployment process, CI/CD

  • Tekton, Jenkins, Ansible
  • Lab Tasks: Try Tekton