Skip to content

Docs 550 azure hub and spoke deployment guide - #1158

Merged
Chr1st0ph3rTurn3r merged 20 commits into
masterfrom
DOCS-550-Azure-hub-and-spoke-deployment-guide
Oct 16, 2026
Merged

Chr1st0ph3rTurn3r merged 20 commits into
masterfrom
DOCS-550-Azure-hub-and-spoke-deployment-guide

Conversation

@Chr1st0ph3rTurn3r

Copy link
Copy Markdown
Contributor

No description provided.

- `ssr-hub-lan` — hub router LAN subnet.
- `ssr-spoke-wan` — spoke router WAN subnet; must have internet egress.
- `ssr-spoke-lan` — spoke router LAN subnet.
- **Two Azure Availability Sets** — one for the hub VM (`SSR-HubSet`) and one for the spoke VM (`SSR-SpokeSet`), in the same resource group.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not necessarily needed. iirc, the conductor guide didnt use them, probably best to omit here

Comment thread docs/deploy_azure_hub_spoke_hub_vm.mdx Outdated
sidebar_label: "Create the Hub Router VM"
---

This step deploys the BYOL Hub Router VM from the Azure Marketplace. The deployment template creates the VM, attaches it to the hub WAN and LAN subnets, and runs a cloud-init bootstrapper that installs SSR 7.1.4 and configures the node as a conductor-managed router automatically.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This step deploys the BYOL SSR VM from the Azure Marketplace as a Hub Router. The deployment template creates an instance, attaches it to the hub WAN and LAN subnet, installs SSR 7.1.4, ...

Comment thread docs/deploy_azure_hub_spoke_hub_vm.mdx Outdated
Microsoft.Network/virtualNetworks/read
Microsoft.Network/networkInterfaces/read
```
**^ We don't need this ^ do we?**

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes we do

Comment thread docs/deploy_azure_hub_spoke_hub_vm.mdx Outdated
When you deploy the hub router using the BYOL conductor-managed router template, Azure automatically creates:

- A VM using the BYOL Session Smart image from the Marketplace.
- Three network interfaces: management (`ge-0-0`), WAN/public (`ge-0-1`), and LAN/private (`ge-0-2`).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For the sake of the guide, don't use a management interface. There are already a few spots that say we're using mgmt over forwarding (WAN). This line would then say

Two network interfaces: WAN/public (ge-0-0) and LAN/private (ge-0-1)

Comment thread docs/deploy_azure_hub_spoke_hub_vm.mdx Outdated
- A network security group associated with each interface.
- A unique public IP address assigned to the WAN interface.

The management interface (`eth0`) is not used in this guide. Management traffic travels over the WAN forwarding interface instead.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can probably omit this line. referencing eth0 will add confusion

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you want to keep something along these lines

The router template supports an additional management interface. This is not used for this guide. Management traffic travels over the WAN forwarding interface intstead.

Comment thread docs/deploy_azure_hub_spoke_config.mdx Outdated
From the conductor PCLI:

```
[email protected]# show peers

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove? Nothing else uses pcli commands

Replace all placeholder values (shown in angle brackets) with values from your environment before applying:

- `<conductor-public-ip>` — public IP of the conductor VM.
- `<conductor-vmbus-uuid>` — VMBus UUID of the conductor management interface (found using `sudo dpdk-devbind.py --status` on the conductor VM).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found from viewing devicemap.json


- `<conductor-public-ip>` — public IP of the conductor VM.
- `<conductor-vmbus-uuid>` — VMBus UUID of the conductor management interface (found using `sudo dpdk-devbind.py --status` on the conductor VM).
- `<hub-wan-vmbus-uuid>` — VMBus UUID of the hub router WAN NIC (`eth1`).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ge-0-0, ge-0-1 instead of eth1,2

2. Copy the file to the conductor:

```bash
scp azure-hub-spoke.cfg t128@<conductor-public-ip>:/tmp/

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

scp -i ...

3. Log in to the conductor PCLI:

```bash
ssh t128@<conductor-public-ip>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ssh -i ...

