Skip to content

Commit b72bdd8

Browse files
Update GKE multi-arch Axion learning path content and structure
- Revise titles and weights for clarity and organization - Enhance descriptions for target audience and learning objectives - Add new background section detailing migration process and benefits
1 parent 4edd700 commit b72bdd8

7 files changed

Lines changed: 61 additions & 17 deletions

File tree

content/learning-paths/servers-and-cloud-computing/gke-multi-arch-axion/_index.md

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,20 @@
11
---
2-
title: From x86 to Arm on GKE - Build, Deploy, and Migrate with Google Axion
3-
4-
draft: true
5-
cascade:
6-
draft: true
2+
title: Migrate x86 workloads to Arm on GKE with Google Axion
73

84
minutes_to_complete: 90
95

10-
who_is_this_for: This is an advanced topic for cloud, platform, and site reliability engineers operating Kubernetes on Google Cloud who need a prescriptive path to build multi-architecture images and migrate services from x86 to Arm using Google Axion processors.
6+
who_is_this_for: This is an advanced topic for cloud, platform, and site reliability engineers who operate Kubernetes on Google Cloud and need to build multi-architecture images and migrate services from x86 to Arm using Google Axion processors.
117

128
learning_objectives:
139
- Prepare Dockerfiles for multi-architecture builds by adding arm64 support
14-
- Create a dual-architecture GKE standard cluster with two node pools, amd64 and arm64
15-
- Build and publish multi-architecture images to Artifact Registry using Docker Buildx without using QEMU to emulate Arm instructions
16-
- Deploy a Kubernetes application amd64 first, then migrate to arm64 using Kustomize overlays and progressive rollout
17-
- Optionally automate builds and rollouts with Cloud Build and Skaffold
10+
- Create a dual-architecture GKE standard cluster with amd64 and arm64 node pools
11+
- Build and publish multi-architecture images to Artifact Registry using Docker Buildx
12+
- Deploy a Kubernetes application on amd64, then migrate to arm64 using Kustomize overlays
13+
- Automate builds and rollouts with Cloud Build and Skaffold
1814

