ALL THINGS KUBERNETES

Deploying Apps to Kubernetes Clusters Using Supergiant App Store

Supergiant Control ships with a built-in App Store that dramatically simplifies deployment of applications in your Kubernetes clusters and managing Helm repositories. Under the hood, SG App Store 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 App Store, manage them, and add/remove new repositories to/from the App Store.

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.
  • An AWS or DigitalOcean cloud account with access to security credentials.
  • You have linked your account of a Supergiant-supported cloud provider (e.g AWS or DigitalOcean) following the steps in the Linking a Cloud Account tutorial.
  • You have a Kubernetes cluster deployed with Supergiant Control. Read our tutorial to learn how to do this.

Accessing the App Store

Users can access the SG App Store in two different ways.

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

Accessing Supergiant App Store

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

Enter Supergiant App Store

Both actions discussed above will lead you to the Supergiant App Store. 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 App Store General

Right now, we have two Helm repositories in the App Store: 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.

Supergiant App Store: Stable Repo

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 App Filtering

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

Supergiant App Store: App View

On this page, you’ll see the:
* Name of the app — Elasticsearch
* 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 App Store: App 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: App Store Modal

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.

Supergiant: Apps Table

Deleting Apps

Deleting apps in the Supergiant App Store is easy as well. To delete the app, select the app you want to delete and click on the trash can icon you can see in the image above. Then, confirm the deletion:

Supergiant App Store: Delete Apps

Adding a New Repo

You can add as many Helm repositories to the App Store as you want. To add a new repo, click a “plus” icon in the repository list at the top right corner of the App Store. Clicking on the icon will open a New Repo dialogue where you should enter the name of the repo and its URL:

Supergiant: Adding a New App Repo

In this example, we are adding the Kubernetes incubator repository that contains test versions of the Helm charts not yet approved for the /stable repo.

Enter the name of the repo (e.g., Test), its URL (use the URL above), and click “Confirm.” This will add a new “Test” repository to the repos list.

Supergiant App Store: Repo Added

 

Removing the Repo

Once you have a repo selected, you can easily delete it by clicking Remove Repo icon at the bottom of the page.

Supergiant: Remove Repos
Conclusion

That’s it! You’ve learned how to deploy and manage apps and repositories using Supergiant’s App Store. App Store is designed as a central hub for apps and repositories that can be easily managed using the SG Control UI. Our team is constantly working to increase the scope of the Supergiant-approved apps that require zero configuration.