Skip to content

erkac/f5-terraform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

F5 and Terraform Demo Deployment

Terraform instalation

  1. macOS: # brew install terraform

BIG-IP Preparation

  1. Console
  • Login as root, set the password
  • # config -> set the static IP and Default GW
  • # tmsh modify sys global-settings mgmt-dhcp disabled
  • # tmsh save sys config
  1. WebUI
  • Login as admin, set the new password (or # tmsh modify auth user admin password <password>)
  • License the box (as TF can't license F5, only via BIG-IQ License Manager)

Examples

$ cd ./example1
$ terraform init # initialize the config and download providers
$ terraform plan # build the plan
$ terraform apply # apply the configuration
$ terraform destroy # remove configuration

./example1

  • basic example with variables included directly in the config, please validate the provider configuration before use
  • BIG-IP Configuration includes networking, DNS, NTP, VS and Pool

./example2

  • pretty much the same example as the ./example1, the difference is usage of iApp defined as JSON to configure the VS, Pool and whole App configuration

./example3

  • an ./example1 based demo
  • variables stored in .tfvars file
    • please fill the correct credentials and options into terraform.tfvars
  • besides the BIG-IP, TF will also create a DNS record in Cloudflare
  • as example of linking values for the Cloudflare DNS A Record is used the bigip_ltm_virtual_server.http.destination value

Terraform Notes

Remove Virtual Server Configuration

$ terraform destroy -target=bigip_ltm_virtual_server.http

Remove Pool attachment configuration

$ terraform destroy -target=bigip_ltm_pool_attachment.attach_node

Remove Pool Configuration

$ terraform destroy -target=bigip_ltm_pool.pool

Remove All remaining Configuration

$ terraform destroy

About

F5 demo using Terraform

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages