Kubernetes is an orchestration service that simplifies deploying, managing, and scaling containerized applications. Kubernetes manages complex pools of resources, such as CPU, RAM, storage, and networking, and provides high uptime and fault tolerance for containerized application deployments.
Kubernetes uses a declarative management approach to manage the cluster resources and to deploy applications. Most system administrators are accustomed to imperative architectures, where actions directly change the system state, such as starting and stopping containers on a server. In a declarative architecture, you change the state of the system, and the system updates itself to comply with the new state.
Although this course does not focus on running containers, managing virtual machines in an RHOCP cluster requires knowing basic Kubernetes concepts.
Kubernetes clusters provide a modern container platform that addresses the concerns and challenges of running applications at scale. No matter the deployment size, Kubernetes implementations deliver a robust infrastructure and ease of management.
Kubernetes delivers the following features for a cluster:
Service discovery
Load balancing
Horizontal scaling
Self-healing
Automated rollout
Configuration management
Secrets management
The following list defines some common Kubernetes terms:
A cluster component that simplifies managing another application or function
Any of the configurable and consumable components managed by the OpenShift cluster
The cluster layer, responsible for container lifecycle management through its provided API
The cluster layer, responsible for providing the resources required to run containers, such as storage, networking, CPU, and memory
A group of running containers within the cluster that provides a single application, service, or function
A small executable image that defines the libraries and dependencies for an application
Operators are packaged Kubernetes applications that add tooling to manage the complete lifecycle of an application that is deployed in the Kubernetes cluster. The open source operator framework provides guidelines for authoring operators that use the Kubernetes API to add features to the cluster. Each cluster adds the operators with the necessary environment and functions to meet its needs.
Operators for Kubernetes are shared through the OperatorHub open source community. Red Hat, in collaboration with AWS, Google Cloud, and Microsoft, launched the OperatorHub, which is accessible at https://operatorhub.io.
The OperatorHub platform is a public repository and marketplace for operators that are compatible with OpenShift and other distributions of Kubernetes. From the OperatorHub, you can view operators that provide features for your Kubernetes cluster and find the tools to author custom operators. Operators that are created by using the Operator Framework are shared with the open source community through the OperatorHub.
RHOCP is a set of modular components and services that are built on top of Kubernetes container infrastructure. RHOCP adds capabilities to a production platform, such as remote management, multitenancy, increased security, monitoring and auditing, application lifecycle management, and self-service interfaces for developers.
The Red Hat OpenShift product family integrates many components:
The Red Hat Enterprise Linux CoreOS lightweight operating system
The CRI-O container runtime engine with a reduced attack surface
Kubernetes open source container orchestration platform
A self-service web console
Several preinstalled application services, such as the logging and monitoring frameworks
Certified container images for multiple programming language runtimes, databases, and other software packages
This technology stack within RHOCP provides enterprise scaling and reliability for modern deployments.
Red Hat provides a catalog of certified enterprise operators for installation on OpenShift clusters through the Red Hat Marketplace. You can peruse, test, and adopt operators from this curated collection to provide the required features for your cluster. As you evolve your OpenShift cluster to add functions and integrate with other business systems, such as storage, the operators in the Red Hat Marketplace can help you manage those resources.
At the onset of a container adoption journey, operators such as Red Hat OpenShift Virtualization can provide varied functions to the cluster that aid the business in a transition from virtual machines to containers.
As container adoption grows, businesses that explore container technologies often need to continue managing and developing existing or new virtual machine deployments. RHOCP clusters where the Red Hat OpenShift Virtualization operator is installed handle both virtualized and containerized applications in a single platform to aid your container adoption journey.
This course explores the features of OpenShift Virtualization that provide the management and orchestration layer for virtual machine workloads within an OpenShift cluster. With OpenShift Virtualization, you can deliver the resilience and ease of managing both VM-based and containerized applications from a single interface and infrastructure.
Clusters with the OpenShift Virtualization operator can run your virtual machine workloads alongside your containerized workloads, thus eliminating the need for a separate and potentially expensive virtualization management solution. This capability creates a valuable opportunity for businesses that are undergoing container adoption while still maintaining a traditional deployment of virtual machines.
For more information about Red Hat OpenShift Virtualization, refer to the Virtualization section of the Red Hat OpenShift Container Platform 4.14 documentation_ at https://access.redhat.com/documentation/en-us/openshift_container_platform/4.14/html-single/virtualization/index