Getting Started

This documentation describes how to create your first GKS project with a first Kubernetes cluster, how to connect to that cluster, and how to clean up all resources afterwards.

Creating Your First Project

After logging into GKS for the very first time, the following window appears. Since a project is required to create your first Kubernetes cluster, you need to click on Add Project. Add Project

A window opens, where you can name the project. In the example, we use Team Kubernetes. To finish, click on Save Project. (../gett)

Add Project

Now GKS creates your project and adds it to the overview. With a click on the entry Team Kubernetes you enter the project. Project list

This opens a window showing the project. You see a list of all existing clusters and their users, as well as some other controls. At the moment, this list is empty until you create your first managed Kubernetes cluster. Project list

Create Your First Cluster

To create the cluster, click on Create Cluster in the upper right corner. Add Cluster

The first page of the cluster creation procedure opens. Choose the provider openstack.

Add Cluster Step 1.1

Then choose one of the three datacenters. In this example, we pick IX2.

Add Cluster Step 1.2

In the next step, you have to configure the cluster details. In our example, we call our cluster first-system and select the desired Kubernetes version.

Add Cluster Step 2

For occasional SSH access to worker nodes, you can optionally deploy an SSH Key. To add an SSH Key, click on Add SSH key.

Add Cluster Step 2.2

After that add the Public SSH Key and give it a memorable name.

Add Cluster Step 2.2

To allow GKS to request the required resources from OpenStack, add your OpenStack credentials. After that, the content of Project is refreshed automatically, and you can choose the OpenStack project where you want to run the cluster.

Add Cluster Step 3.1 Add Cluster Step 3.2

By adding the credentials and selecting the OpenStack project, you could proceed to the next step. If you do so, a new and dedicated network, subnet, and security group will be automatically created for the cluster.

It is also possible to use an existing network to create the cluster. For this, you have to select the network and the subnet from the dropdown menu, and attach them to a router. You can create a router from the Optimist dashboard or from the OpenStack command line. For details on how to create and attach the router, refer to our OpenStack documentation.

Add Cluster Network

In the next step, you define the number and the kind of virtual machines that will be initially available as worker nodes in the cluster.

First, this so-called Machine Deployment needs a name. For your test cluster you use the random name generator.

Add Cluster Name Generator

Next, specify the Replicas (number of worker nodes in your Kubernetes cluster) and the Flavor (machine type), which defines the amount of CPU and RAM for each worker node.

Add Cluster replica and flavor

Choose Flatcar as the operating system for the worker nodes.

Add Cluster Flatcar

To finish, click on Next. After you verified all settings, click on Create Cluster.

Add Cluster create cluster

Now the cluster is being created. To access the information, return to the cluster view of the project and click your cluster’s name.

Add Cluster select project

This opens a page with all cluster details: Add Cluster Step 4

Accessing Your First cluster

To access the cluster, you need to click on the Get Kubeconfig button in the top right corner.

Add Cluster Step 4

This way you download a file which is called kubeconfig in Kubernetes jargon. This file contains all end points, certificates and other information about the cluster. The kubectl command uses this file to connect to the cluster.

To use kubeconfig, you need to register it on the console. There are two ways to do this:

  1. kubectl by default tries to use the file .kube/config in your home directory
  2. You can temporarily use the kubeconfig by exporting it to the environment variable KUBECONFIG

To keep things straightforward and to avoid changing standards on our system, choose the second method in the example.

For this you need to open a terminal. In the screenshots we use iTerm2 on macOS, but the examples work the same way when using bash on Linux or Windows.

First, you need to find the downloaded kubeconfig file. Browsers like Chrome or Firefox usually store it in the Downloads folder. The name is composed of two parts:

  • kubeconfig-admin-
  • The cluster id.

To register the kubeconfig, use the following command:

cd Downloads
export KUBECONFIG=$(pwd)/kubeconfig-admin-CLUSTERID

Now you can interact with the cluster. The simplest command is: “show all the nodes that comprise my cluster”:

kubectl get nodes

NAME                           STATUS   ROLES    AGE   VERSION
musing-kalam-XXXXXXXXX-ks4xz   Ready    <none>   10m   v1.21.5
musing-kalam-XXXXXXXXX-txc4w   Ready    <none>   10m   v1.21.5
musing-kalam-XXXXXXXXX-vc4g2   Ready    <none>   10m   v1.21.5

Cleanup

To clean up the cluster you created, click Delete in the GKS dashboard:

Add Cluster Delete

This opens a window where you need to enter the cluster name to avoid sudden and unwanted deletions:

Add Cluster Delete

Since we also want to free up the resources, leave both check boxes marked. That way, volumes and load balancers provided by OpenStack will be removed as well.