
Why would anyone want to run GKE on AWS you might ask? Thatโs a fair question and the reasons may vary company to company. Some common use cases may include:
- fault tolerance with an active-active multi-cloud strategy
- use vendor credits while centralizing management
- migrating from one cloud to another with minimal downtime
- leverage existing infra and expertise while improving k8s experience
- faster cluster creation (5โ7 minutes vs EKSโ typical 20+ minutes)
Whatever the reason may be, we will explore how you can deploy Google Kubernetes Engine (GKE) on AWS using Anthos GKE.
This is the first of a 3-part series which will explore Googleโs Anthos GKE:
- Part 1: Preview of Anthos GKE running on AWS
- Part 2: Step-by-step installation instructions
- Part 3: GKE cluster workloads interacting with AWS services
Architecture

Node pools and easy k8s autoscaling onย AWS
Amazonโs own managed Kubernetes service, EKS, lacks many features offered by Googleโs managed service, GKE. Aside from its UI and simplified cluster upgrade operations for control plane and worker nodes, a popular feature is Googleโs autoscaling and node pools. Now you donโt have to compromise.
apiVersion: multicloud.cluster.gke.io/v1
kind: AWSNodePool
metadata:
name: cluster-0-pool-0
spec:
clusterName: cluster-0
version: 1.16.9-gke.12
region: us-east-2
subnetID: subnet-XXXXXXXX
minNodeCount: 3
maxNodeCount: 5
instanceType: t3.medium
keyName: gke-XXXXXXX-keypair
iamInstanceProfile: gke-XXXXXXXX-nodepool
maxPodsPerNode: 100
securityGroupIDs:
- sg-XXXXXXXX
rootVolume:
sizeGiB: 10

Command-line interface (CLI)
Anthos provides a command-line interface (CLI) called anthos-gke that provides similar functionality as the gcloud CLI, but also generates Terraform scripts (will cover in-depth during part 2 of this series). Using the tool you can switch between the control plane and clusters as shown.


Enterprise container management (ECM)
When enterprises traditionally wanted to centralize their Kubernetes cluster administration they would look to ECM vendor solutions like Redhat OpenShift, VMWare Tanzu, Docker Enterprise, or Rancher Labs. Each typically has its own limitations or vendor lock-in, however.

With Googleโs Anthos, you can register any Kubernetes cluster by installing a small gke-connect-agent workload, whether on-prem, in another cloud, or even running on Googleโs infrastructure. This allows you to interact with and monitor any cluster using Google Kubernetes Engine cloud console. Clusters can be self-managed or cloud-managed, and even some of the aforementioned ECM solutions.
Now letโs see it all in actionย โฆ itโs as easy as 1โ2โ3
1. Deploy app to AWS from GCP Cloudย Console
Although most Kubernetes management leverages the kubectl command line tool, or a CI/CD pipeline, you can even deploy workloads to your GKE clusters running on AWS from the GCP console (web UI).


2. Expose app by automatically provisioning ELB
You can optionally expose your workloads and Anthos GKE will automatically provision and configure an AWS ELB instance, making your app publicly accessible.

After you โexposeโ your service, you can leverage GKEโs UI to view details about your service, in this example a LoadBalancer type.

3. Congratulations!
If you revisit the AWS console, you can view the load balancer Anthos GKE has provisioned.

By visiting the endpoint URL in your browser, you can see a successfully-deployed nginx server (this example) to your GKE cluster running on AWS, and exposed it with an ELB in only a few clicks.

Next steps
In the next article, we will explore step-by-step instructions on how to install Anthos GKE on AWS.
Please check back here for a link when itโs available, or optionally follow me to stay informed of my new posts. You may also visit our https://blog.doit.com site to read our various articles.


