Skip to main content
Google Cloud Documentation
Technology areas
  • AI and ML
  • Application development
  • Application hosting
  • Compute
  • Data analytics and pipelines
  • Databases
  • Distributed, hybrid, and multicloud
  • Industry solutions
  • Migration
  • Networking
  • Observability and monitoring
  • Security
  • Storage
Cross-product tools
  • Access and resources management
  • Costs and usage management
  • Infrastructure as code
  • SDK, languages, frameworks, and tools
/
Console
  • English
  • Deutsch
  • Español
  • Español – América Latina
  • Français
  • Indonesia
  • Italiano
  • Português
  • Português – Brasil
  • עברית
  • 中文 – 简体
  • 中文 – 繁體
  • 日本語
  • 한국어
Sign in
  • Google Kubernetes Engine (GKE)
Start free
Overview Guides Reference Samples Resources
Google Cloud Documentation
  • Technology areas
    • More
    • Overview
    • Guides
    • Reference
    • Samples
    • Resources
  • Cross-product tools
    • More
  • Console
  • Discover
  • Product overview
  • Explore GKE documentation
    • Overview
    • Main GKE documentation
    • GKE AI/ML documentation
    • GKE networking documentation
    • GKE security documentation
    • GKE fleet management documentation
  • Use GKE or Cloud Run?
  • Try it
    • Create a cluster in the console
    • Create a cluster with Terraform
    • Explore your cluster
  • Fine-tune GKE services with Gemini assistance
  • Learn fundamentals
  • Start learning about GKE
  • Learn Kubernetes fundamentals
    • Start learning about Kubernetes
    • Introducing containers
    • Kubernetes comic
    • Kubernetes.io
    • Video playlist: Learn Kubernetes with Google
  • Learn GKE essentials
    • GKE modes of operation
    • Video playlist: GKE Essentials
  • Common GKE user roles and tasks
  • Get started
  • Cluster lifecycle
  • Cluster administration overview
  • Cluster configuration
  • Deploying workloads
  • GKE cluster architecture
  • Workflows and tools
    • gcloud CLI overview
    • GKE in the Google Cloud console
    • Provision GKE resources with Terraform
    • Install kubectl and configure cluster access
    • Simplify deployment using your IDE
    • Use the GKE remote MCP server
  • Learning path: Containerize your app
    • Overview
    • Understand the monolith
    • Modularize the monolith
    • Prepare for containerization
    • Containerize the modular app
    • Deploy the app to a cluster
  • Learning path: Scalable apps
    • Overview
    • Create a cluster
    • Monitor with Prometheus
    • Scale workloads
    • Simulate failure
    • Centralize changes
    • Production considerations
  • Design and plan
  • Code samples
  • Best practices for GKE
  • Architectures
    • Develop and deliver apps with Cloud Code, Cloud Build, and Google Cloud Deploy
    • Address continuous delivery challenges
  • Set up GKE clusters
  • Plan clusters for running your workloads
    • Compare features in GKE Autopilot and Standard
    • About regional clusters
    • About feature gates
    • About alpha clusters
    • About machine support with GKE clusters
  • Design your GKE cluster with Gemini
  • Design for resource obtainability with Gemini
  • Set up Autopilot clusters
    • About GKE Autopilot
    • Create Autopilot clusters
    • Extend the run time of Autopilot Pods
  • Set up Standard clusters
    • Create a zonal cluster
    • Create a regional cluster
    • Create an alpha cluster
    • Create a cluster using Windows node pools
  • Prepare to use clusters
    • Use labels to organize clusters
    • Manage GKE resources using Tags
  • Configure node pools
    • About node pools
    • Add and manage node pools
    • About node images
    • About Containerd images
    • Specify a node image
    • About Arm workloads on GKE
    • Create Standard clusters and node pools with Arm nodes
    • Plan GKE Standard node sizes
    • About Spot VMs
    • About Windows Server containers
    • Auto-repair nodes
    • Automatically bootstrap GKE nodes with DaemonSets
    • Update Kubernetes node labels and taints for node pools
    • Use nested VMs with GKE Standard clusters
  • Set up clusters for multi-tenancy
    • About cluster multi-tenancy
    • Plan a multi-tenant environment
    • Prepare GKE clusters for third-party tenants
    • Set up multi-tenant logging
  • Use fleets to simplify multi-cluster management
    • About fleets
    • Create fleets
  • Enhance scalability for clusters
    • About GKE scalability
    • Plan for scalability
    • Plan for large GKE clusters
    • Plan for large workloads
    • About capacity buffers
    • Configure capacity buffers
    • Provision extra compute capacity for rapid Pod scaling
    • Consume reserved zonal resources
    • About quicker workload startup with fast-starting nodes
  • Reduce and optimize costs
  • Design and configure GKE clusters for cost optimization
  • Configure autoscaling for workloads
    • Scaling deployed applications
    • Autoscale workloads horizontally
      • About horizontal Pod autoscaling
      • Autoscale deployments using horizontal Pod autoscaling
      • Collect horizontal Pod autoscaler event logs
      • About autoscaling workloads based on metrics
      • Expose custom metrics
      • Configure autoscaling for LLM workloads on GPUs
      • Configure autoscaling for LLM workloads on TPUs
      • Scale to zero using KEDA
    • Autoscale workloads vertically
      • About vertical Pod autoscaling
      • Scale container resource requests and limits
      • Collect vertical Pod autoscaler event logs
      • Configure multidimensional Pod autoscaling
      • Accelerate application startup using CPU startup boost
  • Configure autoscaling for infrastructure
    • About cluster autoscaling
    • Configure cluster autoscaling
    • View cluster autoscaling events
    • About node pool auto-creation
    • Configure node pool auto-creation
    • Configure granular resource limits
  • Run fault-tolerant workloads at lower costs
    • Use Spot Pods on Autopilot clusters
    • Use Spot VMs to run workloads on GKE Standard clusters
    • Use preemptible VMs to run workloads
  • View GKE costs
    • View cluster costs breakdown
    • View cost-related optimization metrics
  • Optimize GKE costs
    • Right-size your GKE workloads at scale
    • Reduce costs by scaling down GKE clusters during off-peak hours
    • Identify underprovisioned and overprovisioned GKE clusters
    • Identify idle GKE clusters
    • Identify underprovisioned and overprovisioned workloads
  • Provision storage
  • About storage for GKE clusters
  • Use Kubernetes features, primitives, and abstractions for storage
    • Use persistent volumes and dynamic provisioning
    • Use StatefulSets
    • About volume snapshots
    • Use volume expansion
    • Populate volumes with data from Cloud Storage
      • About the GKE Volume Populator
      • Automate data transfer to Hyperdisk ML
  • Block storage
    • Provision and use Persistent Disks
      • Using the Compute Engine Persistent Disk CSI driver
      • Persistent volume attach limits
      • Using pre-existing persistent disks
      • Manually install a CSI driver
      • Using persistent disks with multiple readers (ReadOnlyMany)
      • Persistent disks backed by SSD
      • Regional persistent disks
      • Increase stateful app availability with Stateful HA Operator
    • Provision and use Hyperdisk
      • About Hyperdisk
      • Scale your storage performance using Hyperdisk
      • Optimize storage performance and cost with Hyperdisk Storage Pools
      • Accelerate AI/ML data loading using Hyperdisk ML
    • Provision and use GKE Data Cache
      • Accelerate read performance of stateful workloads with GKE Data Cache
    • Manage your persistent storage
      • Configure a boot disk for node file systems
      • Clone persistent disks
      • Back up and restore Persistent Disk storage using volume snapshots
    • Optimize disk performance
      • About optimizing disk performance
      • Monitor disk performance
  • Local SSD and ephemeral storage
    • About Local SSD storage for GKE
    • Provision Local SSD-backed ephemeral storage
    • Provision Local SSD-backed raw block storage
    • Create a Deployment using an EmptyDir Volume
    • Use dedicated Persistent Disks as ephemeral volumes
  • File storage
    • Provision and use Lustre volumes
      • About Managed Lustre for GKE
      • Create and use a volume backed by Managed Lustre
      • Access existing Managed Lustre instances
      • Expand Managed Lustre volumes
      • Provision Managed Lustre on GKE using XPK
    • Provision and use Filestore
      • About Filestore support for GKE
      • Access Filestore instances
      • Deploy a stateful workload with Filestore
      • About Filestore multishares for GKE
      • Optimize multishares for GKE
      • Back up and restore Filestore storage using volume snapshots
  • Object storage
    • Quickstart: Cloud Storage FUSE CSI driver for GKE
    • About the Cloud Storage FUSE CSI driver for GKE
    • Set up the Cloud Storage FUSE CSI driver
    • Mount Cloud Storage buckets as ephemeral volumes
    • Mount Cloud Storage buckets as persistent volumes
    • Configure the Cloud Storage FUSE CSI driver sidecar container
    • Optimize Cloud Storage FUSE performance
      • Automate performance tuning with performance profiles
      • Manual performance tuning
  • Deploy and manage workloads
  • Deploy Autopilot workloads
    • Plan resource requests for Autopilot workloads
    • About Autopilot workloads in GKE Standard
    • Run Autopilot workloads in Standard clusters
  • Configure node attributes with ComputeClasses
    • About GKE ComputeClasses
    • About built-in ComputeClasses in GKE
    • About custom ComputeClasses
    • Control autoscaled node attributes with custom ComputeClasses
    • Apply ComputeClasses to Pods by default
    • About Balanced and Scale-Out ComputeClasses in Autopilot clusters
    • Choose predefined ComputeClasses for Autopilot Pods
    • Best practices for ComputeClasses
  • Deploy workloads on optimized hardware
    • Minimum CPU platforms for compute-intensive workloads
    • Configure Pod bursting in GKE
    • Analyze CPU performance using the PMU
    • Run high performance computing (HPC) workloads with H4D
    • Best practices for running HPC workloads
  • Deploy workloads that have special security requirements
    • About privileged workload admission in Autopilot mode
    • Create allowlists for privileged workloads in Autopilot mode
    • GKE Autopilot partners
    • Privileged open source workloads in Autopilot mode
    • Restrict privileged Autopilot workloads in organizations
    • Control privileged workload admission in Autopilot mode
    • Troubleshoot privileged Autopilot workloads and allowlists
  • Deploy workloads that require specialized devices
    • About dynamic resource allocation (DRA) in GKE
    • Prepare your GKE infrastructure for DRA
    • Deploy DRA workloads
  • Snapshot and restore workloads with Pod snapshots
    • About Pod snapshots
    • Prepare for Pod snapshots
    • Trigger a Pod snapshot
    • Restore a workload from a Pod snapshot
    • Troubleshoot Pod snapshots
  • Migrate workloads
    • Identify Standard clusters to migrate to Autopilot
    • Prepare to migrate to Autopilot clusters from Standard clusters
  • Manage workloads
    • Place GKE Pods in specific zones
    • Simulate zone failure
    • Improve workload efficiency using NCCL Fast Socket
    • About container image digests
    • Using container image digests in Kubernetes manifests
    • Improve workload initialization speed
      • Use streaming container images
      • Use secondary boot disks to preload data or container images
    • Isolate your workloads using namespaces
  • Continuous integration and delivery
    • Plan for continuous integration and delivery
    • Create a CI/CD pipeline with Azure Pipelines
    • GitOps-style continuous delivery with Cloud Build
    • Modern CI/CD with GKE
      • A software delivery framework
      • Build a CI/CD system
      • Apply the developer workflow
  • Deploy workloads by application types
  • AI/ML workloads
    • AI/ML orchestration on GKE
    • About GKE Hypercluster
  • Databases, caches, and data streaming workloads
    • Data on GKE
    • Plan your database deployments on GKE
    • Managed databases
      • Deploy an app using GKE Autopilot and Spanner
      • Deploy WordPress on GKE with Persistent Disk and Cloud SQL
      • Analyze data on GKE using BigQuery, Cloud Run, and Gemma
    • Kafka
      • Deploy Apache Kafka to GKE using Strimzi
      • Deploy Apache Kafka to GKE using Confluent
    • Redis
      • Create a multi-tier web application with Redis and PHP
      • Deploy a Redis cluster on GKE
      • Deploy Redis to GKE using Redis Enterprise
      • Optimize Redis performance on GKE
    • MySQL
      • Deploy a stateful MySQL cluster
      • Migrate your MySQL data from Persistent Disk to Hyperdisk using snapshots
      • Migrate your MySQL data from Persistent Disk to Hyperdisk using Backup for GKE
      • Optimize MySQL performance on GKE
    • PostgreSQL
      • Deploy a highly-available PostgreSQL database
      • Deploy PostgreSQL to GKE using Zalando
      • Deploy PostgreSQL to GKE using CloudNativePG
    • SQL Server
      • Deploy single instance SQL Server 2017 on GKE
    • Memcached
      • Deploy Memcached on GKE
    • Vector databases
      • Build a RAG chatbot using GKE and Cloud Storage
      • Deploy a Qdrant database on GKE
      • Deploy an Elasticsearch database on GKE
      • Deploy a PostgreSQL vector database on GKE
      • Deploy a Weaviate vector database on GKE
  • Web servers and applications
    • Plan for serving websites
    • Deploy a stateful app
    • Ensure workloads are disruption-ready
    • Deploy a stateless app
    • Allow direct connections to Autopilot Pods using hostPort
    • Run Django
    • Deploy an application from Cloud Marketplace
    • Run full-stack workloads at scale on GKE
    • Deploy a containerized web server app
  • Game Servers
    • Get support for Agones and Game Servers issues
    • Isolate the Agones controller in your GKE cluster
  • Deploy Arm workloads
    • Prepare an Arm workload for deployment to Standard clusters
    • Build multi-arch images for Arm workloads
    • Deploy Autopilot workloads on Arm architecture
    • Migrate x86 application on GKE to multi-arch with Arm
  • Microsoft Windows
    • Deploy a Windows Server application
    • Build Windows Server multi-arch images
    • Deploy ASP.NET apps with Windows Authentication in GKE Windows containers
  • Manage and optimize clusters
  • Manage cluster lifecycle changes to minimize disruption
  • Optimize your usage of GKE with insights and recommendations
  • Manage a GKE cluster
  • Configure a cluster and workload for staging
  • Optimize workload performance
  • Upgrade clusters and node pools
    • About GKE cluster upgrades
    • Plan for cluster upgrades
    • About release channels
    • Use release channels
    • About Autopilot cluster upgrades
    • About Standard cluster upgrades
    • Auto-upgrade nodes
    • Manually upgrade a cluster's control plane or node pools
    • About node upgrade strategies
    • Configure node upgrade strategies
    • About maintenance windows and exclusions
    • Configure maintenance windows and exclusions
    • About rollout sequencing with custom stages
    • Sequence the rollout of cluster upgrades with custom stages
    • About cluster upgrades with rollout sequencing
    • Sequence the rollout of cluster upgrades
    • Control the frequency of disruption from auto-upgrades
  • Get notifications for cluster events
    • About cluster notifications
    • Receive cluster notifications through Pub/Sub
    • Configure cluster to receive email notifications
    • Configure cluster notifications for third-party services
    • Get visibility into cluster upgrades
  • Manage nodes
    • Ensure resources for node upgrades
    • Resize clusters by adding or removing nodes
    • Define compact placement for nodes
    • Migrate nodes to a different machine type
    • Manage host maintenance
      • Understand how to do host maintenance on GKE
      • Monitor maintenance events
      • Perform host maintenance for nodes running training and inference workloads
    • Migrate nodes to Linux cgroupv2
    • Configure writable cgroups for containers
    • Customize containerd configuration
    • Customize node system configuration
    • Configure nodes to use disk space as virtual memory
    • Configure Windows Server nodes to join a domain
    • Simultaneous multi-threading (SMT) for high performance compute
  • Delete clusters
  • Use Kubernetes beta APIs with GKE clusters
  • Ensure control plane stability when using webhooks
  • Use Backup for GKE
  • Monitor
  • Observability for GKE
  • Set up Google Cloud Managed Service for Prometheus
  • Use Managed OpenTelemetry
    • Managed OpenTelemetry overview
    • Deploy Managed OpenTelemetry