GithubHelp home page GithubHelp logo

azcli's Introduction

Azure CLI script samples

This repo contains some samples of Azure CLI scripts to create certain Azure scenarios.

The scripts have been tested using zsh, so they will not work in Windows. Regarding Linux, they will probably work with bash too.

The testing that has gone in each scenario is limited, so please do not expect them to work flawlessly.

It is recommended to open the files in Visual Studio Code with the Azure CLI extension installed (so that you get IntelliSense support for Azure CLI commands), and open a terminal (a WSL one if you are working on a Windows machine) to test the different commands step by step.

To download the scripts you can either clone the whole repo with git clone https://github.com/erjosito/azcli or download specific files with wget "https://raw.githubusercontent.com/erjosito/azcli/master/routeserver_2hubs.azcli" -O <filename>.sh.

azcli's People

Contributors

bcosden avatar erjosito avatar fskelly avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

azcli's Issues

azcli/routeserver-vmss-selfcontained-config.sh bug line 124

Thanks for the great work in the blog, really useful.

It appears the azure json might have changed and this line no longer works as expected

Its privateIPAddress rather than privateIpAddress, e.g.

$ az vmss nic list --vmss-name $nva_name -g $rg --query '[].ipConfigurations[].privateIpAddress' -o tsv
no data

$ az vmss nic list --vmss-name $nva_name -g $rg --query '[].ipConfigurations[].privateIPAddress' -o tsv
10.100.5.5

routeserver_2hubs.azcli: How does the vxlan tunnel establish between the two regions?

Hello, this is a fantastic article, thank you
https://blog.cloudtrooper.net/2021/03/06/route-server-multi-region-design/

One thing though: How does the vxlan tunnel form to get around the routing loop UDR issue?

Example:
hub1 NVA1 is 10.1.1.4
hub2 NVA1 is 10.2.1.4

hub2nva1 is advertising 10.1.0.0/16 via bgp to the route server so the spokes will use hub2nva1 as the "UDR" gateway for hub1 , but the routing loop occurs when hub2nva1 wants to route to 10.1.1.4 and the route table kicks it right back to itself. This I can reproduce, and this I can solve by using a "transit" subnet with a route table where route propogation is disabled and just making "static" UDRs to hub1

You said a more dynamic solution was to encapsulate this in a vxlan tunnel, but your config still shows hub2nva1 establishing the vxlan tunnel and run the 10.1.0.0/16 route "over" the vxlan tunnel. However, to establish the vxlan tunnel in your azcli config, you are still connecting to the private address of 10.1.1.4 to build the tunnel. When I tried this it still got loopbacked because of the route table. If I tell hub2 to stop advertising 10.1.0.0/16, then the tunnel establishes, but the hub2 spoke networks no longer route via hub2nva1 because the route is gone, instead they go via the vnet peering because hub1 is advertising it, but that bypasses the NVA.

What am I missing here? How did you establish the vxlan tunnel to the same address that was a problem with looping to begin with and have the spoke networks still flow "through" the nva on the hub2 side?

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.