A Kubernetes Comparison part 3:  Google Kubernetes Engine (GKE)

Introduction

Welcome back to my Kubernetes comparison saga, part 3! Previously, I wrote an article called A Kubernetes Comparison part 2: Amazon AKS about Amazon Azure Kubernetes Services. Today we will be evaluating Google Kubernetes Engine (GKE).

Cloud Provider – GKE

GKE is a Kubernetes service managed by Google. It provides a managed environment for deploying, managing, and scaling containerized applications using Google infrastructure. A GKE environment consists of several machines grouped together to form a cluster. Kubernetes provides the mechanism through which you interact with your cluster.

The Pursuit for Containers

Image Source: Unsplash

ArcGIS Enterprise on Kubernetes uses containers as a deployment option provided by Esri. It leverages Kubernetes, an open-source orchestration platform, to manage and scale the deployment of ArcGIS Enterprise components.

Cloud Provider – GKE

In this series of articles for deployment of ArcGIS Enterprise on Kubernetes, I will create a cluster and deploy ArcGIS Enterprise on Google Kubernetes Engine. We are on Part 3! Azure Kubernetes Services was done in Part 2, article link here.

Creating a Kubernetes Zonal Cluster using the Console

Before you start, make sure you have performed the following tasks:

  • Enable the Google Kubernetes Engine API.
  • If you want to use the Google Cloud CLI for this task, first install and then initialize the gcloud Command Line Interface (CLI).
  • If you are creating a multi-zonal cluster, ensure you have adequate quotas.
  • Ensure you have the correct permission to create clusters. At a minimum, you should be a Kubernetes Engine Cluster Admin.
Image Caption: Created Architect Profile nodes with three deployments.
Image Caption: Cluster Details.

Connect to the Cluster

To connect to a gke-cluster, install kubectl using the Google Cloud CLI or
package manager “apt” or “yum”.

Image Caption: Install kubectl.
Image Caption: Connect with gcloud command.

Image Caption: Generate kubeconfig file for gke-cluster.

Check if Deployed Nodes are running in CLI.

Image Caption: use command $kubectl to verify the nodes.

Create a namespace and provision storageclass.

Image Caption: use $kubectl command to create a namespace & apply the storageclass.

Nodes ready for Kubernetes deployment.

Image Caption: Nodes with summary of CPU & Memory request/allocatable.

Run the script: $ ./deploy.sh

Image Caption: Deploy ArcGIS Enterprise on Kubernetes with Esri script $./deploy.sh.
Image Caption: GCP Load Balancer will be used.
Image Caption: gkespace namespace created in previous step.
Image Caption: summary of deployed resources.
Image Caption: ArcGIS Enterprise Script deployed.

Common deployment error

Omission of “esridocker” as docker repo will cause an “ImagePullBackOff” error. Run ‘kubectl describe pod <pod-name> -n <namespace>

Image Caption: Error due to missing registry repo.

Solution

Image Caption: Use Esridocker as registry source to fix the error.

Undeploy ArcGIS Enterprise on Kubernetes to fix issue.

Image Caption: Undeploy the deployment with $./undeply.sh script to fix the error.

Image Caption: Undeploying ArcGIS Enterprise on Kubernetes.
Image Caption:ArcGIS Enterprise on Kubernetes undeployed.

Redeploy ArcGIS Enterprise on Kubernetes.

Image Caption: Re-deploy ArcGIS Enterprise on Kubernetes.
Image Caption: Summary of deployment with error fixed.

Cause of the first error was fixed.

Image Caption: Deploying pods.
Image Caption: Deployment completed successfully.

ArcGIS Enterprise has successfully deployed on Kubernetes!

We will transition from our deployment phase to Enterprise
Configuration.

ArcGIS Manager Configuration Wizard URL
ArcGIS Manager Configuration Wizard
Architecture profile Configuration Profile -using Dev. profile
Configuration Wizard for the License

After submitting your license, use the wizard to create an Admin account and set storage for the new ArcGIS Enterprise Organization.

That’s a wrap!

Now you know how to create a Kubernetes cluster in Google Cloud and deploy ArcGIS Enterprise Kubernetes in Google Kubernetes Engine!

This was the last of three parts on my deploying ArcGIS Enterprise on Kubernetes on major cloud providers series.

Ready to Accelerate Your Digital Transformation/ArcGIS Enterprise Architecture?

Now, it’s your turn to try ArcGIS Enterprise on Kubernetes. GEO Jobe is here to help you deploy Kubernetes safely and reliably for your organization on any of the public cloud providers including AWS, Azure, and Google. We offer self-managed and managed service cloud deployment! Reach out to our team today via connect@geo-job.com for a free-hour consultation!


Want to read more of our articles? Check out these that may interest you!

Avatar photo

Support Technician, Tier 3

Tonny Segero is a Tier 3 Support Technician at GEO Jobe.