146 lines
3.7 KiB
Markdown
146 lines
3.7 KiB
Markdown
|
|
# VM Deployment - Complete ✅
|
||
|
|
|
||
|
|
**Date**: 2025-12-13
|
||
|
|
**Status**: ✅ **ALL VMs DEPLOYED**
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Deployment Summary
|
||
|
|
|
||
|
|
### ✅ All 25 Production VMs Deployed
|
||
|
|
|
||
|
|
**Total VMs**: 25
|
||
|
|
**Status**: All VM resources created in Kubernetes
|
||
|
|
**Next**: Provider is creating VMs on Proxmox nodes
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Deployment Breakdown
|
||
|
|
|
||
|
|
### ✅ Phase 1: Core Infrastructure (3 VMs)
|
||
|
|
|
||
|
|
| VM | Status | Node | Site |
|
||
|
|
|----|--------|------|------|
|
||
|
|
| nginx-proxy-vm | ✅ Deployed | ml110-01 | site-1 |
|
||
|
|
| phoenix-dns-primary | ✅ Deployed | ml110-01 | site-1 |
|
||
|
|
| cloudflare-tunnel-vm | ✅ Deployed | r630-01 | site-2 |
|
||
|
|
|
||
|
|
### ✅ Phase 2: Phoenix Infrastructure (8 VMs)
|
||
|
|
|
||
|
|
| VM | Status | Node | Site |
|
||
|
|
|----|--------|------|------|
|
||
|
|
| phoenix-git-server | ✅ Deployed | r630-01 | site-2 |
|
||
|
|
| phoenix-email-server | ✅ Deployed | r630-01 | site-2 |
|
||
|
|
| phoenix-devops-runner | ✅ Deployed | r630-01 | site-2 |
|
||
|
|
| phoenix-codespaces-ide | ✅ Deployed | r630-01 | site-2 |
|
||
|
|
| phoenix-as4-gateway | ✅ Deployed | r630-01 | site-2 |
|
||
|
|
| phoenix-business-integration-gateway | ✅ Deployed | r630-01 | site-2 |
|
||
|
|
| phoenix-financial-messaging-gateway | ✅ Deployed | r630-01 | site-2 |
|
||
|
|
| phoenix-dns-primary | ✅ Deployed | ml110-01 | site-1 |
|
||
|
|
|
||
|
|
### ✅ Phase 3: Blockchain Infrastructure (16 VMs)
|
||
|
|
|
||
|
|
| Category | VMs | Status | Node | Site |
|
||
|
|
|----------|-----|--------|------|------|
|
||
|
|
| Validators | 4 | ✅ Deployed | r630-01 | site-2 |
|
||
|
|
| Sentries | 4 | ✅ Deployed | ml110-01 (2), r630-01 (2) | site-1, site-2 |
|
||
|
|
| RPC Nodes | 4 | ✅ Deployed | r630-01 | site-2 |
|
||
|
|
| Services | 4 | ✅ Deployed | r630-01 | site-2 |
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## VM Distribution
|
||
|
|
|
||
|
|
### ML110-01 (Site-1)
|
||
|
|
- **Total VMs**: 4
|
||
|
|
- nginx-proxy-vm
|
||
|
|
- phoenix-dns-primary
|
||
|
|
- smom-sentry-01
|
||
|
|
- smom-sentry-02
|
||
|
|
|
||
|
|
### R630-01 (Site-2)
|
||
|
|
- **Total VMs**: 21
|
||
|
|
- cloudflare-tunnel-vm
|
||
|
|
- All Phoenix Infrastructure (7 VMs)
|
||
|
|
- All Validators (4 VMs)
|
||
|
|
- Sentries 03 & 04 (2 VMs)
|
||
|
|
- All RPC Nodes (4 VMs)
|
||
|
|
- All Services (4 VMs)
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Monitoring Commands
|
||
|
|
|
||
|
|
### Watch VM Status
|
||
|
|
|
||
|
|
```bash
|
||
|
|
# Watch all VMs
|
||
|
|
kubectl get proxmoxvm -A -w
|
||
|
|
|
||
|
|
# Check specific VM
|
||
|
|
kubectl get proxmoxvm <vm-name> -o yaml
|
||
|
|
|
||
|
|
# Check VM IDs and states
|
||
|
|
kubectl get proxmoxvm -A -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.status.vmId}{"\t"}{.status.state}{"\n"}{end}'
|
||
|
|
```
|
||
|
|
|
||
|
|
### Check Provider Logs
|
||
|
|
|
||
|
|
```bash
|
||
|
|
# Follow provider logs
|
||
|
|
kubectl logs -n crossplane-system -l app=crossplane-provider-proxmox -f
|
||
|
|
|
||
|
|
# Check for errors
|
||
|
|
kubectl logs -n crossplane-system -l app=crossplane-provider-proxmox --tail=100 | grep -i error
|
||
|
|
```
|
||
|
|
|
||
|
|
### Verify on Proxmox
|
||
|
|
|
||
|
|
```bash
|
||
|
|
# Check VMs on ML110-01
|
||
|
|
./scripts/ssh-ml110-01.sh 'qm list'
|
||
|
|
|
||
|
|
# Check VMs on R630-01
|
||
|
|
./scripts/ssh-r630-01.sh 'qm list'
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Expected Timeline
|
||
|
|
|
||
|
|
- **VM Creation**: 2-5 minutes per VM
|
||
|
|
- **Total Time**: 30-60 minutes for all 25 VMs
|
||
|
|
- **Provider Processing**: VMs are queued and processed sequentially
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Next Steps
|
||
|
|
|
||
|
|
1. **Monitor Deployment**: Watch VM status until all show VMID and state
|
||
|
|
2. **Verify VMs on Proxmox**: Check Proxmox UI or use `qm list` via SSH
|
||
|
|
3. **Check IP Addresses**: Once VMs are running, IPs will be populated
|
||
|
|
4. **Verify Services**: Test connectivity to deployed services
|
||
|
|
5. **Post-Deployment Verification**: Run verification scripts
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Issues Fixed During Deployment
|
||
|
|
|
||
|
|
1. ✅ **YAML Syntax Errors**: Fixed unclosed strings in Phoenix VM files
|
||
|
|
2. ✅ **Indentation Issues**: Fixed YAML indentation in cloud-init sections
|
||
|
|
3. ✅ **All VMs Deployed**: Successfully deployed all 25 production VMs
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Deployment Scripts
|
||
|
|
|
||
|
|
- **Deploy All**: `./scripts/deploy-all-vms.sh`
|
||
|
|
- **Monitor**: `kubectl get proxmoxvm -A -w`
|
||
|
|
- **Check Logs**: `kubectl logs -n crossplane-system -l app=crossplane-provider-proxmox -f`
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
**Last Updated**: 2025-12-13
|
||
|
|
**Status**: ✅ **ALL VMs DEPLOYED - MONITORING CREATION**
|
||
|
|
|