ALL THINGS KUBERNETES

Deploying Apps to Kubernetes Clusters Using Supergiant 2.0.0 Catalogue

Supergiant Control 2.0.0 Beta ships with a built-in “Catalog” that dramatically simplifies deployment of applications in your Kubernetes clusters and managing Helm repositories. Under the hood, SG Catalog pulls Helm charts from the repositories users have added and displays them in filterable lists. Each application contains human-readable installation and usage instructions, metadata and a set of actions. Users can configure a Helm chart using YAML configuration files directly from their browser. Or, they can do a one-click installation of Supergiant-approved charts that do not require any configuration at all. In this tutorial, we’ll demonstrate how to deploy applications from the Catalog, manage them, and add/remove new repositories to/from the Catalog.

Prerequisites

To complete examples in this tutorial you’ll need the following prerequisites.

  • a running Supergiant 2.0.0 Control tool. See our SG control installation guide to learn more.
  • a Supergiant-supported cloud account (e.g AWS or DigitalOcean) linked to Supergiant Control following the steps in the Linking a Cloud Account tutorial.
  • a Kubernetes cluster deployed with Supergiant Control. Read our tutorial to learn how to do this.

Accessing the Catalog

Users can access the SG Catalog in two different ways.

(1) When the cluster provisioning is over, Supergiant takes the user to the Cluster Details Page.  To access the Catalog, you can Click the Add App plus icon at the bottom of the Apps table on this page (see the image below).

Supergiant Control: add app

(2) Alternatively, you can use the Catalog link in the top navigation menu on your Home Page.

Both actions discussed above will lead you to the Supergiant Catalog. In there, you’ll see a list of apps and Helm chart repositories from which they originate. You can shift a current repository by clicking the repository name in at the top right menu on the page. As you see in the image below, we are currently inside the Supergiant repo.

Supergiant Catalog: Inside the repo

Right now, we have two Helm repositories in the Catalog: Supergiant and Stable. Supergiant repo contains Supergiant-approved Helm charts, and the Stable repo includes Kubernetes-curated Helm charts.

The main difference between Supergiant and Stable repos is that Supergiant will be eventually populated with one-click deployable apps fully approved and managed by Supergiant. They won’t require configuration, and the installation will be super easy.

Let’s go to the Stable repo which contains a lot of apps/charts. There, you can filter apps by name. For example, if you type “elast” into the search bar, the filter will select all apps that match “elast” in their title.

Supergiant Catalog: Filtering apps

Let’s deploy Elasticsearch. First, click “View” to go to the Elasticsearch Details page.

Supergiant catalog: Elasticsearch

On this page, you’ll see the:

  • Name of the app
  • Installation instructions
  • Chart info
  • Actions (Configure and Deploy)

Let’s click “Configure” to modify the app’s settings. This action will open the dialogue with the editable YAML configuration for the app. Here, you can set configuration options provided by the app. Common ones include resource requests and limits, ports, storage, etc. You can modify these settings in the configuration file displayed in the Dashboard (see the image below).

Supergiant Catalog: Elasticsearch configuration

Note:  basic knowledge of YAML syntax and Kubernetes manifests are required to do configuration yourself. Soon, Supergiant will provide one-click installation charts that won’t require any configuration.

Once all edits are made, click “Save”, and, if you feel ready for the action, click “Deploy”. The deploy modal with a list of options will show up.

Supergiant Catalog: Deploy Window

In this dialogue, you’ll need to select the cluster to which you want to deploy an app. You should also create a release name and choose the Kubernetes cluster namespace to deploy the app to (the “default” namespace is default).

After this is done, click “Confirm,” and the deployment process will start. In a moment, go back to the “Cluster Details” page and see the new app deployed.

Deleting Apps

Deleting apps in the Supergiant Control is easy as well. To delete the app, select the app you want to delete in the “Apps” table on the “Cluster Details” page and click on the trash can icon you can see in the image below. Then, confirm the deletion.

Supergiant Control: delete apps

Adding a New Repo

You can add as many Helm repositories to the Catalog as you want. To add a new repo, click the “Add” button in the “Add/Remove repo” section on the left of the apps list inside the repository. Clicking the button will open the “Add New Helm Repository” dialog where you should enter the name of the repo and its URL.

Supergiant Catalog: Adding new repo

In this example, we are adding the Kubernetes incubator repository that contains test versions of the Helm charts not yet approved for the /stablerepo. Enter the name of the repo (e.g., “K8s-incubator), its URL (use the URL above), and click “Confirm.” This will add a new “K8s-incubator” repository to the repos list.

Removing the Repo

Removing repos is super easy as well. Select a repo you want to delete and click the “Remove” button in the “Add/Remove repo” section on the left of the Apps list inside that repository.

Supergiant Catalog: Remove Repo

Conclusion

That’s it! You’ve learned how to deploy and manage apps and repositories using Supergiant’s Catalogue. It is a central hub for apps and repositories that can be easily managed using the SG Control UI. Our team is constantly working on increasing the scope of the Supergiant-approved charts with zero configuration. In Supergiant 2.0.0 Beta Control, we’ve already integrated such SG tools such as Analyze and Capacity into the Supergiant repo, so you can easily deploy them and access as Services inside your Kubernetes clusters.