- Introduced Aggregator.sol for Chainlink-compatible oracle functionality, including round-based updates and access control. - Added OracleWithCCIP.sol to extend Aggregator with CCIP cross-chain messaging capabilities. - Created .gitmodules to include OpenZeppelin contracts as a submodule. - Developed a comprehensive deployment guide in NEXT_STEPS_COMPLETE_GUIDE.md for Phase 2 and smart contract deployment. - Implemented Vite configuration for the orchestration portal, supporting both Vue and React frameworks. - Added server-side logic for the Multi-Cloud Orchestration Portal, including API endpoints for environment management and monitoring. - Created scripts for resource import and usage validation across non-US regions. - Added tests for CCIP error handling and integration to ensure robust functionality. - Included various new files and directories for the orchestration portal and deployment scripts.
2.9 KiB
2.9 KiB
Validator Node Pool Deployment
Configuration
Validator Nodes
- Count: 2 nodes
- VM Size: Standard_B1ms
- vCPUs: 1 per node (2 total)
- Memory: 2GB RAM per node (4GB total)
- Type: Burstable (B-series)
Resource Summary
- System Pool: 3 × Standard_D2s_v3 (2 vCPUs, 8GB RAM each) = 6 vCPUs
- Validator Pool: 2 × Standard_B1ms (1 vCPU, 2GB RAM each) = 2 vCPUs
- Total: 8 vCPUs (within 10 vCPU limit) ✅
Standard_B1ms Specifications
Compute
- vCPUs: 1
- Memory: 2GB RAM
- Burstable: Yes (CPU credits)
- Cost:
$0.0104/hour ($7.50/month per node)
Storage
- OS Disk: Up to 32GB (Premium SSD)
- Data Disks: Up to 2 disks
- Max IOPS: 1,920 IOPS
Network
- NICs: 2 network interfaces
- Bandwidth: Moderate (up to 200 Mbps)
Why Standard_B1ms for Validators?
Advantages
- Fits Quota: 1 vCPU allows 2 validators within 4 available vCPUs
- Cost Effective: 90% cheaper than Standard_D2s_v3
- Sufficient for Besu: 1 vCPU, 2GB RAM meets minimum requirements
- Burstable: CPU credits for variable workloads
- Scalable: Can upgrade to Standard_B2s or Standard_D2s_v3 later
Considerations
- CPU Credits: B-series uses burst credits, monitor usage
- Performance: May need upgrade for high-volume production
- Memory: 2GB RAM is minimal, may need upgrade for large states
Deployment Status
Before Deployment
- System Nodes: 3 × Standard_D2s_v3 = 6 vCPUs
- Total: 6 vCPUs
After Deployment
- System Nodes: 3 × Standard_D2s_v3 = 6 vCPUs
- Validator Nodes: 2 × Standard_B1ms = 2 vCPUs
- Total: 8 vCPUs (within 10 limit) ✅
Monitoring
Check Validator Nodes
# View node pool status
az aks nodepool show \
--resource-group az-p-we-rg-comp-001 \
--cluster-name az-p-we-aks-main \
--name validators
# View all nodes
kubectl get nodes -o wide
# Check node resources
kubectl top nodes
Monitor CPU Credits (B-series)
# Check Azure Monitor metrics
az monitor metrics list \
--resource /subscriptions/fc08d829-4f14-413d-ab27-ce024425db0b/resourceGroups/az-p-we-rg-comp-001/providers/Microsoft.ContainerService/managedClusters/az-p-we-aks-main \
--metric "Percentage CPU Credits Remaining"
Next Steps
- Deploy Besu Validators: Deploy Besu pods to validator nodes
- Monitor Performance: Check CPU credits and performance
- Scale Up: Upgrade to Standard_B2s if needed
- Deploy Sentries: After quota increase or optimization
Upgrade Path
If Performance is Insufficient
- Option 1: Upgrade to Standard_B2s (2 vCPUs, 4GB RAM)
- Option 2: Upgrade to Standard_D2s_v3 (2 vCPUs, 8GB RAM)
- Option 3: Increase node count (need quota increase)
Cost Comparison
- Standard_B1ms: ~$7.50/month (current)
- Standard_B2s: ~$15/month (2× cost, 2× vCPUs)
- Standard_D2s_v3: ~$70/month (9× cost, 2× vCPUs)