Supergiant Control is the “Mothership” or central hub through which all Supergiant tools can be plugged in and controlled. It manages cloud accounts, provisioning, and lifecycle of clusters on your infrastructure, and it allows deployment of applications via HELM. Its deployment and configuration workflows will help you to get up and running with Kubernetes faster.
In an earlier tutorial, you learned how to link a cloud account to Supergiant Control. Now let’s learn how to provision your first Kubernetes cluster with this Supergiant tool. By the end of this tutorial, you’ll have a working K8s cluster deployed to a cloud account of your choice.
Supergiant provisions a Kubernetes cluster on a cloud account of your choice using cluster configuration, provider configuration, and machines configuration that you provide. Cluster provisioning results in the deployment of a working Kubernetes cluster that you can manage using Supergiant Control, Capacity, and Analyze tools or native Kubernetes tools like kubectl .
You’ll need the following prerequisites to complete examples in this tutorial:
After linking your first cloud account, you’ll be automatically taken to the “Create Kubernetes Cluster” page. If you stopped at this step last time, you are still able to create a new cluster by clicking the “Spin up” button on the Home Page.
Clicking the “Spin Up” button will take you to the “Create Kubernetes Cluster” page. The cluster provisioning process is handled by the Cluster Provisioning Wizard. The entire process from configuring to spinning up your K8s cluster takes five steps (see the image below):
Now, let’s walk you through all these steps focusing on the available configuration options.
The first thing you need to do is to give a name to your cluster and select a cloud account to which to deploy it. A cluster name allows alphanumeric characters and a dash (-), should start with a letter, and must contain no more than 12 characters.
After configuring this, click “Next” to go to Cluster Configuration.
During this step, you can configure cluster-specific options like K8s, Flannel, and Helm versions, etc.
The available cluster configuration options include:
After configuring this, click “Next” to go to the Provider Configuration.
Each cloud provider creates machine instances for your master(s) and nodes (s) with specified security credentials, network settings, etc. The list of these settings differs across cloud providers.
Below we list configuration options for the AWS cloud provider:
After configuring these fields, click “Next.” This will bring you up to Machine configuration.
We are now ready to select machine types for master(s) and node(s) in your Kubernetes cluster.
Configuring each master or node involves several steps:
Supergiant Control lets you add as many nodes you want. You can add more nodes by clicking the “Add more machines” button. If you made a mistake, you can always delete the node/master and begin from scratch. Once you have all your masters and nodes configured, click “Next,” and you’ll be taken to the last step of the Wizard — Cluster Review.
At this stage, you can review all the settings you made and go back to any step if you need to modify them.
In the image above, you can see a settings summary for the Cloud Account, Cluster Configuration, Provider Configuration, and Machine Configuration.
As you see, each machine name follows the following format: Number of Instances X Machine Type (Machine Role). For example, 1 X m5.large (Master) means that we are going to spin up a cluster with one master of the m5.large AWS instance type.
If you are satisfied with this cluster configuration, go ahead and click the “Create” button. This will start the cluster deployment process that has two steps: spinning up the master and creating nodes.
The first stage of the cluster provisioning process is Supergiant Control creating a Kubernetes master(s). This will take some time, depending on the number of masters you specified.
As Supergiant does provisioning, you can click the Checkbox icon to see more details:
The dialogue above displays all tasks that need to be completed to deploy a master. As you see, right now Supergiant is working on networking (the task has the yellow “executing” status). Other tasks such as installing Flannel and creating certificates are awaiting their turn. All completed tasks are marked “Success” in the task execution list, as you see in the image above.
Also, you can track real-time logs by clicking “>-” button in the same dialogue. Each cluster creation task will have its logs displayed. In the log output below, you can see that the master has been successfully spun up and that Supergiant is now configuring SSH.
At each stage of the process, you can click Cancel. This will stop the cluster creation and all infrastructure created up to that moment will be destroyed.
After the master has been deployed, Supergiant will start provisioning nodes.
This will also take some time (depending on the number of machines spun up), so let’s explore the dashboard. As the cluster is being deployed, you can click on the Home link to see its current state.
Here, you can see a big Cluster Icon with a numerical value (1 in our case). This value indicates that it’s the first cluster we created. If we had three clusters deployed, for example, we would have three icons numbered from 1 to 3, indicating the order in which they were deployed.
You can also open a table view of the cluster by clicking “three lines” icon at the top right corner of the screen.
The table displays the cluster state (currently, it is “Provisioning”), cloud account, region, CPU, RAM, Nodes, K8s version, and other settings we specified in the Wizard. You can click on the cluster icon to go back to the previous screen.
Once the cluster is spun up, you’ll be forwarded to the Cluster Details page with the details of the newly created cluster.
At the top of this page, you can see a “Gathering usage data” title. This title indicates that Supergiant is waiting for Prometheus to gather cluster usage data such as CPU and RAM and display it. It may take up to 2-5 minutes for Prometheus to do this, but once it does you’ll see the CPU and RAM usage icons.
This animation allows you to see the percentage of resources used both numerically and graphically. The RAM usage line is filled with the bright blue color to 18.5% of usage, and the CPU usage line is filled with the bright red to indicate 7.6% of CPU usage.
Below this animation, you can see two tables: the Machines Table and the App Table.
The Machines Table shows the list of machines deployed in your cluster. Each machine row has the following cells:
If you have many nodes in your cluster, you can use the “Items per Page” feature to set how many machines to display on one page.
As you see in the image above, Prometheus has successfully populated the CPU and RAM statistics for each machine in the table as well. Please note that the table shows each individual resource (CPU or RAM) usage for each node and master, and the graph above shows the average consumption for the cluster.
Below the Machines Table, you can see the Apps Table. Whenever you add apps, they will show up in this table. Right now, we have Prometheus monitoring agent installed, which is used by Supergiant by default to collect metrics from the cluster.
Each app entry has the following fields:
If you want to delete a cluster, click the Delete icon at the bottom left of the page. You’ll see a Warning dialogue telling that “Deleting the cluster will remove all resources attached to it and may lead to data loss. Are you sure you want to delete it?” Click Cancel or Delete.
Clicking delete will start the deletion process. You will not be able to interact with the cluster once you clicked “Delete.” It will be gone.
In this tutorial, you’ve learned how to create and manage your Kubernetes clusters with Supergiant Control. This tool dramatically simplifies the configuration of a K8s cluster and machines running on it. Supergiant automatically handles the communication with the cloud provider of your choice and installation of all required software (e.g., Docker, K8s binaries). The Control’s interactive dashboard allows users to track the process of cluster creation using logs and execution list and revert the process any moment. Once the cluster is deployed, users are provided with the real-time resource usage statistics and can add new nodes to the cluster.
Learn more about Supergiant toolkit using the following resources: