Google Kubernetes Introduction
Introduction to Google Kubernetes
🎯 Objective
By the end of this lesson, you will:
- Understand what Kubernetes is
- Know why it is used
- Be familiar with its basic terminology
- Learn the history and origin of Kubernetes
📌 What is Kubernetes?
Google Kubernetes is a popular Linux-based container orchestration tool that distributes container workloads on cluster computing. It is a system for deploying, scaling, and managing containerized applications. Kubernetes is distributed and provides a scalable infrastructure for developers. Kubernetes (often abbreviated as K8s) is an open-source platform for automating:
- Deployment
- Scaling
- Managing containerized applications
Container orchestration is the automated management of containers, especially when they are deployed in large, dynamic environments. It involves deploying, managing, scaling, networking, and monitoring containers to ensure that applications run smoothly and efficiently.
Think of it as a manager for your containers (like Docker) that ensures your application runs smoothly and can handle real-world traffic.
🚀 Why Use Kubernetes?
- Run apps reliably on many computers
- Automatically restart failed containers
- Scale your app up or down based on traffic
- Roll out new versions without downtime
- Optimize resource usage (CPU, memory, etc.)
Microservices
K8s is widely used for developing Microservices. Microservice is an architectural pattern that helps developers to break down a monolithic application into small and independent services. Apps that are built using monolithic architecture, are difficult to manage and maintain.
Cloud Provider Support
Major cloud providers like Amazon Cloud, Google Cloud, and Microsoft Azure provide Kubernetes containers to deploy software packages and apps.
🏗️ Basic Terminology
Term | Meaning |
---|---|
Cluster | A group of machines (nodes) running Kubernetes-managed apps |
Node | A single machine (VM or physical) inside the cluster |
Pod | The smallest deployable unit (wraps one or more containers) |
Deployment | Ensures your app is running the desired number of pods |
Service | Exposes your app to the network (like an internal/external IP) |
🕰️ Brief History
- Developed by Google, based on their internal system called Borg. Google open-sourced the project in 2014.
- Donated to the Cloud Native Computing Foundation (CNCF) in 2015
- Has become the de facto standard for container orchestration
📦 How Kubernetes Works (Simple View)
You describe what your app should look like in a YAML file (e.g., 3 replicas).
Kubernetes automatically:
- Deploys the app
- Ensures it stays healthy
- Replaces failed parts
- Scales it if needed
📘 Fun Fact
The name “Kubernetes” comes from the Greek word for helmsman or pilot, and its logo is a ship’s wheel with 7 spokes (hence K8s — 8 letters between K and S).
Kubernetes is sometimes referred to as ‘K8s’ with the 8 number of letters between the ‘K’ and the ‘s’ alphabets.
Official Website
For more information on Kubernetes, visit the official website at:
- https://kubernetes.io/