Skip to content

Cloud Site Examples

Examples for deploying F5 Distributed Cloud sites in AWS and Azure.

AWS VPC Site

Basic AWS VPC Site

Deploy an F5 XC site in an AWS VPC.

aws-vpc-site.yaml:

metadata:
  name: example-aws-site
  namespace: system
spec:
  aws:
    region: us-east-1
  vpc:
    vpc_id: vpc-12345678
  ingress_egress_gw:
    aws_certified_hw: aws-byol-voltmesh
    instance_type: t3.xlarge
  nodes:
    - aws_az_name: us-east-1a
      reserved_inside_subnet:
        existing_subnet_id: subnet-inside-123

Deploy:

# Create cloud credentials first
xcsh cloud_infrastructure create cloud_credentials -f aws-creds.yaml -ns system

# Create site
xcsh cloud_infrastructure create aws_vpc_site -f aws-vpc-site.yaml -ns system

# Check status
xcsh cloud_infrastructure get aws_vpc_site example-aws-site -ns system

AWS Site with Multiple Nodes

multi-az-site.yaml:

metadata:
  name: example-multi-az-site
  namespace: system
spec:
  aws:
    region: us-east-1
  vpc:
    vpc_id: vpc-12345678
  ingress_egress_gw:
    aws_certified_hw: aws-byol-voltmesh
    instance_type: t3.xlarge
  nodes:
    - aws_az_name: us-east-1a
      reserved_inside_subnet:
        existing_subnet_id: subnet-inside-1a
    - aws_az_name: us-east-1b
      reserved_inside_subnet:
        existing_subnet_id: subnet-inside-1b
    - aws_az_name: us-east-1c
      reserved_inside_subnet:
        existing_subnet_id: subnet-inside-1c

Azure VNet Site

Basic Azure VNet Site

Deploy an F5 XC site in an Azure VNet.

azure-vnet-site.yaml:

metadata:
  name: example-azure-site
  namespace: system
spec:
  azure:
    region: eastus
  resource_group: example-resource-group
  vnet:
    vnet_name: example-vnet
  ingress_egress_gw:
    azure_certified_hw: azure-byol-voltmesh
    instance_type: Standard_D3_v2
  nodes:
    - azure_az: "1"
      inside_subnet:
        subnet_name: inside-subnet

Deploy:

# Create cloud credentials
xcsh cloud_infrastructure create cloud_credentials -f azure-creds.yaml -ns system

# Create site
xcsh cloud_infrastructure create azure_vnet_site -f azure-vnet-site.yaml -ns system

Cloud Credentials

AWS Credentials

aws-creds.yaml:

metadata:
  name: example-aws-creds
  namespace: system
spec:
  aws_secret_key:
    access_key: AKIAIOSFODNN7EXAMPLE
    secret_key:
      blindfold_secret_info:
        location: string:///base64-encoded-secret

Azure Credentials

azure-creds.yaml:

metadata:
  name: example-azure-creds
  namespace: system
spec:
  azure_client_secret:
    subscription_id: your-subscription-id
    tenant_id: your-tenant-id
    client_id: your-client-id
    client_secret:
      blindfold_secret_info:
        location: string:///base64-encoded-secret

Site Management Commands

List Sites

# List AWS sites
xcsh cloud_infrastructure list aws_vpc_site -ns system

# List Azure sites
xcsh cloud_infrastructure list azure_vnet_site -ns system

Get Site Details

# Get AWS site
xcsh cloud_infrastructure get aws_vpc_site example-aws-site -ns system -o yaml

# Get Azure site
xcsh cloud_infrastructure get azure_vnet_site example-azure-site -ns system -o yaml

Site Status

# Check site registration status
xcsh sites status site example-aws-site -ns system

Delete Site

# Delete AWS site
xcsh cloud_infrastructure delete aws_vpc_site example-aws-site -ns system

# Delete Azure site
xcsh cloud_infrastructure delete azure_vnet_site example-azure-site -ns system

Troubleshooting

Check Site Status

xcsh cloud_infrastructure get aws_vpc_site example-site -ns system -o json | jq '.status'

List All Cloud Resources

# List all cloud credentials
xcsh cloud_infrastructure list cloud_credentials -ns system

# List all sites
xcsh cloud_infrastructure list aws_vpc_site -ns system
xcsh cloud_infrastructure list azure_vnet_site -ns system

Verbose Output

xcsh cloud_infrastructure get aws_vpc_site example-site -ns system -o json