Skip to main content

Kubernetes explained

· 5 min read
Stephane Boghossian

🔍 Problem#

Engineers & DevOps need to scale and automate their infrastructures.

💡 Solution#

Kubernetes

Kubernetes, also known as K8s, is an open-source system for automating deployment, scaling, and management of containerized applications.

Kubernetes & Brainboard#

Kubernetes and Brainboard

Brainboard is an ecosystem of tools for engineers like Chafik & Jeremy made to make their lives, better. Naturally, we decided to integrate Kubernetes in our ecosystem of tools. With Kubernetes & the power of Brainboard, it is a way to accelerate deployment and automate tasks like never before.

🏁 Kubernetes services#

  • Ambassador Labs - provides advanced edge capabilities for supporting DevOps for Kubernetes
  • Civo - bringing Kubernetes as a service to customers
  • Talos Systems - providing operational stability and security for running production Kubernetes clusters for SaaS companies
  • Replicated - a developer of cloud-native tools to use Kubernetes help deliver software to on-premises or self-hosted environments
  • Okteto - free access to secure Kubernetes namespaces that are fully integrated with remote development capabilities
  • Kenv - EaaS, or Environment as a Service
  • Nirmata - unified management plane for the management and deployment of Kubernetes clusters for cloud-based application containerization
  • Platform9 - provides a managed Kubernetes service
  • Robin.io - provides cloud-native capabilities that help with automating deployment, scaling and life-cycle management of enterprise and 5G applications on Kubernetes
  • StackWatch - open-source tool to give developers visibility into their Kubernetes spend

👍 Why Terraform Kubernetes#

  • Enables a significant increase in the operability and portability of modern software systems
  • Allows developers to easily adopt GitOps workflows into their development pipelines
  • Increases the velocity and reliability of feature deployments

🔮 Opportunities#

1: Containers are the go-to way of building modern apps

2: The Kubernetes ecosystem is rapidly maturing

3: Security is the canary in the coal mine

4: Digital Transformation of financial services

5: Open source is past the hype curve

🔑 Kubernetes Architecture 101#

Kubernetes Diagram

The way Kubernetes is architected is what makes it powerful. Kubernetes has a basic client and server architecture, but it goes way beyond that. Kubernetes has the ability to do rolling updates, it also adapts to additional workloads by auto scaling nodes if it needs to and it can also self-heal in the case of a pod meltdown. These innate abilities provide developers and operations teams with a huge advantage in that your applications will have little to no down time. In this section we provide a brief overview of the master and its worker nodes with a high level overview of how Kubernetes manages workloads.

😠 Haters#

It turns out that Kubernetes is complicated. There are a lot of moving parts under the hood. Simplifying container orchestration isn’t easy. Anyone who’s ever tried to follow Kelsey Hightower’s “Kubernetes the Hard Way” can attest to the intricacies associated with it. Standing up a Kubernetes stack by hand includes setup and maintenance of a number of supporting technologies along with it. But where there are problems, there are opportunities. Several vendors such as RedHat, Amazon, and Microsoft have built products that mask some of challenges with Kubernetes. Some go so far that you barely even realize that Kubernetes is under the hood.

Other reasons not to use Kubernetes may include:

  • Kubernetes is designed for web-scale companies.
  • The Kubernetes marketplace is fractured
  • Kubernetes has too many pieces.
  • Kubernetes doesn’t automatically guarantee high availability.
  • It’s hard to control Kubernetes manually.
  • There are challenges with Kubernetes monitoring and performance optimization.
  • Kubernetes reduces everything to code.
  • Kubernetes wants to be all-controlling.

Kubernetes alternatives#

Kubernetes is highly resilient and supports zero downtime, rollback, scaling, and container self-healing but presents

  • Container as a Service (CaaS)—services like AWS Fargate and Azure Container Instances, Google Cloud Run, which allow you to manage containers at scale without the complex orchestration capabilities provided by Kubernetes.
  • Managed kubernetes services—including Google Kubernetes Engine (GKE) and Amazon Elastic Kubernetes Service (EKS), which let you run managed, hosted Kubernetes clusters. These services remove much of the complexity of deploying, upgrading and maintaining Kubernetes, but still require expertise to manage.
  • PaaS using Kubernetes—several providers, such as OpenShift Container Platform and Rancher, offer complete cloud computing platforms, which have Kubernetes at their core, but offer simpler operation and built-in capabilities like security and networking.
  • Lightweight container orchestrators—Kubernetes is the most popular container orchestrator, but is definitely not the only one. Docker Swarm and Nomad are two examples of capable, mature orchestrators, which are much less complex to use and maintain than Kubernetes

🔗 Links#

10 Kubernetes Alternatives and Why You Need Them - Aqua

8 Problems with the Kubernetes Architecture

I hate this. Kubernetes is designed specifically for stateless applications; e... | Hacker News

What Is Kubernetes: A Complete Guide

The History of Kubernetes on a Timeline - RisingStack Engineering

Cloud Native & Kubernetes Trends 2021 - Cloudflight

VCs are betting big on Kubernetes: Here are 5 reasons why

VCs are Betting Big on Kubernetes: Here are 5 Reasons Why | Komodor

Kubernetes Weekly: Review in 5 Charts