<img height="1" width="1" style="display:none;" alt="" src="https://px.ads.linkedin.com/collect/?pid=2634489&amp;fmt=gif">

Containers and Kubernetes

Clusters, Nodes, Pods, and More: Everything You Need To Know About Kubernetes

By Leah Zitter | November 15, 2021

Kubernetes (K8s) is a container orchestration platform that makes sure each software container is where it's supposed to be and that containers can work together. Containers are fashioned so that developers can migrate code and its components from one environment to the next in a portable, lightweight way with minimum overhead. Kubernetes, Greek for "helmsman" or "pilot", is one of the most popular platforms for automating, deploying, scaling, controlling, monitoring and maintaining these containers.


Problems with Containers


If you're a developer, you probably often find yourself asking questions like:

  • What happens if a container goes down? How do we keep the system running?
  • How do we get containers to communicate?
  • How do we observe what's going in containers?
  • What's the protocol for finding containers?
  • How do we organize containers?
  • How do we scale containers up or down?

Deploying containers is one thing. Managing them is slow, inefficient and full of holes. That's where Kubernetes comes in.


How Kubernetes Works


Kubernetes resolves these issues through a system of clusters, nodes, pods, and kubelets that intercommunicate to monitor and automate containers. It scales or descales these containers, aggregates or segregates them, and heals faulty containers, among other functions. It also restarts orphaned containers, shuts down containers when they're not being used, and distributes containers in a logical and efficient way. At its core, Kubernetes gives you power over what gets done by managing, scaling and monitoring your containers.

The following are the main components of the Kubernetes system:

  • The control plane is the brain of the cluster, feeding it incoming and outgoing signals (for example, scheduling), as well as detecting and responding to cluster events (for example, starting up a new pod when a deployment's replicas field is unsatisfied).
  • Nodes run the containers. They are the worker machines, with each node running an "agent" called a kubelet.
  • Kubelets are tiny applications that run on the machine and communicate with the control plane (or Master Node), relaying its signals.
  • Pods are the smallest units of Kubernetes. Each node has multiple pods. 
  • Etcd is the registry that stores data about the cluster.
  • Objects define the desired state of the cluster. By creating an object, you're telling the Kubernetes system what you want your cluster's workload to look like.


Working with Kubernetes


Containers are stored as clusters of nodes. Each node has endpoints, DNS, pods, and kubelets, and is overseen by the master node, or control plane.  You specify the desired state of your clusters with "objects", achieved through a YAML configuration file listing the processes you want up and running. The control plane of Kubernetes then prompts the nodes and their minions (pods and kubelets) to automate your bidding.

Nodes help containers spread by adding scalability to the cluster. They also provide for fault-tolerance and a replica set for availability in case of downtime. Risk is distributed so that no running process can be taken down by a single point of failure. Kubernetes is self-healing, always returning the system to the ideal state specified by your objects in the deployment, by either curing or slaying flawed containers.  

Kubernetes uses new container images pulled from the Etcd registry as rolling updates for a smooth, stable transition.

The following are some of the benefits of working with Kubernetes:

  • Load balancing, namely distributing traffic among the various containers.
  • Tracking containers through their DNS names or IP addresses.
  • Storage through local services, public cloud providers, and more.
  • Automated rollouts and rollbacks. You can automate Kubernetes to create new or remove existing containers.
  • Self-healing capability. Kubernetes restarts stalled containers, replaces others and kills those that are hopelessly flawed.
  • Deep security. Kubernetes secures sensitive information, such as passwords, OAuth tokens, and SSH keys.


In Short:


As this handy Google Cloud cartoon strip illustrates, if you're trying to manage hundreds or even thousands of containers, Google Cloud's Kubernetes Engine monitors, controls, and automates them.


Extra Credit:



Recent Articles

Google Cloud Strategy

AI Cheat Sheet

AI is no more and no less the drive to create robots with human minds so they can do everything we do and more. Use this cheat sheet to help decode the space.
By Leah Zitter
AI and Machine Learning

CarCast with Bruno Aziza: What Makes Us Better Than AI?!

Unlock the secrets of human cognitive superiority over AI in this compelling CarCast with Bruno Aziza and Kenneth Cukier.
By Bruno Aziza
AI and Machine Learning

CarCast with Bruno Aziza: The Metrics You CAN'T Afford To ...

Discover essential CEO metrics: Rule of 40, CAC Ratio, NRR/GRR, and more. Optimize your business for success now!
By Bruno Aziza