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 email@example.com.
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
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
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
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] Okay, welcome back. In this demo I'm going to show you how to set up a new OpenShift Project, aka a Kubernetes Namespace.
In this case, I'm going to create a new project and name it CloudAcademy. All remaining resources that will be deployed for our voting application will be created within this project. Projects allow cluster administrators to add control mechanisms of them such as who can view, edit, or administer resources within them. Additionally, resource quotas and limits can be set per project, et cetera. Jumping back into the run sheet, step nine provides two options for creating the project.
The first option is to use the imperative style approach. This is simpler and quicker to enter and run from the terminal.
The second option is more of a declarative approach where we declare the project resource and manifest form and then pipe it directly into the OC command. Pick one or the other. I'll go with the first option. Back within the terminal I'll paste and execute the OC new project command like so.
Okay, the CloudAcademy project has now been created, and we are all good to go. You'll notice also that it immediately swaps else into that project so that all subsequent OC operations are performed within that project. We can also run the OC Status command to confirm that we are indeed in the cloudacademy project. Finally, let's jump back into the web admin console and see that the new CloudAcademy project option is now available to us.
Okay, that completes the step nine. Our CloudAcademy project is ready to be populated with resources specific to our voting app rollout.
About the Author
Jeremy is the DevOps Content Lead at Cloud Academy where he specializes in developing technical training documentation for DevOps.
He has a strong background in software engineering, and has been coding with various languages, frameworks, and systems for the past 20+ years. In recent times, Jeremy has been focused on DevOps, Cloud, Security, and Machine Learning.
Jeremy holds professional certifications for both the AWS and GCP cloud platforms.