Operating OpenShift: An SRE Approach to Managing Infrastructure
Red Hat OpenShift provides several layers of abstraction over vanilla Kubernetes, but navigating its rich feature set and functionality can be daunting. This practical book is your guide to running and operating OpenShift clusters more efficiently using a site reliability engineering (SRE) approach.
This book is specially tailored for SREs, system administrators, DevOps engineers, and cloud architects looking to understand and manage OpenShift clusters, from minimal deployment to large multicluster installations. Authors Rick Rackow and Manuel Dewald highlight best practices and tools that can help reduce the effort of deploying a Kubernetes platform.
Operating OpenShift covers:
- OpenShift core concepts and deployment strategies
- Multicluster OpenShift Container Platform deployments
- Best practices for administering OpenShift clusters
- Monitoring clusters
- Build and deploy Kubernetes operators to automate tasks
- Configure clusters using a GitOps approach
The OpenShift build infrastructure lets you easily build and deploy an application to an OpenShift cluster, as long as it fits one of the default S2I images or a Dockerfile is all it needs.
However, sometimes your deployment strategy requires you to run a more complex series of execution steps between the time a change hits version control and when the updated application begins running in production. These steps depend heavily on your organizational structure and strategy: do you want to automatically run unit and integration tests to verify that the code works as expected? Do you want to deploy to different stages before production or do canary deployments?
There are many different options to consider when it comes to how best to deploy your application. Such a series of executed steps is usually referred to as a deployment pipeline.
An example pipeline for a service like the highscore service could include the following steps:
- Check out main
- Run unit tests
- Build container image
- Publish container image
- Run integration tests
- Deploy service
OpenShift comes with a CI/CD solution called Red Hat OpenShift Pipelines that easily can be installed and used to build pipelines like this. Continuous integration usually means whatever is currently checked into version control will automatically be validated and deployed to some kind of environment, whether a test environment or production.