Skip to the content.

Kubernetes Overview


“Kubernetes is a portable, extensible open-source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation. It has a large, rapidly growing ecosystem. Kubernetes services, support, and tools are widely available.”

“Google open-sourced the Kubernetes project in 2014. Kubernetes builds upon a decade and a half of experience that Google has with running production workloads at scale, combined with best-of-breed ideas and practices from the community.”

Reference: https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/

Kubernetes advantages includes:

Reference: https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/

In order for Kubernetes to reach its full capacity, it depends on and makes use of other open source tools. Among them we can include:

Kubernetes at a glance


Kubernetes Architecture Diagram

A cluster managed by Kubernetes basically has two large operational units: Master node(s) and Worker nodes.

Kubernetes master receives the commands from the Developer/Operator (DevOps) and passes the instructions to the worker nodes. These instructions are processed and retransmitted by a set of services that automatically decide which worker node is most suitable to process the requested the task. The resources are then allocated and assigned to the selected worker node to satisfy the requested statement.

Container management takes place at a higher and more refined level, without someone needs to actively micromanage containers and worker nodes individually.

Master and Work components

Reference: https://kubernetes.io/docs/reference/glossary/?fundamental=true

Kubectl


Image from Rising Stack

kubectl is a command line tool for communicating with a Kubernetes API server. You can use kubectl to create, inspect, update, and delete Kubernetes objects.

What about Docker?


Docker keeps its original function. What changes is that when Kubernetes configures a Pod, it sends instructions to the kubelet of the selected worker node with instructions for Docker to start (or stop) a container with the given specification. kubelet, in turn, continues collecting information from Docker and its containers and aggregating all this information in the master. The big difference here is that all of this happens in an automated way, without the need of an administrator having to do all this configuration and information gathering manually.

Kubernetes’ main objects


Following is a brief definition of each of the main objects managed by Kubernetes. We’ll get into more detail about them in the next articles in this series:






Reference: https://kubernetes.io/docs/reference/glossary/?fundamental=true