Version 0.4
- Added availibility set for App
- Azure docker extension added
Version 0.3
- Addec custom_data to install salt-minion
Version 0.2
- Added APP http loadbalancer
- Added Public IP for management host
Version 0.1
- First tested version
unicorn
infra-azure
|— resourcegroup.tf
|— network.tf
|— loadbalancer.tf
|— output.tf
|— security.tf
|— variables.tf
|— vm-app.tf
|— vm-common.tf
|— vm-mgmt.tf
Build a network stack
Create HTTP Loadbalancer for APP
Create security group.
Create VM in MGMT subnet, which server as jump/access control host
Create VMs in APP subnet
Create VMs in Common subnet
subscription_idclient_idclient_secrettenant_id
Here you can define you subscription details to which infrastructure will be provisioned.
Use principal accout to provision Infrastructure in Azure: (https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli?view=azure-cli-latest)
Generate principal account:
az ad sp create-for-rbac --role="Contributor" --scopes="/subscriptions/${SUBSCRIPTION_ID}"
project- default: unicornenv- default: demoresourcegroupname- default: unicornDemoEnvlocation- default: West Europetag_enviroment- default: Unicorn Demo
This are variables which serve as identification or tags for project. They are used to generate names of subnets and VMs. Here you can define also geolocation and resourcegroup name
net_name- default: mgmt, app, commoncidr- default: 100.10.0.0/16newbits- default: 8netnum- default: 0
publisher- default: CentOS-7-x86_64offer- default: UbuntuServersku- default: 16.04.0-LTSversion- default: latestvm_size- default: Standard_D1_v2
This are global settings for all provisioned VMs
mgmt_vm_n- default: 1
app_vm_n- default: 1
common_vm_n- default: 1
