You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/learning-paths/servers-and-cloud-computing/gke-multi-arch-axion/project-setup.md
+2-41Lines changed: 2 additions & 41 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,52 +1,13 @@
1
1
---
2
2
# User change
3
-
title: "Overview and Environment Setup"
3
+
title: "Set up your environment"
4
4
5
5
weight: 3# 1 is first, 2 is second, etc.
6
6
7
7
# Do not modify these elements
8
8
layout: "learningpathall"
9
9
---
10
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.
49
-
50
11
## Get started in Cloud Shell
51
12
52
13
Use [Cloud Shell](https://cloud.google.com/shell/docs/using-cloud-shell) to set variables, enable APIs, create Artifact Registry, authenticate Docker, and clone the sample microservices demo.
@@ -57,7 +18,7 @@ Make sure `kubectl`, `gcloud`, `docker`, and `git` commands are installed.
57
18
You can use your local macOS or Linux computer instead of Cloud Shell. Make sure the required software is installed.
58
19
{{% /notice %}}
59
20
60
-
###Set environment variables
21
+
## Set environment variables
61
22
62
23
Run the following commands in your terminal to set the project, region/zone, cluster, and Artifact Registry variables:
0 commit comments