Skip to main content

Terraform Made Simple: Day 2 - Terraform Providers

 Terraform Made Simple: Day 2 - Terraform Providers


Welcome to Day 2! Today it’s time to talk about Terraform Providers. If the terraform {} block is the foundation, Providers are the functional plugins that allow Terraform to communicate with external platforms.


1⃣ What is a Provider?

A Provider is an interface plugin that translates Terraform configuration (HCL) into specific API calls for a target platform: 

➜ It contains the code required to manage resources for a specific cloud or service.

➜ It allows Terraform to interact with hundreds of platforms, including AWS, GCP, Azure, GitHub, and Kubernetes.

➜ It carries out the actions needed to create, update, or delete your infrastructure.


2⃣ Types of Providers:

Providers are categorized based on who maintains and supports them:

➜ Official: Managed and supported directly by HashiCorp.

➜ Verified: Maintained by the platform itself (e.g., AWS or Azure) and verified by HashiCorp.

➜ Community: Open-source options developed and maintained by the broader community.

➜ Unverified/Custom: Built internally by organizations for private or specialized use cases.


3⃣ Declaring and Using Providers:

To use a provider, you must follow a two-step process in your code:


➜ Declare (required_providers): Inside the terraform {} block, you specify the Source (where to download it) and the Version to ensure your code remains stable.


➜ Configure (provider block): In a separate block, you set the global parameters for that provider, such as the region or authentication details required to connect to the platform.


4⃣ Core Jobs:

Providers handle the technical heavy lifting of infrastructure management:

➜ Initialize: When you run terraform init, Terraform downloads and installs the specific provider plugins you defined.

➜ Map: It connects the resource types in your code (like aws_instance) to the actual service on the target platform.

➜ Execute: It translates your commands into action to ensure the cloud environment matches your configuration.


That’s a wrap for Day 2! Tomorrow, we will dive into Variables and how to make your infrastructure code flexible and reusable.


Follow along for the rest of the series! If you missed the start, you can find Day 0  & Day 1 below...




Comments

Popular posts from this blog

Step-by-Step Explanation of Ballooning, Compression & Swapping in VMware

 ðŸ”¹ Step-by-Step Explanation of Ballooning, Compression & Swapping in VMware ⸻ 1️⃣ Memory Ballooning (vmmemctl) Ballooning is the first memory reclamation technique used when ESXi detects memory pressure. ➤ Step-by-Step: How Ballooning Works  1. VMware Tools installs the balloon driver (vmmemctl) inside the guest OS.  2. ESXi detects low free memory on the host.  3. ESXi inflates the balloon in selected VMs.  4. Balloon driver occupies guest memory, making the OS think RAM is full.  5. Guest OS frees idle / unused pages (because it believes memory is needed).  6. ESXi reclaims those freed pages and makes them available to other VMs. Why Ballooning Happens?  • Host free memory is very low.  • ESXi wants the VM to release unused pages before resorting to swapping. Example  • Host memory: 64 GB  • VMs used: 62 GB  • Free: 2 GB → ESXi triggers ballooning  • VM1 (8 GB RAM): Balloon inflates to 2 GB → OS frees 2 GB → ESXi re...

ESXi Host Troubleshooting Checklist

  🛠️ ESXi Host Troubleshooting Checklist (With Complete Log Locations) ✅ 1. Host Status & Connectivity Check host state in vCenter (Connected / Not Responding / Disconnected) Review CPU, RAM, and datastore usage Validate HA/DRS recommendations ✅ 2. Hardware Health Monitor hardware sensors (CPU, DIMMs, fans, PSU, RAID) Check RAID controller logs via vendor tools View hardware status in: vCenter → Monitor → Hardware Health DCUI → Hardware Status ✅ 3. Network Validation Verify vSwitches, Port Groups, NIC teaming, VLAN tagging Check vmkernel ports (mgmt, vMotion, iSCSI, vSAN) Test reachability using: Shell vmkping < IP > Show more lines Validate physical NIC status and link speed ✅ 4. Storage & Datastore Checks Confirm datastore accessibility Rescan storage adapters (iSCSI/FC/NFS) Validate multipathing (Round Robin / Fixed / MRU) Check datastore latency with esxtop ✅ **5. Critical Logs & Their Locations (Full List) Here are key ESXi log files that every VMware adm...
  vCenter Troubleshooting Tips, Common Issues & Log Locations 🚀 1. General Troubleshooting Approach A. Check service health first For vCenter Server Appliance (VCSA): Shell https : / / < vcenter - FQDN > : 5480 Show more lines Go to Services → Health to verify: vCenter Server ESXi hosts vSphere Client DNS, NTP, DB connections vpxd, vpxd-svcs, vsphere-ui B. DNS & NTP checks vCenter is highly dependent on correct DNS & time sync. Check: Shell nslookup < vcenter - fqdn > nslookup < esxi - host - fqdn > Show more lines Time drift > 5 minutes causes: Login failures vpxd crashes PSC authentication issues C. Check storage/database health Slow DB/storage = UI slow, tasks hung. For VCSA: Shell df - h du - sh / storage / log / * / var / log Show more lines Free up space if partitions hit >80%. D. Restart critical services safely On VCSA: Shell service - control - - status service - control - - stop - - all service - control - - start - - all ...