Deployer is the provisioning tool that aims to be the interface to multiple Kubernetes providers. Currently, it supports GKE and AKS.
-
GKE
-
Install Google Cloud SDK
-
Install Google Cloud SDK beta components by running
gcloud components install beta
-
Make sure that container registry authentication is correctly configured as described here
-
Set
GCLOUD_PROJECT
to the name of the GCloud project you wish to use -
(optional) Set
CLOUDSDK_CONFIG
to a directory which should be used for gcloud SDK if you don't want to have the default one overwritten. -
Run from the project root:
make switch-gke bootstrap-cloud
-
-
AKS
-
Install Azure CLI
-
Set
RESOURCE_GROUP
to the name of the Resource Group you wish to deploy in -
Run from the project root:
make switch-aks bootstrap-cloud
-
make delete-cloud
Deployer uses two config files:
config/plans.yml
- to store defaults/baseline settings for different use cases (different providers, CI/dev)config/deployer-config-*.yml
- to "pick" on of the predefined configs from config/plans.yml and allow overriding settings.
You can adjust many parameters that clusters are deployed with. Exhaustive list is defined in settings.go.
Running make switch-*
(eg. make-switch-gke
) changes the current context. Running make create-default-config
generates config/deployer-config-*.yml
file for the respective provider using environment variables specific to that providers configuration needs. After the file is generated, you can make edit it to suit your needs and run make bootstrap-cloud
to deploy. Currently chosen provider is stored in config/provider
file.
You can run deployer directly (not via Makefile in repo root). For details run:
./deployer help