Architecting with Google Kubernetes Engine

Overview

Learn how to deploy and manage containerized applications on Google Kubernetes Engine (GKE). Learn how to use other tools on Google Cloud that interact with GKE deployments. This course features a combination of lectures, demos, and hands-on labs to help you explore and deploy solution elements—including infrastructure components like pods, containers, deployments, and services—along with networks and application services. You’ll also learn how to deploy practical solutions, including security and access management, resource management, and resource monitoring.

Audience
  • Cloud architects, administrators, and SysOps/DevOps personnel
  • Individuals using Google Cloud to create new solutions or to integrate existing systems, application environments, and infrastructure with Google Cloud.

 

Prerequisites

Completed “Google Cloud Fundamentals: Core Infrastructure” or have equivalent experience

 

Delegates will learn how to

What you’ll learn
  • Understand how software containers work.
  • Understand the architecture of Kubernetes.
  • Understand the architecture of Google Cloud.
  • Understand how pod networking works in Google Kubernetes Engine.
  • Create and manage Kubernetes Engine clusters using the Google Cloud Console and gcloud/kubectl commands.
  • Launch, roll back, and expose jobs in Kubernetes.
  • Manage access control using Kubernetes RBAC and IAM.
  • Manage pod security policies and network policies.
  • Use Secrets and ConfigMaps to isolate security credentials and configuration artifacts.
  • Understand Google Cloud choices for managed storage services.
  • Monitor applications running in Google Kubernetes Engine.

 

Outline

Module 1 Introduction to Google Cloud

Topics
  • Use the Google Cloud Console
  • Use Cloud Shell
  • Define Cloud Computing
  • Identify Google Cloud Compute Services
  • Understand Regions and Zones
  • Understand the Cloud Resource Hierarchy
  • Administer your Google Cloud Resources

Objectives

  • Identify Google Cloud services and their function.
  • Choose the right Google Cloud services to create your own Cloud solution 1 lab and 1 quiz

Activities

  • 1 lab and 1 quiz
Module 2 Containers and Kubernetes in Google Cloud
Topics
  • Create a Container Using Cloud Build
  • Store a Container in Container Registry
  • Understand the Relationship Between Kubernetes and Google Kubernetes Engine (GKE)
  • Understand how to Choose Among Google Cloud Compute Platforms
Objectives
  • Create a Container using Cloud Build.
  • Store a Container in Container Registry.
  • Compare and Contrast Kubernetes and GKE features.
Activities
  • 1 lab and 1 quiz
Module 3 Kubernetes Architecture
Topics
  • Understand the Architecture of Kubernetes: Pods, Namespaces
  • Understand the Control-plane Components of Kubernetes
  • Create Container Images using Cloud Build
  • Store Container Images in Container Registry
  • Create a Kubernetes Engine Cluster
Objectives
  • Conceptualize the Kubernetes Architecture.
  • Deploy a Kubernetes Cluster using GKE.
  • Deploy Pods to a GKE Cluster.
  • View and Manage Kubernetes Objects.
  • Conceptualize the Migrate for Anthos process
Activities
  • 1 lab and 1 quiz
Module 04 Kubernetes Operations
Topics
  • The Kubectl Command
Objectives
  • Work with the Kubectl Command.
  • Inspect the Cluster and Pods.
  • View a Pod’s Console Output.
  • Sign in to a Pod Interactively.
Activities
  • 2 labs and 1 quiz
Module 05 Deployment, Jobs, and Scaling
Topics
  • Deployments
  • Ways to Create Deployments
  • Services and Scaling
  • Updating Deployments
  • Rolling Updates
  • Blue/Green Deployments
  • Canary Deployments
  • Managing Deployments
  • Jobs and CronJobs
  • Parallel Jobs
  • CronJobs
  • Cluster Scaling
  • Downscaling
  • Node Pools
  • Controlling Pod Placement
  • Affinity and Anti-Affinity
  • Pod Placement Example
  • Taints and Tolerations
  • Getting Software into your Cluster
