In this first part of the Kubestack tutorial you will:
When scaffolding your platform there are two main decisions to take.
First, what base_domain
and name_prefix
to use.
And second, how many environments to bootstrap.
base_domain
and name_prefix
base_domain
First, you have to select the base_domain
to use for your platform.
It will be part of the fully qualified domain name (FQDN) for each cluster.
For the tutorial we use kubestack.example.com
.
You must replace example.com
with a domain you control.
The base_domain
is a good option to brand your platform.
name_prefix
You also have to choose a name_prefix
for the first cluster.
You can use the name prefix to designate a cluster to a specific type of workload, a single tenant or add some creativity to the names.
Below examples, use gc0
as the name prefix.
Where gc
stands for general compute and 0
is there so you can add gc1
if you outgrow the capacity of a single cluster in a region.
Environments
By default kbst
scaffolds a repository with two environments named ops and apps.
Each environment will be a complete, separate copy of your entire platform and all its components.
The ops environment is internal to the platform team, and is used to preview proposed changes and to validate them before they are promoted to apps. All platform users would run both non-prod and prod application enviroments in the external apps enviroment.
If you prefer non-prod and prod application environments to be separated, the two most common approaches are to:
To have three environments add --environment-names apps-prod,apps,ops
to the example commands below.
Should you want to customize the environment names, order them from mission critial external environment, to internal environment.
Kubestack supports a large number of different platform architectures using different combinations of name prefixes and environments. The platform architecture documentation page explains use-cases and provides examples.
Now, use the CLI to initialize your Terraform code and repository. Select the tab for the cloud you want to start with.
You can easily add more clusters in different regions, on different cloud providers or both later. But for now pick one cloud and let's get started.
Alongside the base domain and name prefix, select a region to use for your fist EKS cluster.
# kbst init eks <base-domain> <name-prefix> <region>kbst init eks kubestack.example.com gc0 eu-west-1
# Change into the starter directorycd kubestack-starter-eks
Let's continue the tutorial and provision the cloud infrastructure.