Creating a Kubernetes Cluster

This quickstart will walk you through the process of setting up a Kubernetes cluster with Symbiosis and connecting to kubectl from your command line.

To set-up your own cluster first sign-in to access your team console.

1. Configuration

We begin by navigating to the Add new section under Kubernetes Clusters.

Beside selecting the name and version of your cluster you will also be prompted to configure your node pools.

2. Node Pools

Node pools define groups of nodes that run workloads inside your clusters. A node is in essence a virtual machine that runs a set of Kubernetes services that communicate with your Kubernetes control plane.

If you allocate too few or too small nodes you may risk running out of resources, in order to prevent downtime you can configure autoscaling that will automatically size your cluster up or down as usage fluctuates.

3. Provision

Selecting high-availability (HA) means that Symbiosis will spawn multiple control plane replicas to safeguard against a single control plane being unavailable. We strongly recommend using HA clusters for clusters running critical workloads.

When you have created your cluster you will be redirected to the cluster view. Now it's time to connect to our cluster using standard Kubernetes tooling.

4. Kubectl

kubectl is a command-line tool used to run commands against your Kubernetes cluster. You can use kubectl to deploy applications, inspect and manage cluster resources, view logs and much more.

Instructions on how to install can be found for Windows, OSX and Linux.

5. Creating a user account

In the Symbiosis UI navigate to the User Account tab and create a user account for yourself.

Having a user account lets you download the config file that is used by kubectl and various other tools to connect to your cluster.

6. Installing the kubeconfig file

Click the Download button on your new account.

By default, kubectl looks for a config in ~/.kube/config. Create the .kube directory if it doesn't exist and add the config.

The below command will optionally merge with any pre-existing config and select your new cluster as the default context. Substitute <CONFIG> with the path to the downloaded config file.

mkdir -p ~/.kube && KUBECONFIG=<CONFIG>:~/.kube/config kubectl config view --flatten > ~/.kube/config

7. Verify that everything works

Let's verify to make sure the cluster has been set up correctly.

$ kubectl get nodes
NAME               STATUS   ROLES    AGE   VERSION
general-1-feqtck   Ready    <none>   23h   v1.23.5
general-1-lbgyqx   Ready    <none>   23h   v1.23.5

Voila! You're ready to start using your cluster.

Next steps

If you prefer using a GUI to manage Kubernetes have a look at Lens. For a TUI we are happy users of k9s.

Now that you have a cluster ready you're all set to launch your first container, see Deploying a container.