68bbb3ac1b
refactor readme and some cluster; add script for fetch cluster creds |
||
---|---|---|
.gitignore | ||
.pre-commit-config.yaml | ||
.terraform.lock.hcl | ||
README.md | ||
demo-namespace.tf | ||
get-credentials.sh | ||
gke.tf | ||
outputs.tf | ||
providers.tf | ||
variables.tf | ||
versions.tf | ||
vpc.tf |
README.md
How to use repo
- Create
terraform.tfvars
file with a few variables
project = "gcp-project"
region = "europe-west1"
environment_name = "demo"
- Create cluster All commands will be applied via Terraform 1.7.0 and via OpenTofu, the same version.
Here are OpenTofu commands.
tofu init
tofu apply
- Get the credentials for the new cluster (configure kubeconfig)
You can see all useful commands and links in the output:
tofu output
There is a manual command:
gcloud container clusters get-credentials $(tofu output -raw kubernetes_cluster_name) --region $(tofu output -raw zone) --project $(tofu output -raw project)
Or just use ./get-credentials.sh
- Destroy all resources
tofu destroy
Requirements
Name | Version |
---|---|
terraform | ~>1.7.0 |
~>5.27.0 | |
kubernetes | ~>2.29.0 |
Providers
Name | Version |
---|---|
5.27.0 | |
kubernetes | 2.29.0 |
Modules
No modules.
Resources
Name | Type |
---|---|
google_compute_network.vpc | resource |
google_compute_subnetwork.subnet | resource |
google_container_cluster.primary | resource |
google_container_node_pool.primary_nodes | resource |
google_project_service.service_networking | resource |
kubernetes_namespace.demo-cluster | resource |
google_client_config.primary | data source |
Inputs
Name | Description | Type | Default | Required |
---|---|---|---|---|
environment_name | n/a | string |
"demo" |
no |
project | Google Project to create resources in | string |
"demo" |
no |
region | The region to host the cluster in | string |
"us-central1" |
no |
vpc_host_project | Host Project where virtual network exists | string |
"demo" |
no |
zone | The region to host the cluster in | string |
"us-central1-b" |
no |
Outputs
Name | Description |
---|---|
gcloud_gke_get_creds | Command to get GKE credentials |
gcloud_gke_link | GKE web ui link |
gcloud_vpc_link | VPC web ui link |
kubernetes_cluster_host | GKE Cluster Host |
kubernetes_cluster_name | GKE Cluster Name |
project | GCloud Project ID |
region | GCloud Region |
zone | GCloud Project ID |