Jump to Content
Developers & Practitioners

Small footprint, big impact: running cloud-connected Kubernetes at the edge

December 14, 2021
Shabir Abdul Samadh

Developer Relations Engineer

In this blog post I describe the ‘Edge’ profile for Anthos on bare metal. I compare this new option against the default profile. I also introduced the recently published “Rolling out clusters on the edge at scale with Anthos on bare metal” guide that walks you through the steps to install Anthos on bare metal on the edge and manage it via a centralized configuration repository using Anthos Config Management

With today's rapidly changing digital-first landscape, companies face complex and diverse challenges which necessitate diverse services and technologies. That diversity includes workloads at the edge; positioned close to where requests for their services originate from, and responses are delivered. Such workloads run on resource-constrained environments, despite being critical to the success of the business. Thus, we want to extend the operational agility provided by Google Cloud to these critical, resource-constrained use cases at the edge.

For example, businesses in the retail sector have stores spread across multiple locations — nationally and internationally. Services specific to the day-to-day operations of these stores — point of sale, inventory management, item locator, employee check-in, etc. — operate in stores (the edge), closer to where the services are provided. They operate on hardware with resource limits that are different to what’s found in data centers. The in-store execution environment is limited to host only what is essential. However, it is critical that these workloads can be managed with the same consistency and agility with which the other applications are maintained. Thus, we want Google Cloud to provide the single pane of management and maintenance to the entire spectrum of workloads that our customers deal with — be it in the cloud, on-prem or at the edge. 

While Anthos addresses the requirement for providing centralized management with increased flexibility and developer agility, different flavors of Anthos, like Anthos on bare metal, let you bring the benefits of Anthos closer to where your workloads live. With Anthos on bare metal, you can bring operational consistency to your bare metal (including edge) workloads. Built on the foundation of Google Kubernetes Engine (GKE), Anthos provides you with the features to have a consolidated approach to managing any type of workload. Thus, the newly introduced edge-profile for Anthos on bare metal extends the potential of Anthos to edge workloads.

  • Anthos Config Management with Policy Controller: Create and enforce consistent configurations and policies across workloads running in different edge locations.

  • Anthos Fleets: Logically group similar workloads to simplify administering and enforcing consistency across various edge locations. 

  • Anthos Service Mesh: Centrally monitor and manage service-to-service traffic between intra-store and inter-store service communication. Gather useful network telemetry across all edge locations.

  • Anthos VM Runtime: Manage VM-based workloads via the same control plane in Anthos that is used to manage container workloads. 

Introducing the edge profile for Anthos on bare metal

Anthos on bare metal introduced an edge profile starting with version 1.8. The edge profile minimizes system resource requirements and is recommended for edge devices with significant resources constraints. The edge profile is available only for standalone clusters. Standalone clusters are self-managing clusters that run workloads. They do not manage other clusters, eliminating the need for running a separate admin cluster in resource-constrained scenarios. The edge profile provides minimal vCPU and RAM resource requirements, excluding any user workload. The Anthos on bare metal edge profile offers:

  • A 75% reduction in CPU requirements to 1 Node x 2 vCPUs from 2 Nodes x 4 vCPUs.

  • A 90% reduction in memory requirements to 1 Node x 4 GB from 2 Nodes x 32 GB for Ubuntu.

The reduced footprint for the edge-profile means that you can get started with onboarding your edge workloads into Anthos immediately. You can install Anthos on bare metal in your low-resourced, existing hardware in your edge locations. You can also install it on off-the-shelf compute nodes — like the IntelNUCs — and have all your edge locations fully functional with central management within hours. 

For details, see the Edge profile for standalone clusters.

Example edge-profile-based deployment guide

In the “Rolling out clusters on the edge at scale with Anthos on bare metal” guide we take you through an example edge deployment. The example is chosen from the retail sector which falls under the “Consumer Edge” category of the Edge Continuum as defined by the Linux Foundation. Through this guide we show you how to install Anthos on bare metal with edge profile enabled on the edge.

https://storage.googleapis.com/gweb-cloudblog-publish/images/edge_continuum.max-1000x1000.png
The Edge Continuum as defined by the Linux foundation

The following diagram shows the architecture of the edge deployment used in the guide. The architecture simulates a retail store environment with a point-of-sale kiosk. Anthos on bare metal is installed in three nodes located at the retail store edge for high availability. The installation here uses the standalone mode of Anthos on bare metal with the edge profile enabled. The Anthos clusters also have Anthos Config Management (ACM) installed. Thus, the clusters running on the edge can be configured and managed via a central git-based root repository. 

https://storage.googleapis.com/gweb-cloudblog-publish/images/anthos_edge_acm.max-1000x1000.png
Architecture of an Anthos on bare metal edge deployment managed by Anthos Config Management (ACM)

In order for you to replicate this edge deployment and experiment with it, we show you the steps to emulate the edge nodes and the retail store infrastructure using Google Compute Engine (GCE) VMs. The guide provides Ansible scripts that create the necessary setup in your Google Cloud Project. The three edge nodes are mapped to GCE VMs. A VxLAN overlay network is created on top of the Google Cloud VPC, to allow layer-2 connectivity between the VMs. We also use an nginx reverse proxy on one of the VMs to do what the retail store network switch does — allowing connectivity into the Anthos on bare metal clusters from the point-of-sale kiosk. Your own browser will act as the point-of-sale kiosk device in this setup.

For this guide we have also implemented a sample point-of-sale application that you will be able to interact with at the end of the tutorial. The following diagram shows the architecture of the point-of-sale application along with its deployment in an Anthos on bare metal cluster on GCE VMs.

https://storage.googleapis.com/gweb-cloudblog-publish/images/pos_arch.max-1700x1700.png
Architecture of the Point of Sale (POS) Application

The guide also shows you how to log into the edge cluster via your Google Cloud Console and monitor various components of it. Finally, we show you how to roll out an update to the point-of-sale application to the edge nodes by updating the deployment configuration in a centrally synced git repository. For this we use Anthos Config Management. By the end of the guide you should have an edge profile Anthos bare metal cluster with the new version of the point-of-sale application running. 

You can find the source code for both the application that makes up the point-of-sale workload and the scripts that set up the bare metal infrastructure in the anthos-edge-usecases GitHub repository. You can use the scripts to replicate this deployment on your own and then customize it for your own requirements.

Go try out this guide and see if you can extend it to create multiple Anthos on bare metal clusters to emulate multiple edge locations. This way we should be able to roll out different versions of the application to different edge locations!

Posted in