Architecting with Google Kubernetes Engine
(2 days)
Course Description
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.
Objectives
- Create and manage workloads in Google Kubernetes Engine.
- Explain how pod networking works in Google Kubernetes Engine.
- Define and work with different Kubernetes storage abstractions.
- Describe and manage authentication, authorization, and security
in Google Kubernetes Engine. - Monitor applications running in Google Kubernetes Engine.
- Explore Google Cloud managed storage services options.
- Configure CI/CD pipelines for Google Kubernetes Engine.
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 “Getting Started with Google Kubernetes Engine” or have equivalent
experience
Course Outline
Module 1: Workloads: Deployment and Jobs
- Define, configure, inspect, manage, and update Deployments
- Define what Jobs and CronJobs are in GKE, and explore relevant use cases. Create and run Jobs
- Explain how to scale clusters manually and automatically
- Configure node and pod affinity
- Lab: Creating Google Kubernetes Engine Deployments
Module 2: Google Kubernetes Engine Networking
- Explore Kubernetes networking, including Pod and cluster networking
- Create services to expose to applications running within Pods
- Configure load balancers to expose services to external clients. Explore container-native load balancing in GKE
- Configure Google Kubernetes Engine networking
- Lab: Configuring Google Kubernetes Engine (GKE) Networking
Module 3: Persistent Data and Storage
- Define and work with Kubernetes storage abstractions
- Run and maintain sets of pods using StatefulSets
- Use ConfigMaps to decouple configuration from Pods
- Manage and store sensitive access and authentication data
- Configure persistent storage for Google Kubernetes Engine
- Lab: Configuring Persistent Storage for Google Kubernetes Engine
Module 4: Access Control and Security in Kubernetes and Google Kubernetes Engine
- Explore Kubernetes authentication and authorization
- Define Kubernetes RBAC and how it works with IAM to secure GKE clusters
- Configure Workload Identity to access Google Cloud services from within GKE
- Secure GKE with Pod Security Standards and Pod Security Admission
- Implement Role-Based Access Control with GKE
- Lab: Securing Google Kubernetes Engine with Cloud IAM and Pod Security
Module 5: Google Kubernetes Engine Logging and Monitoring
- Identify the tools included in the Google Cloud Observability
- Configure the Google Cloud operations suite to monitor and manage the availability and performance
- Inspect logs using the kubectl command
- Inspect Kubernetes logs using Google Cloud Observability
- Configure GKE-native Monitoring and Logging
- Lab: Configuring GKE-Native Monitoring and Logging
Module 6: Using Google Cloud Managed Storage Services with Google
Kubernetes Engine
- Contrast managed storage services with self-managed storage
- Identify use cases for Cloud Storage for Kubernetes applications
- Compare the range of Google Cloud managed database services
- Explore Cloud SQL Auth Proxy and how it connects to Cloud SQL from within GKE
- Use Cloud SQL with Google Kubernetes Engine
- Lab: Using Cloud SQL with Google Kubernetes Engine and Workload Identity
Module 7: Using CI/CD with Google Kubernetes Engine
- Define continuous integration and continuous delivery and identify why it is important
- Examine CI/CD pipelines and how they can optimize app releases
- Explore first-party and third-party CI/CD tools supported by Google Cloud
- Explore Google’s best practices for a GKE CI/CD pipeline
Module 8: Course Summary