Files
loc_az_hci/docs/getting-started/prerequisites.md
defiQUG c39465c2bd
Some checks failed
Test / test (push) Has been cancelled
Initial commit: loc_az_hci (smom-dbis-138 excluded via .gitignore)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-08 09:04:46 -08:00

161 lines
4.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Prerequisites
This document outlines all prerequisites for deploying the Azure Stack HCI infrastructure.
## Hardware Requirements
### Proxmox VE Hosts
- **Minimum**: 2 Proxmox VE hosts
- **Proxmox Version**: 7.0 or higher
- **RAM**: Minimum 8GB per node (16GB+ recommended)
- **Storage**: Sufficient storage for VMs and templates
- **Network**:
- Static IP addresses configured
- Network connectivity between nodes
- Internet access for Azure Arc connectivity
### Optional: Router/Storage Server
If implementing the full Azure Stack HCI architecture:
- Server with multiple PCIe slots
- 4× Spectrum WAN connections
- Storage shelves with HBAs
- Intel QAT 8970 for crypto acceleration
See [Hardware BOM](../architecture/hardware-bom.md) for complete hardware specifications.
## Software Requirements
### Required Tools
- **Azure CLI**: Installed and authenticated
```bash
az login
az account show
```
- **kubectl**: For Kubernetes management
```bash
kubectl version --client
```
- **SSH**: Access to all nodes
- **Terraform** (optional): For Infrastructure as Code
- **Helm** (optional): For GitOps deployments
### Azure Subscription
- Azure subscription with **Contributor** role
- Resource group creation permissions
- Azure Arc enabled subscription
### Network Requirements
- **Static IP addresses** for all nodes
- **DNS resolution** (or hosts file configuration)
- **Outbound HTTPS (443)** for Azure Arc connectivity
- **Cluster communication ports** (5404-5412 UDP) for Proxmox cluster
## Environment Configuration
### Environment Variables
Create a `.env` file from the template:
```bash
cp .env.example .env
```
Required variables:
- **Azure**: `AZURE_SUBSCRIPTION_ID`, `AZURE_TENANT_ID`, `AZURE_CLIENT_ID`, `AZURE_CLIENT_SECRET`
- **Cloudflare**: `CLOUDFLARE_API_TOKEN`, `CLOUDFLARE_ACCOUNT_ID`, `CLOUDFLARE_TUNNEL_TOKEN`
- **Proxmox**: `PVE_ROOT_PASS`, `PROXMOX_ML110_URL`, `PROXMOX_R630_URL`
See `.env.example` for all available configuration options.
### Network Configuration
Ensure the following network ranges are available:
- **VLAN 10**: Storage (10.10.10.0/24)
- **VLAN 20**: Compute (10.10.20.0/24)
- **VLAN 30**: App Tier (10.10.30.0/24)
- **VLAN 40**: Observability (10.10.40.0/24)
- **VLAN 50**: Dev/Test (10.10.50.0/24)
- **VLAN 60**: Management (10.10.60.0/24)
- **VLAN 99**: DMZ (10.10.99.0/24)
See [Network Topology](../architecture/network-topology.md) for detailed network design.
## Pre-Deployment Checklist
Before starting deployment, verify:
- [ ] Proxmox VE installed and updated on all hosts
- [ ] Static IP addresses configured
- [ ] Network connectivity between nodes tested
- [ ] Azure CLI installed and authenticated
- [ ] Azure subscription has Contributor role
- [ ] `.env` file created and configured
- [ ] SSH access to all nodes verified
- [ ] DNS resolution working (or hosts file configured)
- [ ] Outbound HTTPS (443) connectivity verified
- [ ] Sufficient storage available on Proxmox hosts
- [ ] VM IDs planned (avoid conflicts)
## Verification Scripts
Run the prerequisites check script:
```bash
./scripts/utils/prerequisites-check.sh
```
This will verify:
- Proxmox VE installation
- Network configuration
- Azure CLI installation and authentication
- kubectl installation
- Helm installation (optional)
- Docker installation (optional)
- System resources
## Next Steps
After verifying prerequisites:
1. Follow the [Quick Start Guide](quick-start.md)
2. Review the [Deployment Guide](../deployment/deployment-guide.md)
3. Use the [Bring-Up Checklist](../deployment/bring-up-checklist.md)
## Troubleshooting Prerequisites
### Azure CLI Not Authenticated
```bash
az login
az account set --subscription "your-subscription-id"
az account show
```
### Network Connectivity Issues
```bash
# Test connectivity between nodes
ping <node-ip>
ssh <node-ip> "echo 'Connection successful'"
```
### Proxmox Connection Issues
```bash
# Test Proxmox API access
./scripts/utils/test-proxmox-connection.sh
```
### Insufficient Resources
- Check available RAM: `free -h`
- Check available disk space: `df -h`
- Check CPU: `nproc`
## Additional Resources
- [Architecture Overview](../architecture/overview.md)
- [Network Topology](../architecture/network-topology.md)
- [Hardware BOM](../architecture/hardware-bom.md)