Skip to content

Provisiona Cluster GKE, CloudSQL, Rede, Firewall, VM, na Google Cloud usando Terraform. Usa: Modules, RemoteState, StateLock.

Notifications You must be signed in to change notification settings

Adenilson365/devopslabs01-iac

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Etapa Atual: Refatoração

Terraform Google Cloud Platform (GCP)

  • Cria uma VPC no GCP
  • Cria um cluster do GKE
  • Cria um banco de dados PostgreSQL

Objetivos

  • Praticar Terraform
  • Praticar modulos do Terraform
  • Prover infraestrutura para os Laboratórios de estudos de Kubernetes e DevOps

Como usar

  • Crie o arquivo terraform.tfvars com os valores para as variáveis do variables.tf do main, seguindo o exemplo:
vpc_name = "nome_da_sua_vpc"
  • Crie uma key para sua service account na gcp e salve na raiz com o nome credentials.json

  • crie o arquivo providers como abaixo:

provider "google" {
  project     = "id_projeto_google_cloud"
  credentials = file("./credentials.json")
  region      = "região_onde_serão_criados_resources"
}
  • Crie seu bucket no GCS e crie o arquivo de backend como abaixo:
terraform {
  backend "gcs" {
    bucket      = "nome_seu_bucket"
    prefix      = "terraform/state"
    credentials = "./credentials.json"
  }
}

data "terraform_remote_state" "remote" {
  backend = "gcs"
  config = {
    bucket = "nome_seu_bucket"
    prefix = "prod"

  }
}

Aplicar terraform

  • Antes de aplicar exporte a service_account correspondente
export TF_VAR_gke_service_account = "<serviceAccount>"

#formato: <nome>@<projeto>.iam.gserviceaccount.com
terraform apply -var-file ./env/dev/dev.tfvars
terraform apply -var-file ./env/prod/prod.tfvars
terraform apply -var-file ./env/mgmt/mgmt.tfvars

terraform destroy -var-file ./env/dev/dev.tfvars
terraform destroy -var-file ./env/prod/prod.tfvars
terraform destroy -var-file ./env/mgmt/mgmt.tfvars

About

Provisiona Cluster GKE, CloudSQL, Rede, Firewall, VM, na Google Cloud usando Terraform. Usa: Modules, RemoteState, StateLock.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages