A new version of Anthos GKE on AWS was released on May 7. See the release notes for information on breaking changes.

GKE on AWS architecture

Overview

Anthos GKE on AWS (GKE on AWS) is hybrid cloud software that extends Google Kubernetes Engine (GKE) to Amazon Web Services (AWS). With GKE on AWS, you can create, manage, and upgrade GKE clusters in your AWS environment.

GKE on AWS uses regular AWS resources such as Elastic Compute Cloud (EC2), Elastic Block Storage (EBS), and Elastic Load Balancer (ELB).

Architecture

There are two components to Anthos GKE on AWS.

  1. Anthos management cluster, an environment that can install and update your user clusters.
  2. User clusters, GKE clusters where you run your workloads.

This topic describes the purpose and shape of your Anthos management cluster and user clusters.

Architecture of a GKE on AWS installation, showing management cluster and AWSClusters containing a control plane and AWSNodePools

Management cluster

The Anthos management cluster provides and manages components of your GKE on AWS installation. For example, you create Anthos GKE clusters using the management cluster. The management cluster provisions resources with the AWS API.

You need a management cluster in every AWS VPC where you run GKE on AWS. The management cluster is installed in one AWS Availability Zone. You only need one management cluster; a management cluster can manage multiple user clusters.

The primary component of the management cluster is the Cluster Operator. The Cluster Operator is a Kubernetes Operator creates and manages your AWSClusters and AWSNodePools. The Cluster Operator stores configuration in an etcd database with storage persisted on an AWS EBS volume.

Installing and configuring your management cluster

This section describes the tools you can use to manage your management cluster.

Terraform

You use Terraform to create your management cluster. To install GKE on AWS, you should be familiar with how to configure infrastructure with Terraform.

The anthos-gke tool

After installing the management cluster, you manage it with the anthos-gke command-line tool.

Connect

With Connect, you can view and sign in to your GKE on AWS and GKE clusters on Google Cloud from the same interface in Google Cloud Console. All of your resources are shown in a single dashboard, so you can get visibility into your workloads across multiple Kubernetes clusters.

AWSClusters

AWSClusters include two components:

  1. A control plane for your GKE on AWS clusters.
  2. One or more AWSNodePools.

AWSCluster

The default GKE on AWS installation creates an AWSCluster with three control plane replicas in the same availability zones. The management cluster places the control planes in a private subnet behind an AWS Network Load Balancer (NLB). The management cluster interacts with the control plane using NLB.

To create control planes across multiple AWS availability zones, see High availability user clusters.

Each control plane stores configuration in a local etcd database. These databases are replicated and set up in a stacked high availability topology.

One control plane manages one or more AWSNodePools.

AWSNodePool

AWSNodePools function like GKE Node Pools on Google Cloud. A node pool is a group of nodes within a cluster that all have the same configuration. Node pools use a AWSNodePool specification and can contain one or more nodes.

Troubleshooting

You can troubleshoot your GKE on AWS installation by viewing Kubernetes Events from your AWSCluster and AWSNodePools. For more information, see the Troubleshooting guide.