kubernetes for engineers who know literally nothing
Disclaimer: this is not a post from a seasoned DevOps engineer. So if you also know very little about Kubernetes, ignorance loves company. To start with some (somewhat) fun facts: Kubernetes was created by Google (in 2014) Kubernetes is also known as K8s (K********s = K + 8 letters + s) Why would you even need Kubernetes? Well, lets start simple. Imagine you have created a report generation app.…
Kubernetes, developed by Google in 2014, is now known as "K8s". It helps manage multiple services within an application, each running in its own container. Containers are isolated processes with their own environment, ensuring consistent execution across different systems.
For instance, a report generation application could have a backend, frontend, and PDF generation service. These services would be packaged into separate containers, allowing them to run independently and scale as needed. Kubernetes manages these containers, maintaining the desired state of the system.
A cluster is the top-level entity in Kubernetes, consisting of nodes managed by the control plane. Worker nodes run the containers, while the control plane stores instructions and enforces them. The API server is the main interface for interacting with the control plane, and etcd is a key/value database that stores cluster configuration and state.
Within a cluster, pods are the smallest deployable units. A pod contains one or more containers that share resources and lifecycle. Pods simplify scaling by managing multiple containers together. Kubernetes resources, defined in YAML manifests, detail the desired state of the system, allowing Kubernetes to maintain this state across the cluster.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.