Bookmark this page

Underlying Kubernetes Architecture

Objectives

  • Describe Kubernetes high-level architecture and operators.

Kubernetes Architecture

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 Features

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

Kubernetes Terminology

The following list defines some common Kubernetes terms:

Operator

A cluster component that simplifies managing another application or function

Resource

Any of the configurable and consumable components managed by the OpenShift cluster

Control Plane

The cluster layer, responsible for container lifecycle management through its provided API

Data Plane

The cluster layer, responsible for providing the resources required to run containers, such as storage, networking, CPU, and memory

Pod

A group of running containers within the cluster that provides a single application, service, or function

Container

A small executable image that defines the libraries and dependencies for an application

Kubernetes Operators

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.

Kubernetes OperatorHub

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.

Red Hat OpenShift Container Platform

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 Marketplace

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.

Virtualization Meets Containerization

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.

References

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

Revision: do316-4.14-d8a6b80