OpenShift is a rock solid platform engineered for the enterprise. It's built on top of Kubernetes and provides many value add features, tools, and services which help to streamline the complete end-to-end container development and deployment lifecycle.
This introductory level training course is designed to bring you quickly up to speed with the key features that OpenShift provides. You'll then get to observe first hand how to launch a new OpenShift Container Platform 4.2 cluster on AWS and then deploy a real world cloud native application into it.
We’d love to get your feedback on this course, so please give it a rating when you’re finished. If you have any queries or suggestions, please contact us at support@cloudacademy.com.
Learning Objectives
By completing this course, you will:
- Learn and understand what OpenShift is and what it brings to the table
- Learn and understand how to provision a brand new OpenShift 4.2 cluster on AWS
- Learn and understand the basic principles of deploying a cloud native application into OpenShift
- Understand how to work with and configure many of the key OpenShift value add cluster resources
- Learn how to work with the OpenShift web administration console to manage and administer OpenShift deployments
- Learn how to work with the oc command line tool to manage and administer OpenShift deployments
- And finally, you’ll learn how to manage deployments and OpenShift resources through their full lifecycle
Intended Audience
This course is intended for:
- Anyone interested in learning OpenShift
- Software Developers interested in OpenShift containerisation, orchestration, and scheduling
- DevOps practitioners looking to learn how to provision and manage and maintain applications on OpenShift
Prerequisites
To get the most from this course, you should have at least:
- A basic understanding of containers and containerisation
- A basic understanding of Kubernetes - and container orchestration and scheduling
- A basic understanding of software development and the software development life cycle
- A basic understanding of networks and networking
Source Code
This course references the following CloudAcademy GitHub hosted repos:
- https://github.com/cloudacademy/openshift-voteapp-demo (OpenShift VoteApp Runbook)
- https://github.com/cloudacademy/openshift-s2i-frontendbuilder (OpenShift S2I Frontend Builder)
- https://github.com/cloudacademy/openshift-voteapp-frontend-react (VoteApp Frontend UI)
- [Jeremy] Hello and welcome to this CloudAcademy course, OpenShift 101 Quick Start. In this lecture, I'll cover off the course agenda, intended audience, learning objectives, and course prerequisites. I'm really excited to be taking you through this course. RedHat OpenShift is an excellent platform for deploying and managing cloud native applications and containers in general. OpenShift is a rock solid platform, engineered for the enterprise. it's built on top of Kubernetes and provides many value add features, tools, and services, which in combination streamline the complete end-to-end development and deployment lifecycle.
Before we start, I'll introduce myself. My name is Jeremy Cook. I'm one of the trainers here at CloudAcademy, specializing in DevOps. Feel free to connect with either myself or the wider team here at CloudAcademy regarding anything about this course. You can email either myself and or the CloudAcademy team at support@cloudacademy.com. This introductory level training course is designed to bring you quickly up to speed with the basic features that OpenShift provides. This course will briefly introduce you to OpenShift and its key features.
From here, I'll then dive straight into demonstrating how to install and launch a new OpenShift 4.2 cluster. And then following on from this, I will show you how to deploy a real world cloud native architected web application. The idea here is that we'll focus on demonstrating an actual installation and deployment so that you can get to observe firsthand how to operate and administer an OpenShift cluster. By doing so, you will quickly learn, especially if you have never seen or used OpenShift before. And more importantly, be able to replicate the same demonstrations within your own environment. As mentioned, this course is going to demonstrate to you the process of deploying a sample cloud native application into OpenShift. The sample cloud native application we have in mind is a simple programming language voting web app. This particular application was designed and documented within a previous CloudAcademy course, "Building a Cloud Native Application". Take a look at it if you're interested in how the internals of this application have been designed and architected.
Now, the core components which have been used to build the sample cloud native application, the frontend, the api, and the database, have all been containerised, and in this course, will now be deployed into an OpenShift cluster. The deployment within the cluster will use the following configuration as seen here. I'll dive much deeper into this deployment configuration as the course progresses. You'll get to see firsthand how to apply the configuration within the demonstrations that take place later on. Beyond the standard Kubernetes resources, the deployment will use several other value add OpenShift resources, which enhance productivity both at development time and at runtime. For example, I'll later demonstrate how to work with the following OpenShift specific resources: Projects, DeploymentConfigs, Source-to-Image, BuildConfigs, Builds, ImageStreams, and Routes. I'll describe how each of these resources are used, and when you should consider using them. To help you follow along when we get into demonstration mode, all of the installation steps and deployment commands have been captured in a run book stored in the OpenShift VoteApp Demo GitHub repository. You are encouraged to clone this repo and perform the same deployment commands within your own OpenShift cluster.
The intended audience for this course includes anyone interested in learning OpenShift; software developers interested in OpenShift containerization, orchestration, and scheduling; and DevOps practitioners looking to learn how to provision and manage and maintain applications on OpenShift. By completing this course, you will learn and understand what OpenShift is and what it brings to the table, learn and understand how to provision a brand new OpenShift 4.2 cluster on AWS, learn and understand the basic principles of deploying a cloud native application into OpenShift, understand how to work with and configure many of the key OpenShift value add cluster resources such as those mentioned earlier, learn how to work with the OpenShift web administration console to manage and administer OpenShift deployments, learn how to work with the OC command line tool to manage and administer OpenShift deployments, and finally, you'll learn how to manage deployments and OpenShift resources through their full lifecycle.
The following prerequisites will be both useful and helpful for this course: a basic understanding of containers and containerization, a basic understanding of Kubernetes and container orchestration and scheduling, a basic understanding of software development and the software development life cycle, and a basic understanding of networks and networking.
Okay, the course introduction has now been completed. Go ahead and close it, and I'll see you shortly in the next one.
Jeremy is a Content Lead Architect and DevOps SME here at Cloud Academy where he specializes in developing DevOps technical training documentation.
He has a strong background in software engineering, and has been coding with various languages, frameworks, and systems for the past 25+ years. In recent times, Jeremy has been focused on DevOps, Cloud (AWS, Azure, GCP), Security, Kubernetes, and Machine Learning.
Jeremy holds professional certifications for AWS, Azure, GCP, Terraform, Kubernetes (CKA, CKAD, CKS).