Platform Installation with the Kubefirst CLI
Kubefirst is the name of our command line tool that installs the Kubefirst platform and provides some platform conveniences.
It installs a fully automated platform of open source cloud native tools with a simple init
and create
command.
Prerequisites
AWS Prerequisites
For your AWS cloud resources to provision we have just a couple prerequisites:
-
An AWS account with billing enabled.
-
an established publicly routable hosted zone with dns (docs)
-
you'll need AdministratorAccess to your aws account (docs)
Step 1 - kubefirst init
Then init your local setup providing values for the following flags:
Flag | Description | Example |
---|---|---|
--admin-email | an email address that can be used for certificate renewal alerts and the gitlab root account | yourname@yourcompany.com |
--cloud | we only support aws, gcp coming soon | aws |
--hosted-zone-name | name of the platform's hosted zone domain - this will drive the URLs of your tools (gitlab.yourdomain.com, argocd.yourdomain.com, etc) | yourdomain.com |
--region | name of the aws region in which to place your region specific resources | us-east-1 |
--profile | name of the aws profile the cli should leverage | default |
--cluster-name | name of the cluster name, used to identify resources on cloud provider | your_cluster_name |
--s3-suffix | unique identifier for s3 buckets | you-s3-bucket-name |
--git-provider | specify \"github\" or \"gitlab\" git provider | gitlab |
--aws-nodes-spot | nodes spot on AWS EKS compute nodes | true |
kubefirst init \
--admin-email yourname@yourcompany.com \
--cloud aws \
--hosted-zone-name yourdomain.com \
--region us-east-1 \
--profile default \
--cluster-name your_cluster_name \
--s3-suffix you-s3-bucket-name \
--git-provider gitlab \
--aws-nodes-spot
Using a config file
# config.yaml
config:
admin-email: yourname@yourcompany.com
hosted-zone-name: yourdomain.com
region: us-east-1
profile: default
cluster-name: your_cluster_name
s3-suffix: you-s3-bucket-name
aws-nodes-spot: true
cloud: aws
git-provider: gitlab
kubefirst init -c config.yaml
The init
process produces a directory of utilities, a state file, and some staged platform content that can now be
found at ~/.kubefirst
. Here you can find more details about init
command.
Step 2 - kubefirst cluster create
Now it's time to create the platform, to do so simply run
kubefirst cluster create
What to do next
Continue your journey: