- working Azure subscription and tenant (with admin access)
- azure-cli
- terraform
If using Windows, Terraform must be accessible from PATH
- configure azure-cli
az login- select the subscription
az account show
- clone current repo
git clone https://github.com/Cosmo-Tech/terraform-azure.git --branch <tag> cd terraform-azure - deploy
- fill
terraform-cluster/terraform.tfvarsvariables according to your needs - run pre-configured script
ℹ️ comment/uncomment the
terraform applyline at the end to get a plan without deploy anything- Linux
./_run-terraform.sh - Windows
./_run-terraform.ps1
- Linux
- fill
- Error: Get "http://localhost/api/v1/persistentvolumes/pv-name": dial tcp 127.0.0.1:80: connect: connection refused
If the cluster has been deleted, check the state file has also been deleted. If not, delete it.
- modules
- terraform-state-storage
- standalone module intended to facilitate creation of a Storage Account (that will be used to store states of others modules)
- state of this module itselft will not be saved, once created it should never be changed
- manually create a Storage Account called
cosmotechstateswill have the same effect
- terraform-cluster
- cluster = Kubernetes cluster
- dns = pre-configure DNS zones that will be required in next deployments
- network = network management
- nodes = Kubernetes cluster nodes
- rbac = access management
- storage = persistent storage for Kubernetes statefulsets (this module is not used directly here, it's always used in remote modules through its Github URL)
- terraform-state-storage
Made with ❤️ by Cosmo Tech DevOps team