- `ssr-spoke-lan` — spoke router LAN subnet.
- **Azure Managed Identity** — with the minimum read permissions listed in [Step 1](deploy_azure_hub_spoke_hub_vm.mdx#requirements).
- **Juniper software access credentials** — Artifactory username and token for SSR software downloads.
- **SSH key pair** — RSA 2048-bit or stronger; the public key is supplied to both deployment templates.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not actually a prerequisite. It can be created in the template

Comment thread docs/deploy_azure_hub_spoke_hub_vm.mdx Outdated
The following infrastructure must exist in your Azure subscription before deploying the hub router:

- The `SSR-VNet` VNet with the `ssr-hub-wan` and `ssr-hub-lan` subnets already created.
- An Availability Set named `SSR-HubSet` in the same resource group and region.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove as the parameter isn't set in the below examples (and not necessary)

Comment thread docs/deploy_azure_hub_spoke_hub_vm.mdx Outdated
- The conductor's public IP address from the [Azure Conductor Deployment Guide](deploy_azure_conductor.mdx).

:::note
A dedicated management subnet is not required. Management traffic travels over the WAN forwarding interface using [Management Traffic over Forwarding Interfaces](config_management_over_forwarding.md).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add "If an OOBM interface is not used, management traffic travels over the WAN forwarding interface using"

Comment thread docs/deploy_azure_hub_spoke_hub_vm.mdx Outdated
When you deploy the hub router using the BYOL conductor-managed router template, Azure automatically creates:

- A VM using the BYOL Session Smart image from the Marketplace.
- Two network interfaces: WAN/public (ge-0-0) and LAN/private (ge-0-1).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit format the ge-0-0 with `

Comment thread docs/deploy_azure_hub_spoke_hub_vm.mdx Outdated

When you deploy the hub router using the BYOL conductor-managed router template, Azure automatically creates:

- A VM using the BYOL Session Smart image from the Marketplace.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A VM using the BYOL Session Smart image from the Marketplace. Running SSR software and a basic configuration.

Or something like that. i.e. just add that SSR is installed and configured and running

Comment thread docs/deploy_azure_hub_spoke_vmbus.mdx Outdated

## Wait for Installation to Complete

The BYOL bootstrapper installs SSR 7.1.4 automatically after each VM is deployed. This process takes approximately **10–15 minutes** after the VM first starts. Both VMs install in parallel, so you do not need to wait for one to finish before checking the other.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The BYOL software installs SSR 7.1.4 automatically...

Comment thread docs/deploy_azure_hub_spoke_vmbus.mdx Outdated

```
journalctl -u 128T-hardware-bootstrapper -f
```

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't like this method as it can be very misleading and adds a lot of confusion. Especially for an easy-to-follow deployment guide. Can we just say this an not include looking at hwb journal?

The installation is complete when the SSR PCLI launches.

Or better yet, simplify this entire section to "The installation is complete when both routers appear in show assets on the conductor

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reading further... Just remove this section and rely on Verify the Routers are Running and Verify the Routers Appear on the Conductor

Comment thread docs/deploy_azure_hub_spoke_vmbus.mdx Outdated

```
# Hub router
ssh -i t128@<hub-router-public-ip>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ssh -i t128@<...>

same below

Comment thread docs/deploy_azure_hub_spoke_vmbus.mdx Outdated
Record your discovered UUIDs using the following table. You will substitute these values throughout [Step 4](deploy_azure_hub_spoke_config.mdx).

| Router | Interface | Role | Subnet | VMBus UUID |
|--------|-----------|------|-----------|

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing a block of dashes which is causing formatting to be screwed up

2. Copy the file to the conductor:

```
scp -i azure-hub-spoke.cfg t128@<conductor-public-ip>:/tmp/

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

scp -i azure-hub-spoke.cfg t128@:/tmp/

@Chr1st0ph3rTurn3r
Chr1st0ph3rTurn3r merged commit 21222be into master Oct 16, 2026
1 check passed
@Chr1st0ph3rTurn3r
Chr1st0ph3rTurn3r deleted the DOCS-550-Azure-hub-and-spoke-deployment-guide branch October 16, 2026 16:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants