The repository bootstraps a GKE cluster through Terraform and runs a Knative sink that consumes events from a Kafka producer.
- Terraform
- GCP Cloud SDK
- Kubectl
- Use an existing GCP service account or create a new service account with the following roles:
- Kubernetes Engine Admin
- Storage Admin (used for Terraform GCS backend)
- Service Account User
- Compute Viewer (used for retrieving the client certificate)
- Move JSON credentials to
./account.json
. This will be used for both the creation of the cluster and mutating the shared terraform state - Navigate to the
./terraform
directory - Run
terraform init
- Modify the
dev.auto.tfvars
file - Run
terraform apply
- Run the following:
gcloud container clusters get-credentials <name>-cluster --zone <cluster_location> --project <project_id>