1
Kubernetes on
Google Cloud
Platform
● Use with Preemptible VMs, custom machine
types, GPUs
● Live migration and patching
● Best-in-class networking
● Sustained use discounts, committed use
discounts, and per-second billing mean you
only pay for what you use
● Integration with Google Cloud Platform
services such as BigQuery, PubSub, Cloud
SQL, and more
2
Node 2
Pod 1 Pod 3
Node 1
Pod 4
Node n
Pod 5
Pod 6
Pod 2
Managed by
Google
Kubernetes
Control Plane
Kubernetes API
Kubelet
agent
Docker
runtime
Kubelet
agent
Docker
runtime
Kubelet
agent
Docker
runtime
GKE Architecture
3
Control Plane
Fully-managed Kubernetes control
plane backed by an SLA
Control plane runs in a
Google-managed project
Upgrades are automatic, can choose to
opt-in to upgrade earlier
Master scaled automatically to
accommodate cluster size
Kubernetes Engine
Kubernetes Master
API Server
Controller
Manager
Scheduler
etcd
4
Node Pools
A node pool is a group of nodes that have
the same configuration
Node pools run in the customer’s project
Can configure one or multiple node pools
per cluster
Allows you to mix-and-match machine
configurations (e.g., local SSDs, preemptible
VMs, specific node images, larger instance sizes)
Controlled by Managed Instance Groups
under the hood
Google Kubernetes Engine
Kubernetes Control
Plane
Node-pool-n, us-central1-a
Node Node
Node
Node
5
Can use Preemptible VMs, custom
machine size, and GPUs
Provision volumes with GCP
Persistent Disk, SSD, and Local SSD
Compute
and Storage
6
Multi-Zone Clusters: Enables higher service level by deploying nodes across multiple zones
Google Kubernetes Engine, Multi-Zone Cluster
Kubernetes Master
us-central1-a
node-pool-n
default-pool node-pool-n
Node, us-
central1-a
Node, us-
central1-b
Node, us-
central1-a
Node, us-
central1-b
Node, us-
central1-a
Node, us-
central1-b
Multi-zone and Regional Clusters
7
Multi-zone and Regional Clusters
Regional Clusters: Enables zero-downtime upgrades and 99.95% uptime by
deploying multiple masters across a region
Google Kubernetes Engine, Regional Cluster
Kubernetes Master
us-central1-a
node-pool-n
default-pool node-pool-n
Node Node
Node Node Node Node
Kubernetes Master
us-central1-b
Kubernetes Master
us-central1-c
Node Node Node
Load Balancer
Proprietary + Confidential
Architecture: Three-Tier Web Application using Google Kubernetes Engine
Region - US-East1
HTTPS/Layer 7
Global Load
Balancer
Region - US-Central1 Region - US-West1
Fastest Route
Kubernetes cluster
Web Frontend
Kubernetes
Pod
Middleware
Kubernetes
Pod
Data Storage
Cluster
Kubernetes cluster
Web Frontend
Kubernetes
Pod
Middleware
Kubernetes
Pod
Data Storage
Cluster
Kubernetes cluster
Web Frontend
Kubernetes
Pod
Data Storage
Cluster
Middleware
Kubernetes
Pod
Internal
Load
Balancer
Internal
Load
Balancer
Internal
Load
Balancer
Confidential + Proprietary
Load Testing
Namespace
Application Under Test
Namespace
Dev Test > Scale Testing with Kubernetes+Locust
Test
Operato
r
Locust Master
Kubernetes Engine
Locust
Workers
Kubernetes Engine
Frontend
Kubernetes Engine
Backend
Kubernetes Engine
1 Tester starts test
2 Master starts load
3 Workers send request to FE
service
4 FE pods talk to BE
service
5 Worker report results
6 Tester views results
Fronten
d
Service
Backen
d
Service
1
2
3
4
5
6
Architecture: Dev Test > Scale Testing with Kubernetes+Locust
Services
Cache
Database
Frontend
Standard
architecture RabbitMQ Redis
MySQL
NGINX
Elastic
NGINX
NGINX
MySQL
MySQL
Cloud-friendly
architecture
Cloud-native
architecture