Objectives
  • Create and Use Deployments.
  • Create and Run Jobs and CronJobs.
  • Scale Clusters Manually and Automatically.
  • Configure Node and Pod Affinity.
  • Get Software into your Cluster with Helm Charts and Kubernetes Marketplace.
Activities
  • 3 labs and 1 quiz
Module 06 GKE Networking
Topics
  • Introduction
  • Pod Networking
  • Services
  • Finding Services
  • Service Types and Load Balancers
  • How Load Balancers Work
  • Ingress Resource
  • Container-Native Load Balancing
  • Network Security
Objectives
  • Create Services to expose applications that are running within Pods.
  • Use load balancers to expose Services to external clients.
  • Create Ingress resources for HTTP(S) load balancing.
  • Leverage container-native load balancing to improve Pod load balancing.
  • Define Kubernetes network policies to allow and block traffic to Pods.
Activities
  • 2 labs and 1 quiz
Module 07 Persistent Data and Storage
Topics
  • Volumes
  • Volume Types
  • The PersistentVolume Abstraction
  • More on PersistentVolumes
  • StatefulSets
  • ConfigMaps
  • Secrets
Objectives
  • Use Secrets to isolate security credentials.
  • Use ConfigMaps to isolate configuration
  • Push out and roll back updates to Secrets and ConfigMaps.
  • Configure Persistent Storage Volumes for Kubernetes Pods.
  • Use StatefulSets to ensure that claims on persistent storage volumes persist across restarts.
Activities
  • 2 labs and 1 quiz
Module 08 Access Control and Security in Kubernetes and Kubernetes Engine
Topics
  • Understand Kubernetes Authentication and Authorization
  • Define Kubernetes RBAC Roles and Role Bindings for Accessing Resources in Namespaces
  • Define Kubernetes RBAC Cluster Roles and ClusterRole Bindings for
  • Accessing Cluster-scoped Resources
  • Define Kubernetes Pod Security Policies
  • Understand the Structure of IAM
  • Define IAM roles and Policies for Kubernetes Engine Cluster Administration
Objectives
  • Define IAM roles and policies for GKE.
  • Define Kubernetes RBAC roles and role bindings.
  • Define Kubernetes pod security policies
Activities
  • 2 labs and 1 quiz
Module 09 Logging and Monitoring
Topics
  • Use Cloud Monitoring to monitor and manage availability and performance
  • Locate and inspect Kubernetes logs
  • Create probes for wellness checks on live applications
Objectives
  • Create forensic logs for systems monitoring.
  • Monitor your system performance from different vantage points.
  • Create probes for wellness checks on live applications.
Activities
  • 2 labs and 1 quiz
Module 10 Using Google Cloud Managed Storage Services from Kubernetes Applications
Topics
  • Understand Pros and Cons for Using a Managed Storage Service Versus Self-managed Containerized Storage
  • Enable Applications Running in GKE to Access Google Cloud Storage Services
  • Understand Use Cases for Cloud Storage, Cloud SQL, Cloud Spanner, Cloud Bigtable, Cloud Firestore, and BigQuery from within a Kubernetes Application
Objectives
  • Understand use cases for Cloud Storage within a Kubernetes application.
  • Understand use cases for Cloud SQL and Cloud Spanner within a Kubernetes application.
  • Understand use cases for Datastore within a Kubernetes application
  • Understand use cases for Cloud Bigtable within a Kubernetes application.
Activities
  • 1 lab and 1 quiz
Module 11 Logging and Monitoring
Topics
  • CI/CD overview
  • CI/CD for Google Kubernetes Engine
  • CI/CD Examples
  • Manage application code in a source repository that can trigger code changes to a continuous delivery pipeline.
Objectives
  • Create a continuous delivery pipeline using Cloud Build and start it manually or automatically with a code change. Implement a canary deployment that hosts two versions of your application in production for release testing.
Activities
  • 1 lab