Kubernetes & Google
Kubernetes Engine (GKE)
by Akash Agrawal
Agenda
Agenda
● Understanding Kubernetes
○ Traditional & Containerized App Deployment
○ Understanding Containers
○ Understanding Kubernetes
○ Kubernetes Fundamentals
○ Kubernetes Resources/Objects
○ Kubernetes Flow Diagram
○ Kubernetes Cluster Architecture
Agenda
● Understanding Google Kubernetes Engine (GKE)
○ Understanding GKE
○ GKE Features
About Me
About Me
● Google Developer Expert (on Google Cloud Platform Category)
● 11 years of experience in IT Industry
● Worked with various clients like Sabre/Citi Bank/Goldman Sachs/L&T
Infotech etc.
● Currently I work as Independent Consultant (as Technical
Adviser/Architect/Trainer) & Tech Evangelist
Understanding Kubernetes
Traditional & Containerized App Deployment
● Traditional App Deployment
● Problems with Traditional App Deployment
● Containers & what problems does it solve
● Kubernetes (Container Orchestrator) & what problems does it solve
Understanding Containers
● Package your application/component & it’s dependencies
● Container Runtimes : Docker / Rkt etc.
● Focused around : Build / Ship / Run
○ Build: build container on local laptop manually or automate it through CI/CD Pipeline
○ Ship: ship through Container Registry e.g. Docker Hub/GCR etc.
○ Run: Run anywhere e.g. Cloud/On-Prem etc.
Understanding Kubernetes
● Kubernetes is an Open Source system for Container Orchestration
(Deployment/Management/Scaling)
● Focused around:
○ Scheduling
○ Scaling (Manual / Auto)
○ Self Healing or Auto Repairing
○ ...
Kubernetes Fundamentals
● Kubernetes Cluster
● Kubernetes Artifacts/Resources/Objects
● Containerized Applications
Kubernetes Resources/Objects
● Pod (Single/Multi Container Pod)
● Service (ClusterIP/NodePort/LoadBalancer)
● Controller Objects:
○ ReplicaSet
○ Deployment
○ StatefulSet
○ Job
○ ...
Kubernetes Resources/Objects
● Namespace
● ConfigMap
● Secret
● Label & Selectors
Kubernetes Cluster Architecture
● Control Plane
○ Focused around managing Cluster & its State
○ Components:
■ Kube-apiserver
■ Etcd
■ Kube-controller-manager
■ Kube-scheduler
Kubernetes Cluster Architecture
● Data Plane
○ Focused around managing individual Nodes & deployed Workloads
○ Components:
■ Kubelet
■ Kube-proxy
■ Container Runtime
Understanding Google
Kubernetes Engine (GKE)
Understanding GKE
● Managed Solution for Kubernetes on Google Cloud
● Provides Reliable, Efficient & Secured way to run Kubernetes Clusters (on
GCP)
● Focused around:
○ Cluster Scaling
○ Self Healing or Auto Repairing of Nodes
○ Node Pools : CPU/GPU Pools
○ ...
GKE Features
● Features:
○ Fully Managed
○ Auto Scaling / Auto Upgrade / Auto Repair
○ Integration : IAM / StackDriver / VPC
○ Security, Compliance, Runs on Optimized OS (COS)
○ Accelerators Support : GPUs/TPUs
○ Various Cluster Topologies : Zonal Clusters / Regional Clusters
○ Workload Portability : On-Premises / Cloud
○ ...
Look for:
● Qwik Labs:
○ Kubernetes in Google Cloud: https://www.qwiklabs.com/quests/29
○ Kubernetes Solutions: https://www.qwiklabs.com/quests/45
Google Cloud Platform - Resources
● Google Cloud Platform 101 (Cloud Next ‘19):
https://www.youtube.com/watch?v=vmOMataJZWw
● Google Cloud Developer Cheat Sheet:
https://raw.githubusercontent.com/gregsramblings/google-cloud-4-
words/master/Poster-medres.png
● 100+ announcements from Google Cloud Next ‘19:
https://cloud.google.com/blog/topics/inside-google-cloud/100-plus-
announcements-from-google-cloud-next19
Google Cloud Platform - Resources
● Google Cloud Next ‘19 Sessions:
https://www.youtube.com/playlist?list=PLIivdWyY5sqIXvUGVrFuZibCUdK
VzEoUw
● GCP Certification Resources: https://github.com/ddneves/awesome-gcp-
certifications
Akash Agrawal
LinkedIn : akash-agrawal-58a97813
Twitter : @akkiagrawal29
Thanks