Skip to content

Commit

Permalink
fix: Update shoot cluster creation How-To in light of k8s update
Browse files Browse the repository at this point in the history
We explicitly reference Kubernetes 1.27. While at it, we
re-create all screenshots and modify the prose due to minor
UI changes.
  • Loading branch information
colder-is-better committed Jan 8, 2024
1 parent 0755430 commit a458594
Show file tree
Hide file tree
Showing 6 changed files with 24 additions and 15 deletions.
Binary file modified docs/howto/kubernetes/gardener/assets/create-shoot-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/howto/kubernetes/gardener/assets/create-shoot-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/howto/kubernetes/gardener/assets/create-shoot-3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/howto/kubernetes/gardener/assets/gardener_page.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/howto/kubernetes/gardener/assets/shoot_bootstrapping.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
39 changes: 24 additions & 15 deletions docs/howto/kubernetes/gardener/create-shoot-cluster.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,51 +4,60 @@ description: How to spin up a Kubernetes cluster with Gardener
# Creating a Kubernetes cluster

If you want to create a Kubernetes cluster, you can do so via the {{gui}} using {{k8s_management_service}}.
This guide shows you how to do that, and how to deploy a sample application on such a cluster.
This guide shows you how to do that.

## Prerequisites

* If this is your first time using {{brand_container_orchestration}}, you need to [activate the service](index.md) from the {{gui}}.
* To access the Kubernetes cluster from your computer, you will need to [install `kubectl`](https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/) on your machine.
* To access the Kubernetes cluster from your computer, you must [install `kubectl`](https://kubernetes.io/docs/tasks/tools/#kubectl) on your machine.

## Creating a Kubernetes cluster in {{gui}}

To get started, navigate to <https://{{gui_domain}}>, and in the side panel choose *Containers → [{{k8s_management_service}}](https://{{gui_domain}}/containers/gardener)*.
You will see a {{k8s_management_service}} page, in which you can create and manage your clusters. Click *Create Kubernetes cluster*.
To get started, navigate to <https://{{gui_domain}}> and, in the side panel, choose *Containers → [{{k8s_management_service}}](https://{{gui_domain}}/containers/gardener)*.
You will land on a page named *{{k8s_management_service}} / Shoot Clusters*.
There, you can create and manage your {{k8s_management_service}}-based clusters.
In {{k8s_management_service}} terminology, a Kubernetes cluster is referred as a **Shoot** (as in, [new plant growth](https://en.wikipedia.org/wiki/Shoot)).

![{{k8s_management_service}} page in {{gui}}](assets/gardener_page.png)
At the top right-hand side of the central pane, click on *Create Kubernetes cluster*.

In {{k8s_management_service}} terminology, a Kubernetes cluster is referred as a **Shoot** (as in, [new plant growth](https://en.wikipedia.org/wiki/Shoot)).
![{{k8s_management_service}} page in {{gui}}](assets/gardener_page.png)

In the opened form, fill in the name of the new shoot cluster and select a region to see the rest of the options.
A new pane named *Create {{k8s_management_service}} Shoot Cluster* slides over from the right-hand side of the browser.
Type in a name for the new shoot cluster, and select a region.
Also, select the version of Kubernetes the new cluster will be running.
In the example below, we have chosen version 1.27.8, which, at the time of writing, was the latest supported in {{brand}}.

!["Create {{k8s_management_service}} Shoot Cluster" panel showing options to set a cluster name and region, and select a Kubernetes version](assets/create-shoot-1.png)
!["Create {{k8s_management_service}} Shoot Cluster" panel, showing options to type in a cluster name, select region and Kubernetes version](assets/create-shoot-1.png)

In the *Worker Groups* section, create at least one worker group.
Pay attention to the values you set for the following values:
Scroll down a bit until you bring the *Worker Groups* section into full view.
Make sure there is at least one worker group defined.
(By default, you start with one.)
Pay attention to the values you set for the following parameters:

* *Machine Type:* The [flavor](../../../reference/flavors/index.md) your worker nodes will use; this determines the number of CPU cores and RAM allocated to them.
* *Flavor:* The [flavor](../../../reference/flavors/index.md) your worker nodes will use;
this determines the number of CPU cores and the amount of RAM allocated to them.
* *Volume Size:* The amount of local storage allocated to each worker node.
* *Autoscaler Min:* The minimum number of worker nodes to run in the cluster at any time.
* *Autoscaler Max:* The maximum number of worker nodes the cluster automatically scales to, in the event that the current number of nodes cannot handle the deployed workload.
* *Max Surge:* The maximum number of additional nodes to deploy in an autoscaling event.

!["Create {{k8s_management_service}} Shoot Cluster" panel](assets/create-shoot-2.png)

For a test cluster, you can leave all values at their defaults, and click *Create* at the bottom.
For a test cluster, you can leave each parameter at its default value.
Scroll to the bottom of the pane and click the green *Create* button.

!["Create {{k8s_management_service}} Shoot Cluster" panel](assets/create-shoot-3.png)

In the list of clusters, you will see your new {{k8s_management_service}} shoot bootstrapping.
The icon on the left marks the progress.
Creating the cluster can take several minutes.
The animated icon on the left-hand side of the cluster row marks the progress.
Creating the cluster may take several minutes.

![Shoot cluster bootstrapping](assets/shoot_bootstrapping.png)

### A note on quotas

Your {{k8s_management_service}} worker nodes are subject to [quotas](../../../reference/quotas/openstack.md) applicable to your {{brand}} project.
You should make sure that considering your selection of worker node [*flavor*](../../../reference/flavors/index.md) (which determines the number of virtual cores and virtual RAM allocated to each node), the _volume size_, and the _Autoscaler Max_ value, you are not at risk of violating any quota.
It would be best if you kept that in mind when selecting the worker node [*flavor*](../../../reference/flavors/index.md), setting the _volume size_ value, and also the _Autoscaler Max_ value, so you will not be at risk of violating any quota.

For example, if your project is configured with the [default quotas](../../../reference/quotas/openstack.md), and you select the `b.4c16gb` flavor for your worker nodes, your cluster would be able to run with a maximum of 3 worker nodes (since their total memory footprint would be 3×16=48 GiB, just short of the default 50 GiB limit).
A 4th node would push your total memory allocation to 64 GiB, violating your quota.
Expand Down

0 comments on commit a458594

Please sign in to comment.