Prerequisites
Before you begin, make sure you have:- An Azure account
- Access to the Azure Portal
Configure Your Environment
- Go to the Environments tab in the Ryvn Dashboard
- Click Create Environment in the top-right corner
- Give your environment a name (e.g. production)
- Select a release channel (e.g. production)
Release channels link services to environments. When you push code changes, services publish releases to release channels. Environments subscribed to those channels automatically deploy new releases.
- Click Create Environment
Provisioning Steps
- From your environment in the Ryvn Dashboard, click View Environment
- Click Self Setup
- Click Start Provisioning
- Select Azure as your cloud provider
- Fill out the form with your Azure credentials
- Click Continue
- Click Create Permissions
- Follow the Azure-specific instructions shown in the dashboard
- Return to Ryvn and wait for provisioning to complete
The provisioning process is automated and typically takes 15-20 minutes. Ryvn will set up all necessary Azure
resources including networking, security, and compute infrastructure.
AKS Node Pool Configuration
Ryvn uses Azure Kubernetes Service (AKS) to provide scalable compute resources for your applications. You can configure node pools through theaks_node_pools section in your YAML configuration.
Default Node Pools
Ryvn automatically creates two node pools by default:- application: For running your application workloads
- system: For running system components and infrastructure services
Available Configuration Options
The following configuration options are available for each node pool:Basic Configuration
| Option | Type | Default | Description |
|---|---|---|---|
vm_size | string | "Standard_D2als_v6" (app), "Standard_D2as_v6" (system) | Azure VM size for the node pool |
node_count | number | 2 (app), 1 (system) | Initial number of nodes in the pool |
min_count | number | 2 (app), 1 (system) | Minimum number of nodes in the pool |
max_count | number | 4 (app), 3 (system) | Maximum number of nodes in the pool |
os_disk_size_gb | number | 50 | Size of the OS disk in GB |
os_sku | string | "Ubuntu" | Node OS: Ubuntu, AzureLinux, Windows2019, or Windows2022 |
Advanced Configuration
| Option | Type | Description |
|---|---|---|
labels | map(string) | Kubernetes labels to apply to nodes |
taints | list(string) | Kubernetes taints to apply to nodes (format: key=value:effect). Only supported on non-system pools |
Configuration Examples
Basic Node Pool Configuration
Advanced Node Pool with Custom Labels
Node Pool with GPU Support
Custom Node Pools
You can create additional node pools beyond the defaultapplication and system pools:
VM Size Recommendations
Azure offers various VM sizes optimized for different workloads:General Purpose
- Standard_D2als_v6: 2 vCPUs, 8 GB RAM (default for application nodes)
- Standard_D4als_v6: 4 vCPUs, 16 GB RAM
- Standard_D8als_v6: 8 vCPUs, 32 GB RAM
Memory Optimized
- Standard_E4as_v6: 4 vCPUs, 32 GB RAM
- Standard_E8as_v6: 8 vCPUs, 64 GB RAM
Compute Optimized
- Standard_F4as_v6: 4 vCPUs, 8 GB RAM
- Standard_F8as_v6: 8 vCPUs, 16 GB RAM
GPU Enabled
- Standard_NC4as_T4_v3: 4 vCPUs, 28 GB RAM, 1 NVIDIA T4 GPU
- Standard_NC8as_T4_v3: 8 vCPUs, 56 GB RAM, 1 NVIDIA T4 GPU
Advanced Configuration Options
For advanced AKS configurations not covered here, refer to the Azure AKS Terraform module documentation. This upstream module provides comprehensive configuration options for specialized use cases including advanced networking, security, and monitoring configurations.Ryvn automatically adds the label
ryvn.app/node-group-name to all nodes for identification and management purposes.AKS node pools use Virtual Machine Scale Sets (VMSS) for automatic scaling and high availability across availability
zones.