Repository navigation
Docs 544 GCP Conductor Deployment Guide Draft #1148
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
a117509
51dd7fe
c6ae4c4
5e3c37c
e99246d
afdff3b
5035762
8a5c9e1
0b6730a
d5f3f87
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| <!--- GCP Conductor Deployment Guide - Network Design Reference ---> | ||
|
|
||
| The following IP addressing and naming scheme is used consistently throughout this guide. Substitute your own values when configuring your network. | ||
|
|
||
| | Parameter | Example Value | Description | | ||
| |-----------|--------------|-------------| | ||
| | Deployment Name | `conductor` | VM instance name displayed in GCP and the conductor UI | | ||
| | VPC | `conductor-vpc` | Global private network in GCP | | ||
| | Subnet | `conductor-subnet` | Regional segment within the VPC (`192.168.1.0/24`) | | ||
| | Internal IP | `192.168.1.2` | Conductor `nic0` private IP address assigned by GCP | | ||
| | External IP | `35.X.X.X` | Conductor `nic0` public IP address assigned by GCP | | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. nic0 --> ge-0-0 |
||
| | Authority Name | `Authority128` | Organizational authority name | | ||
| | Conductor Node Name | `node0` | Conductor node name | | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,58 @@ | ||
| --- | ||
| title: Appendix - GCP Conductor Configuration | ||
| sidebar_label: Appendix - GCP Conductor Configuration | ||
| --- | ||
|
|
||
| This appendix contains the complete Terraform variable reference for the GCP conductor deployment described in this guide. Use it when creating the `ssr-variables.tfvars` file in [Step 2 — Create the GCP VM](deploy_gcp_conductor_install.mdx#deploy-a-gcp-conductor-vm-using-the-command-line-interface). | ||
|
|
||
| ## Deployment Parameters | ||
|
|
||
| The following table describes all supported Terraform variables for the BYOL conductor deployment in GCP. Variables marked **Required** must be present in `ssr-variables.tfvars`. All others are optional and fall back to defaults when omitted. | ||
|
|
||
| | GCP Marketplace Name | Terraform Variable | Required | Description | | ||
| |----------------------|--------------------|----------|-------------| | ||
| | Deployment Name | `goog_cm_deployment_name` | Yes | Name of the conductor VM instance displayed in GCP and the conductor UI. | | ||
| | Machine Type | `machine_type` | Yes | GCP machine type for the conductor VM (for example, `c2-standard-4`). | | ||
| | Region | `region` | Yes | GCP region where the conductor VM is deployed. | | ||
| | Zone | `zone` | Yes | GCP zone within the selected region. | | ||
| | Boot Disk Size | `boot_disk_size` | Yes | Boot disk size in GB. Minimum `60` is recommended. | | ||
| | SSR Mode | `ssr_mode` | Yes | Set to `conductor` for a conductor deployment. | | ||
| | SSR Version | `ssr_version` | Yes | SSR software version to install on the conductor (for example, `7.1.4`). | | ||
| | Artifactory Username | `artifactory_user` | Yes | Username for Juniper BYOL repository access. | | ||
| | Artifactory Token | `artifactory_token` | Yes | Token or password for Juniper BYOL repository access. | | ||
| | SSH Public Key | `ssh_public_key` | Yes | Public SSH key added for administrator access to the conductor VM. | | ||
| | Admin Allowed CIDR | `admin_allowed_cidr` | Yes | Source CIDR range allowed for SSH and HTTPS administration access. | | ||
| | Control Interface Network | `control_nic_network` | Yes | List containing the VPC network name for the conductor control interface. | | ||
| | Control Interface Subnet | `control_nic_subnet` | Yes | List containing the subnet name for the conductor control interface. | | ||
| | Control Allowed CIDR | `control_nic_allowed_cidr` | Yes | Source CIDR range allowed to reach the conductor on ports 930, 4505, and 4506. | | ||
|
|
||
| ## Sample `ssr-variables.tfvars` | ||
|
|
||
| The following sample file reflects the network design used in this guide. Replace each value with your own before running `terraform apply`. | ||
|
|
||
| ```text | ||
| goog_cm_deployment_name = "conductor" | ||
| machine_type = "c2-standard-4" | ||
| region = "us-west2" | ||
| zone = "us-west2-a" | ||
| boot_disk_size = "60" | ||
| ssr_mode = "conductor" | ||
| ssr_version = "7.1.4" | ||
| artifactory_user = "<your-artifactory-username>" | ||
| artifactory_token = "<your-artifactory-token>" | ||
| ssh_public_key = "<your-ssh-public-key>" | ||
| admin_allowed_cidr = "0.0.0.0/0" | ||
| control_nic_network = ["conductor-vpc"] | ||
| control_nic_subnet = ["conductor-subnet"] | ||
| control_nic_allowed_cidr = "0.0.0.0/0" | ||
| ``` | ||
|
|
||
| :::caution | ||
| Replace `admin_allowed_cidr` and `control_nic_allowed_cidr` with appropriately restricted CIDR ranges for your environment before deploying to production. Using `0.0.0.0/0` permits access from any source address. | ||
| ::: | ||
|
|
||
| ## Related Documentation | ||
|
|
||
| - [Step 2 — Deploy via GCP Marketplace](deploy_gcp_conductor_install.mdx) | ||
| - [Installing a BYOL Conductor-managed Router in GCP](intro_installation_byol_gcp_conductor.md) | ||
| - [System Requirements](intro_system_reqs.md) |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,79 @@ | ||
| --- | ||
| title: GCP Conductor Deployment Overview | ||
| sidebar_label: Overview | ||
| --- | ||
|
|
||
| This guide walks a network engineer through deploying a **standalone SSR Conductor in Google Cloud Platform (GCP)** using the GCP Marketplace. You can choose between two deployment methods: a graphical user interface or a command-line (Terraform) workflow. When you complete the steps in this guide, the conductor will be running SSR 7.1.4, configured with an authority name and conductor address, and ready for SSR routers to onboard. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Rephrase to |
||
|
|
||
| ## Guide Topics | ||
|
|
||
| | Step | Topic | Description | | ||
| |------|-------|-------------| | ||
| | 1 | [Configure the GCP Prerequisites](deploy_gcp_conductor_prereqs.mdx) | Create the required VPCs, SSH public/private key pair, and the GCP service account used for deployment. | | ||
| | 2 | [Create the GCP VM](deploy_gcp_conductor_install.mdx) | Launch the conductor VM using the GCP GUI or CLI (Terraform). | | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Launch the conductor VM using the GCP GUI |
||
| | 3 | [Configure the Conductor](deploy_gcp_conductor_config.mdx) | Set the authority name, conductor address, and assign the asset ID. | | ||
| | — | [Appendix — GCP Conductor Configuration](deploy_appendix_gcp_conductor.mdx) | Complete Terraform variable reference for the GCP conductor deployment. | | ||
|
|
||
| ## Network Topology | ||
|
|
||
| The diagram below shows the logical network of the GCP conductor deployed in this guide. | ||
|
|
||
| ```mermaid | ||
| graph TD | ||
| Internet((Internet)) | ||
| Admin["Administrator\n(SSH / HTTPS)"] | ||
| subgraph GCP["GCP Project"] | ||
| subgraph VPC["conductor-vpc"] | ||
| subgraph Subnet["conductor-subnet\n192.168.1.0/24"] | ||
| ConductorVM["SSR Conductor VM\nconductor\nnic0: 192.168.1.2 internal\nnic0: 35.X.X.X external"] | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. nic0 --> ge-0-0 |
||
| end | ||
| end | ||
| end | ||
| SSRRouters["SSR Routers\nbranch sites"] | ||
|
|
||
| Internet <-->|"Internet"| ConductorVM | ||
| Admin -->|"HTTPS / SSH"| ConductorVM | ||
| SSRRouters <-->|"Port 930 / 4505 / 4506\nrouter-to-conductor"| ConductorVM | ||
| ``` | ||
|
|
||
| ## Roles | ||
|
|
||
| | Device | Type | Role | | ||
| |--------|------|------| | ||
| | `conductor` | GCP VM (Marketplace) | Standalone SSR Conductor — centralized management and provisioning | | ||
|
|
||
| ## Prerequisites | ||
|
|
||
| Before beginning, ensure the following are available: | ||
|
|
||
| - **GCP access** — access to a GCP project with permissions to create VPC networks, subnets, VM instances, and service accounts. | ||
| - **Juniper software access credentials** — Artifactory username and token for software downloads and provisioning. | ||
| - **SSH key pair** — an RSA key pair for authenticating to the conductor VM. Steps to create one are in [Step 1 — Configure the GCP Prerequisites](deploy_gcp_conductor_prereqs.mdx). | ||
|
|
||
| ## Instance Size | ||
|
|
||
| Select a GCP machine type that meets your network scale requirements. The following instance types are supported for virtual SSR in GCP. | ||
|
|
||
| | GCP Machine Type | Max vNICs | vCPU Cores | Memory | | ||
| |------------------|-----------|-----------|--------| | ||
| | `c2-standard-4` | 4 | 4 | 16 GB | | ||
| | `c2-standard-8` | 8 | 8 | 32 GB | | ||
| | `c2-standard-16` | 10 | 16 | 64 GB | | ||
| | `c2-standard-30` | 10 | 30 | 120 GB | | ||
|
|
||
| For additional guidance, see [System Requirements](intro_system_reqs.md) and the [GCP machine type documentation](https://cloud.google.com/compute/docs/compute-optimized-machines#c2_machine_types). | ||
|
|
||
| ## Software Version Requirements | ||
|
|
||
| This guide installs **SSR 7.1.4** on the conductor. | ||
|
|
||
| :::note | ||
| The router software version must be lower than or equal to the conductor software version. | ||
| ::: | ||
|
|
||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Add this note from conductor guide |
||
| ## Related Documentation | ||
|
|
||
| - [Installing a BYOL Conductor-managed Router in GCP](intro_installation_byol_gcp_conductor.md) | ||
| - [System Requirements](intro_system_reqs.md) | ||
| - [Conductor Deployment Best Practices](bcp_conductor_deployment.md) | ||
| - [Onboard an SSR Device to a Conductor](onboard_ssr_to_conductor.md) | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,105 @@ | ||
| --- | ||
| title: "Step 3: Configure the Conductor" | ||
| sidebar_label: "Configure the Conductor" | ||
| --- | ||
| import NetworkDesign from './_deploy_gcp_conductor_network_design.md'; | ||
|
|
||
| This step accesses the conductor web GUI and configures the authority name, conductor address, and asset ID. All steps are performed from a browser unless otherwise noted. | ||
|
|
||
| ## Network Design Reference | ||
|
|
||
| <NetworkDesign/> | ||
|
|
||
| ## 1. Access the Conductor GUI | ||
|
|
||
| 1. In the GCP console, search for **Compute Engine** in the search bar and click the top result. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do we really need a step telling how to use the search bar? IMO this section should either use the IP from the template output or simplify to |
||
|
|
||
|  | ||
|
|
||
| 2. Navigate to **VM instances** and copy the **External IP** of the conductor VM. | ||
|
|
||
|  | ||
|
|
||
| 3. In a browser, navigate to: | ||
|
|
||
| ``` | ||
| https://<conductor-external-ip> | ||
| ``` | ||
|
|
||
| 4. On the conductor login page, enter the default credentials: | ||
|
|
||
| | Field | Value | | ||
| |-------|-------| | ||
| | Username | `admin` | | ||
| | Password | `128Tadmin` | | ||
|
|
||
| :::important | ||
| Change the default password immediately after your first login. This **must** be changed. The new password has the following minimum requirements: A minimum of 9 characters; Contain 1 upper case letter, 1 lower case letter, and 1 number. | ||
| ::: | ||
|
|
||
| ## 2. Set the Authority Name | ||
|
|
||
| The authority name identifies your organization within the SSR configuration model. It applies globally to all routers managed by this conductor and cannot be changed after routers have been provisioned without re-onboarding them. | ||
|
|
||
| 1. In the left menu, click **Authority** under **Configuration**. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. In the left menu, under Configuration click Authority |
||
|
|
||
| 2. Click **Authority**. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Click the Authority block? IDK how to refer to that, but something to specify which authority... There are 4 different ones in the ss |
||
|
|
||
|  | ||
|
|
||
| 3. In the **Basic Information** section, update the **Name** field to your organization's name. This guide uses the default value `Authority128`. | ||
|
|
||
|  | ||
|
|
||
| ## 3. Add the Conductor Address | ||
|
|
||
| The conductor address is the IP address that managed routers use to reach this conductor. Use the conductor VM's external IP address. | ||
|
|
||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Add the similar note from azure doc |
||
| 1. Scroll down to the **Conductor Addresses** section, click **Add**. | ||
|
|
||
|  | ||
|
|
||
| 2. In the **New Conductor Address** window, enter the conductor VM's external IP address and click **Save**. | ||
|
|
||
|  | ||
|
|
||
| 3. In the top-right corner, click **Validate** and then **Commit**. In the confirmation window, click **Proceed Commit**. | ||
|
|
||
|  | ||
|
|
||
| ## 4. Assign the Asset ID and Confirm the Role | ||
|
|
||
| 1. In the left menu, click **Authority** under **Configuration**, then click **conductor** under **Routers**. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Use the navigation from azure conductor guide. It is easier to follow
|
||
|
|
||
|  | ||
|
|
||
| 2. In the **Nodes** section, click **node0**. | ||
|
|
||
|  | ||
|
|
||
| 3. In the **Basic Information** section: | ||
| - In the **Associated Asset ID** field, select the conductor VM name. | ||
| - Verify that the **Role** field shows `conductor`. | ||
|
|
||
|  | ||
|
|
||
| 4. In the top-right corner, click **Validate** and then **Commit**. In the confirmation window, click **Proceed Commit**. | ||
|
|
||
| ## What Was Configured | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Azure doc continues with corp tenant and other things. Should this one too? |
||
|
|
||
| At the end of this step your authority contains: | ||
|
|
||
| | Object | Name | Value | | ||
| |--------|------|-------| | ||
| | Authority | `Authority128` | | | ||
| | Conductor Address | | `35.X.X.X` (external IP) | | ||
| | Node Asset ID | `node0` | Linked to conductor VM | | ||
| | Node Role | `node0` | `conductor` | | ||
|
|
||
| The conductor is now fully deployed and ready to onboard SSR routers. | ||
|
|
||
| ## Related Topics | ||
|
|
||
| - [Onboard an SSR Device to a Conductor](onboard_ssr_to_conductor.md) | ||
| - [Conductor Deployment Best Practices](bcp_conductor_deployment.md) | ||
| - [Appendix — Deployment Parameters](deploy_appendix_gcp_conductor.mdx) | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lets standardize all this stuff across the guides
ssr-conductor-vpc
ssr-conductor-subnet
10.0.0.x ips
etc