This project aims at creating a Highly scalable K8S cluster by using terraform.
The idea is to follow Infrastructure as code such that it is easy to manage.
In order to maintain cross compatablity between cloud providers terraform is used instead of google deployment manager/AWS cloud formation.
- Google Cloud Account.
- Terraform.
- Google SDK.
- VPC.
- Kubernetes cluster with custom node pool.
- Memorystore.
- Google service account with permissions to create K8S cluster.
- Service account file.
- Run
terraform init
to download required libraries. - Run
terraform plan
which will show what will happen. - Run
terraform apply
and approve te changes by typingyes
when prompted.
- All the variables have default value in order to over ride either use
-var=variablename=value
or export them asTF_VAR_variablename
. As mentioned in the documentation. - Since mostly we will be given service account file with least privileges. Service account creation is not a part of the project. The same can be created with gcloud as per this google community tutorial.