1915
prerequisites:
2016
- A [Google Cloud account](https://console.cloud.google.com/) with billing enabled
21-
- A local Linux or macOS computer or Cloud Shell access with Docker, Kubernetes CLI (kubectl), Google Cloud CLI (gcloud), and Git installed
17+
- A local Linux or macOS computer with Docker, Kubernetes CLI (kubectl), Google Cloud CLI (gcloud), and Git installed, or access to Google Cloud Shell
2218
- Basic familiarity with Docker, Kubernetes, and gcloud
2319

2420
author:
@@ -44,7 +40,7 @@ further_reading:
4440
link: https://cloud.google.com/kubernetes-engine/docs
4541
type: documentation
4642
- resource:
47-
title: Create Arm-based clusters and node pools
43+
title: Create standard clusters and node pools with Arm nodes
4844
link: https://cloud.google.com/kubernetes-engine/docs/how-to/create-arm-clusters-nodes
4945
type: documentation
5046

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
---
2+
# User change
3+
title: "Overview and Environment Setup"
4+
5+
weight: 2 # 1 is first, 2 is second, etc.
6+
7+
# Do not modify these elements
8+
layout: "learningpathall"
9+
---
10+
11+
This Learning Path demonstrates how to migrate a real microservices application from x86 to Arm (amd64 to arm64) on GKE using multi-architecture container images. The sample application is Google's Online Boutique, a polyglot microservices system that mirrors production architectures and ships with Dockerfiles. It's a realistic, real-world scenario, and the migration can be done with no major code changes.
12+
13+
## Why Google Axion processors for GKE?
14+
15+
Google Axion processors bring modern Arm-based compute to GKE, delivering strong price-performance and energy efficiency for cloud-native, scale-out services. With multi-architecture images and mixed node pools, services can migrate from x86 to Arm gradually, with no major code changes.
16+
17+
### What is Google Axion?
18+
19+
[Google Axion](https://cloud.google.com/blog/products/compute/introducing-googles-new-arm-based-cpu) is Google Cloud's Arm-based CPU family built on Arm Neoverse, designed for general-purpose, cloud-native services and CPU-based AI. Typical workloads include web apps and web servers, containerized microservices, open-source databases, in-memory caches, data analytics, media processing, and CPU-based AI inference and data processing. On GKE, Axion powers the C4A and N4A VM families and is paired with Google's Titanium offloads to free CPU cycles for application work.
20+
21+
### Why migrate to Arm on GKE?
22+
23+
There are three factors motivating the move to Google Axion processors:
24+
25+
- **Price-performance:** run more workload per dollar for scale-out services
26+
- **Energy efficiency:** reduce power usage for always-on microservices
27+
- **Compatibility:** containerized apps typically migrate with build/deploy changes, and don't require code rewrites
28+
29+
### About the Online Boutique sample application
30+
31+
[Online Boutique](https://github.com/GoogleCloudPlatform/microservices-demo) is a polyglot microservices storefront, complete with shopping cart, checkout, catalog, ads, and recommendations. It's implemented in Go, Java, Python, .NET, and Node.js, with ready-to-use Dockerfiles and Kubernetes manifests. It's a realistic example for demonstrating an x86 to Arm migration with minimal code changes.
32+
33+
### Multi-architecture on GKE (pragmatic path)
34+
35+
This Learning Path presents a pragmatic migration approach that builds both amd64 and arm64 images using Docker Buildx with a Kubernetes driver, where builds run natively inside BuildKit pods on your GKE node pools without requiring QEMU emulation. You'll add an Arm node pool alongside existing x86 nodes, then use node selectors and affinity rules to control placement and migrate safely, service by service.
36+
37+
### How this Learning Path demonstrates the migration
38+
39+
You'll migrate the Online Boutique application from x86 to Arm using a practical, low-risk approach that leverages multi-architecture container images and mixed node pools. This allows you to validate each service on Arm before fully committing to the migration, ensuring compatibility and performance meet your requirements.
40+
41+
The steps below outline the migration process:
42+
43+
1. Open Google Cloud Shell and set the environment variables.
44+
2. Enable required APIs, create an Artifact Registry repository, and authenticate Docker.
45+
3. Create a GKE Standard cluster with an amd64 node pool and add an arm64 (Axion-based C4A) node pool.
46+
4. Create a Buildx (Kubernetes driver) builder that targets both pools, then build and push multi-architecture images (amd64 and arm64) natively via BuildKit pods.
47+
5. Deploy to amd64 first (Kustomize overlay), validate, then migrate to arm64 (overlay) and verify.
48+
6. Automate builds and rollouts with Cloud Build and Skaffold.

content/learning-paths/servers-and-cloud-computing/gke-multi-arch-axion/cloud-build.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Automate builds and rollout with Cloud Build and Skaffold
3-
weight: 6
3+
weight: 7
44

55
### FIXED, DO NOT MODIFY
66
layout: learningpathall

content/learning-paths/servers-and-cloud-computing/gke-multi-arch-axion/gke-build-push.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Provision a dual-architecture GKE cluster and publish images
3-
weight: 4
3+
weight: 5
44

55
### FIXED, DO NOT MODIFY
66
layout: learningpathall

content/learning-paths/servers-and-cloud-computing/gke-multi-arch-axion/gke-deploy.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Prepare manifests and deploy on GKE
3-
weight: 5
3+
weight: 6
44

55
### FIXED, DO NOT MODIFY
66
layout: learningpathall

content/learning-paths/servers-and-cloud-computing/gke-multi-arch-axion/multi-arch-images.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Create build-ready Dockerfiles for both architectures
3-
weight: 3
3+
weight: 4
44

55
### FIXED, DO NOT MODIFY
66
layout: learningpathall

content/learning-paths/servers-and-cloud-computing/gke-multi-arch-axion/project-setup.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# User change
33
title: "Overview and Environment Setup"
44

5-
weight: 2 # 1 is first, 2 is second, etc.
5+
weight: 3 # 1 is first, 2 is second, etc.
66

77
# Do not modify these elements
88
layout: "learningpathall"

0 commit comments

Comments
 (0)