Kahibaro
Discord Login Register

What is Kubernetes

A High-Level View of Kubernetes

Kubernetes is an open-source platform for automating the deployment, scaling, and management of containerized applications. It acts as a control system that continuously works to make the actual state of your applications and infrastructure match the desired state you define.

At its core, Kubernetes:

You do not manage individual containers directly in most cases; instead, you declare how your applications should run, and Kubernetes figures out where and how to run them.

Key Problems Kubernetes Solves

Kubernetes addresses several challenges that appear once you move beyond running a few containers on a single host:

Core Ideas and Terminology

In this chapter, the goal is to understand Kubernetes conceptually, not the full architecture or object details.

Cluster

A Kubernetes cluster is a set of machines (physical or virtual) on which Kubernetes runs and where your applications are scheduled. Internally, some nodes run control-plane components and others run workloads, but at this level you can think of the cluster as:

Node

A node is a single machine in the cluster, usually:

Nodes run:

From a user perspective, you usually don’t care which node runs your workload; Kubernetes decides that for you.

Pod

The pod is the smallest deployable unit in Kubernetes.

Conceptually:

You almost never run “bare” containers directly in Kubernetes; instead, you run pods that contain containers.

Desired State vs. Actual State

A central concept in Kubernetes is desired state:

For example, if you declare:

and one fails, Kubernetes automatically starts a new one to restore the count to 3.

This “control loop” behavior is fundamental: Kubernetes constantly reconciles reality with your specifications.

Kubernetes as a Platform, Not Just an Orchestrator

Kubernetes started as a container orchestration system—something that just schedules and monitors containers—but it has grown into a platform for building platforms:

From an application developer or operator perspective, Kubernetes is:

Why Kubernetes Matters in an OpenShift Context

This course is about OpenShift, but OpenShift is built on top of Kubernetes. Understanding “What is Kubernetes” is crucial because:

In practice:

Understanding Kubernetes as the foundation helps you see which behaviors come “for free” from Kubernetes and which are specific to OpenShift.

Conceptual Workflow at a High Level

While the detailed mechanics will be covered later, a typical interaction with Kubernetes looks like this:

  1. Describe
    You write a manifest (usually YAML) describing your application’s desired state. For example:
    • Run a container from image myapp:1.0
    • Keep 3 replicas running
    • Expose it on an internal cluster port
  2. Submit
    You apply this manifest to the cluster via:
    • kubectl (the Kubernetes CLI) in generic Kubernetes
    • oc (OpenShift CLI), which also talks to the Kubernetes API in OpenShift
  3. Reconcile
    Control loops inside Kubernetes:
    • Create the requested pods
    • Place them on appropriate nodes
    • Monitor them and replace them if they fail
  4. Access
    You access your application via:
    • Internal networking (services)
    • External access mechanisms (like routes/ingress; detailed later)

From your point of view, you think in terms of “what should be running” and “how it should be reachable,” not “launch container X on node Y and restart it if it fails.”

Summary

Kubernetes is:

With this conceptual understanding in place, the following chapters will look at the specific architecture, components, and object types that make up Kubernetes in more detail.

Views: 15

Comments

Please login to add a comment.

Don't have an account? Register now!