Introducing kubegrid

The much-anticipated launch of kubegrid has happened! So how do you get started?

Before getting started, you’ll need access to a cloud provider account at AWS, Digital Ocean, Google Cloud Platform, or Microsoft Azure, and credentials for kubegrid to use in order to create and manage your infrastructure. You’ll also need some code that you want to deploy available in a Git repository at Github, Gitlab, or Bitbucket. For the purposes of this demonstration, we’ll use AWS and Github, but things work pretty similarly for the other providers.

Getting Started with kubegrid

First, create an account. Once you’ve done that and are logged in, you’ll be taken to the main page, which looks like this:

kubegrid main page

This page summarizes the state of your account. Since you just created it, everything will be zero. To fix that, let’s get started by clicking the Setup wizard link in the leftShortcuts menu.

This will get you started with the Setup wizard.

Configure Cloud Provider

Setup wizard: Cloud

Here, you’ll need to first select the cloud provider you’d like to use for your first cluster. Once selected, you’ll be prompted to enter additional information: a name for this provider (your information will be saved and can be easily reused for additional clusters), the region in which you’d like your cluster to be created, and credential information. Once you’ve entered this information, click Next: Kubernetes.

Kubernetes Settings

Here, we’ll define the basics of our desired Kubernetes cluster configuration. First, give your cluster a name, which will be used by the kubegrid UI to refer to this cluster. Then, determine the size of the compute nodes for your Kubernetes cluster and the number of Kubernetes worker nodes. The master size must be at least small in order to provide enough resources to successfully run a simple configuration. The number and size of worker nodes, in conjunction with the resources required by your application, will determine the scaling capacity of your cluster.

You can also either enable or disable the Web UI (Dashboard). If enabled, a Kubernetes dashboard will be set up on your cluster, and a link to view the dashboard will be provided once the cluster is live.

When the settings are complete, click Next: Pods.

Pod Specification

The next step is to add application services to your cluster, which will be deployed in Kubernetes Pods. For the moment, services come from your Git repository. Kubegrid will create a container for your cluster, dependent on the application type. In the near future, you’ll also be able to provide your own Dockerfile or include services from Dockerhub.

When you select GIT, you can then choose which provider hosts the repository that contains your service. When you select a provider, you’ll be prompted to provide your credentials and grant access. Then select a repository and branch that contain a service you want to run on this cluster. If not auto-detected, click Select Application to tell kubegrid which application type this service is.

Select application type for this service

Kubegrid will enable a webhook on the repository/branch combination. Going forward, when you commit updates onto this branch, kubegrid will get called and will build and deploy the service onto your cluster, using connection draining to replace the previous version on your cluster.

When all the fields are filled in, click Create Service.

One service defined

At this point, you can add more services to the cluster by clicking Add Another. This will take you back through the same flow that you went through for the first service. Keep adding services until all the services you want to run on your cluster are added. Then click Next: Review & Launch.

Review & Launch

At this point, you’re presented with a screen summarizing the configuration that has been specified using your inputs from the Setup Wizard.

Launch & Review page

The Kubernetes tab shows you the Kubernetes configuration files that will be used to deploy your Kubernetes cluster. The kubegrid tab shows you the settings that define the cluster from the top-level kubegrid configuration.

If you want, you can go back and change things on any previous Setup Wizard screen. Otherwise, click Launch This Configuration.

Next Steps

You cluster will now start building! Check out the next blog post for an introduction to the rest of the kubegrid user interface for managing your cluster.