Greetings!
I’m using terraform to orchestrate my office infrastructure with vSphere cluster. I need your help to understand if i’m doing something incorrect things because im only IT specialist in my company and I have no one to ask about it.
My flow:
- I have one plan to all my infrastructure(50+ vms);
- Plan structure:
- main.tf
- vars.tf(declare all vars)
- creds.auto.tfvars(creds values)
- vm.auto.tfvars(all vm settings are here)
Example of vm setting:
"gw" = {
template = "cent7_template"
host_name = "gw"
domain_name = "contoso.com"
dns_server_list = ["192.168.5.200", "192.168.4.200"]
num_cpus = 2
memory = 2048
interfaces = [
{
ipv4_address = "192.168.5.240"
ipv4_netmask = "24"
network = "VM Network"
}
]
gateway = "192.168.5.251"
- Data sources such template and interfaces are generated from vm’s config and based on vars “template” and “network”.
- Resources are generated in one block with “for_each loops”. I have two types of VMs - windows server 2019 and centos7. All of them are deployed from 2 templates.
After infrastructure is in right condition there are some ansible scripts that are applied on it:
- updates;
- backup plans;
- security management;
- remote resources attaching;
etc
Some questions:
- Is it a normal approach to manage infrastructure today?
- What is a good practice to customise disks on VM,s after the are deployed?
- What can i improve one to manage my infrastructure more effectively?
Thank you for your answers!