Kubernetes Reference Architectures GCP.pptx

  • 1.
    1 Kubernetes on Google Cloud Platform ●Use with Preemptible VMs, custom machine types, GPUs ● Live migration and patching ● Best-in-class networking ● Sustained use discounts, committed use discounts, and per-second billing mean you only pay for what you use ● Integration with Google Cloud Platform services such as BigQuery, PubSub, Cloud SQL, and more
  • 2.
    2 Node 2 Pod 1Pod 3 Node 1 Pod 4 Node n Pod 5 Pod 6 Pod 2 Managed by Google Kubernetes Control Plane Kubernetes API Kubelet agent Docker runtime Kubelet agent Docker runtime Kubelet agent Docker runtime GKE Architecture
  • 3.
    3 Control Plane Fully-managed Kubernetescontrol plane backed by an SLA Control plane runs in a Google-managed project Upgrades are automatic, can choose to opt-in to upgrade earlier Master scaled automatically to accommodate cluster size Kubernetes Engine Kubernetes Master API Server Controller Manager Scheduler etcd
  • 4.
    4 Node Pools A nodepool is a group of nodes that have the same configuration Node pools run in the customer’s project Can configure one or multiple node pools per cluster Allows you to mix-and-match machine configurations (e.g., local SSDs, preemptible VMs, specific node images, larger instance sizes) Controlled by Managed Instance Groups under the hood Google Kubernetes Engine Kubernetes Control Plane Node-pool-n, us-central1-a Node Node Node Node
  • 5.
    5 Can use PreemptibleVMs, custom machine size, and GPUs Provision volumes with GCP Persistent Disk, SSD, and Local SSD Compute and Storage
  • 6.
    6 Multi-Zone Clusters: Enableshigher service level by deploying nodes across multiple zones Google Kubernetes Engine, Multi-Zone Cluster Kubernetes Master us-central1-a node-pool-n default-pool node-pool-n Node, us- central1-a Node, us- central1-b Node, us- central1-a Node, us- central1-b Node, us- central1-a Node, us- central1-b Multi-zone and Regional Clusters
  • 7.
    7 Multi-zone and RegionalClusters Regional Clusters: Enables zero-downtime upgrades and 99.95% uptime by deploying multiple masters across a region Google Kubernetes Engine, Regional Cluster Kubernetes Master us-central1-a node-pool-n default-pool node-pool-n Node Node Node Node Node Node Kubernetes Master us-central1-b Kubernetes Master us-central1-c Node Node Node Load Balancer
  • 8.
    Proprietary + Confidential Architecture:Three-Tier Web Application using Google Kubernetes Engine Region - US-East1 HTTPS/Layer 7 Global Load Balancer Region - US-Central1 Region - US-West1 Fastest Route Kubernetes cluster Web Frontend Kubernetes Pod Middleware Kubernetes Pod Data Storage Cluster Kubernetes cluster Web Frontend Kubernetes Pod Middleware Kubernetes Pod Data Storage Cluster Kubernetes cluster Web Frontend Kubernetes Pod Data Storage Cluster Middleware Kubernetes Pod Internal Load Balancer Internal Load Balancer Internal Load Balancer
  • 9.
    Confidential + Proprietary LoadTesting Namespace Application Under Test Namespace Dev Test > Scale Testing with Kubernetes+Locust Test Operato r Locust Master Kubernetes Engine Locust Workers Kubernetes Engine Frontend Kubernetes Engine Backend Kubernetes Engine 1 Tester starts test 2 Master starts load 3 Workers send request to FE service 4 FE pods talk to BE service 5 Worker report results 6 Tester views results Fronten d Service Backen d Service 1 2 3 4 5 6 Architecture: Dev Test > Scale Testing with Kubernetes+Locust
  • 10.
  • 11.
  • 12.

Editor's Notes

  • #2 But let’s pause a second and talk what do you get when you set up a Kubernetes engine cluster? So the whole process takes 3 minutes on average, you click a button and 3 minutes later you get your cluster,
  • #3 Fully managed = we take care of backups and repairing the master if problems occur Once you click create cluster, Google creates a hosted control plane for your cluster. For those of you familiar with Kubernetes, it is largely the same as every other Kubernetes deployment but in this case we manage the control plane components and provide a black-box API endpoint to the user. The main benefit is not the cluster deployment but how we manage it for you. We make sure it is available through monitoring, health checks and auto repairs. We are responsible for daily backups. We keep you up to date, and upgrade your control plane to the latest Kubernetes version available in a reliable manner. So this is one less thing to worry about.