ALL THINGS KUBERNETES

Supergiant Control 2.1.0 Introduces a New Kubernetes Cluster Import Feature

The Supergiant team is excited to announce the new K8s cluster import feature introduced in Supergiant Control 2.1.0. Users can now import their kubeadm-backed AWS clusters and manage them with the Supergiant (SG) Toolkit.

In this article, we’ll walk you through the process of importing your AWS cluster(s) and describe all requirements and prerequisites you need. Let’s get started!

Tutorial

At this time, the following requirements should be met to successfully import K8s clusters with SG Control:

  • Users should have a kubeadm-backed cluster deployed on AWS. The kube-apiserver  deployed via kubeadm should be accessible from the outside and be able to serve remote requests. To meet these requirements, you can use the following kubeadm command: kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-cert-extra-sans={{ PublicIP }}
  • The cluster import feature currently supports K8s 1.12, 1.13, and 1.14 major releases.
  • Users should have access to the imported cluster’s   kubeconfig  and public/private key pair used to create the cluster instances.

Assuming that all these requirements are met, log in to the SG Control dashboard and go to Clusters -> Import Cluster. This will open the “Import Kubernetes Cluster” dialogue.

Supergiant Control: Importing Clusters

The following fields are required:

  • Cluster Name — select a name for your imported cluster.
  • Cloud Provider — a cloud provider on which your imported cluster is deployed. At this time, only AWS clusters are supported.
  • Region — a region where your imported cluster is deployed.
  • RBAC Enabled —select true  if your cluster has RBAC enabled. Otherwise, choose false .
  • Public SSH Key — a public SSH key to access your cluster. You may need to check ~/.ssh/authorized_keys  on the kube nodes for public keys that are allowed, and match it to a pair you have on your workstation’s ~/.ssh  directory. 
  • Private SSH Key — a private SSH key.
  • Kubeconfig — a JSON-formatted configuration of your cluster. You can get the kubeconfig  data from   ~/.kube/config on the master node in the YAML format and convert it to JSON. If you are importing a cluster created with SG Control, you can get a JSON-formatted configuration on the Cluster Details Page (see the image below). When taking kubeconfig produced by kubeadm, don’t forget to change a private IP address (which goes by default) to public one.

Supergiant Control - importing Kubernetes clusters

After adding these settings, click “Import,” and watch Supergiant go! Supergiant will quickly import your entire AWS cluster, and you’ll be able to manage it with Supergiant Control. All the apps, services,m or any other workloads deployed to this cluster will be accessible from the Control dashboard.

Conclusion

In this short tutorial, you’ve learned how to import your kubeadm-backed AWS clusters to Supergiant Control. We are actively working on making our cluster import feature cluster-agnostic. In the near future, users will be able to deploy any upstream Kubernetes cluster that passes Kubernetes conformance checks, so watch for that!

Subscribe to our newsletter