Coder Social home page Coder Social logo

trvsmtchll / aviatrix-transit-oci-flex-vm Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 185 KB

This repo builds Aviatrix Transit in OCI, spokes attached each with an OEL Flexible shape test vm in each.

License: Apache License 2.0

HCL 90.75% Shell 9.25%

aviatrix-transit-oci-flex-vm's Introduction

Aviatrix Transit OCI with Flexible Shape Test VMs

Summary

This repo builds Aviatrix Transit in OCI, spokes attached each with an OEL Flexible shape test vm in each. The test VMs will use a public ssh key you define in the terraform.tfvars have port 22 open and be provided public IPs. The test vm object(s) will be generated per spoke review output for public ip's.

BOM

  • 1 Aviatrix Transit in OCI with N Aviatrix spokes defined in terraform.tfvars, i.e. oci_spokes that will be attached to Aviatrix Transit Gateway.

Infrastructure diagram

Compatibility

Terraform version Controller version Terraform provider version
0.13 6.3 2.18

Modules

Module Name Version Description
terraform-aviatrix-modules/oci-transit/aviatrix 3.0.1 This module deploys a VCN with Aviatrix transit gateways.
terraform-aviatrix-modules/oci-spoke/aviatrix 3.0.0 This module deploys a VCN and an Aviatrix spoke gateway in OCI and attaches it to an Aviatrix Transit Gateway
oci-flex-vm N/A Local OCI module to deploy Flex virtual machines
network-security-groups N/A Local OCI module to create NSGs

Variables

The variables are defined in terraform.tfvars.

Note: ha_enabled = false controls whether ha is built for spokes.

instance_size controls the size of all the transit spokes and gateways. Default is StandardVM2.2

Flexible Shapes used for the Test VMs are defined in detail here. In this repo they are defaulted to 1 OCPU / 1 GB memory.

The Flexible shapes are only available in us-ashburn-1, us-phoenix-1, eu-frankfurt-1, uk-london-1

Prerequisites

  • Software version requirements met
  • Aviatrix Controller with Access Account in OCI
  • Sufficient limits in place for OCI region(s) in scope (Compute quotas, etc.)
  • terraform .13 in the user environment terraform -v or use hashicorp/terraform docker image Instructions below.
  • OCI Terraform provider requirements met on your workstation

Workflow

  • Modify terraform.tfvars (i.e. access account name, regions, cidrs, etc.) and save the file.
  • terraform init
  • terraform plan
  • terraform apply --auto-approve

Test command examples

iperf

Replace with the private IP of one of the created test vms - check OCI console for the value. Run the client on one test vm and the server on another test vm.

iperf3 -c 10.21.3.20 -i 2 -t 30 -M 1400 -P 1 -p 5201
iperf3 -s -p 5201

Deploy with hashicorp docker image

1) Pull the 13.6 image

docker pull hashicorp/terraform:0.13.6

2) Init in $PWD with environment variables set

docker run -i -t -v $PWD:$PWD -w $PWD \
--env TF_VAR_username=$TF_VAR_username \
--env TF_VAR_password=$TF_VAR_password \
--env TF_VAR_controller_ip=$TF_VAR_controller_ip \
hashicorp/terraform:0.13.6 init

3) Plan in $PWD with environment variables set

docker run -i -t -v $PWD:$PWD -w $PWD \
--env TF_VAR_username=$TF_VAR_username \
--env TF_VAR_password=$TF_VAR_password \
--env TF_VAR_controller_ip=$TF_VAR_controller_ip \
hashicorp/terraform:0.13.6 plan

4) Apply in $PWD with environment variables set

docker run -i -t -v $PWD:$PWD -w $PWD \
--env TF_VAR_username=$TF_VAR_username \
--env TF_VAR_password=$TF_VAR_password \
--env TF_VAR_controller_ip=$TF_VAR_controller_ip \
hashicorp/terraform:0.13.6 apply --auto-approve

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.