Initial commit: loc_az_hci (smom-dbis-138 excluded via .gitignore)
Some checks failed
Test / test (push) Has been cancelled
Some checks failed
Test / test (push) Has been cancelled
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
168
docs/getting-started/quick-start.md
Normal file
168
docs/getting-started/quick-start.md
Normal file
@@ -0,0 +1,168 @@
|
||||
# Quick Start Guide
|
||||
|
||||
Get your Azure Stack HCI infrastructure up and running quickly.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Before starting, ensure you have:
|
||||
- Two Proxmox VE hosts with Proxmox VE 7.0+ installed
|
||||
- Azure subscription with Contributor role
|
||||
- Azure CLI installed and authenticated
|
||||
- SSH access to all nodes
|
||||
- Network connectivity between nodes
|
||||
|
||||
See [Prerequisites](prerequisites.md) for detailed requirements.
|
||||
|
||||
## Quick Start Steps
|
||||
|
||||
### 1. Clone and Configure
|
||||
|
||||
```bash
|
||||
git clone <repository-url>
|
||||
cd loc_az_hci
|
||||
cp .env.example .env
|
||||
# Edit .env with your credentials
|
||||
```
|
||||
|
||||
### 2. Test Connections
|
||||
|
||||
```bash
|
||||
# Test Proxmox connections
|
||||
./scripts/utils/test-proxmox-connection.sh
|
||||
|
||||
# Test Cloudflare (if configured)
|
||||
./scripts/utils/test-cloudflare-connection.sh
|
||||
```
|
||||
|
||||
### 3. Configure Proxmox Cluster
|
||||
|
||||
**On Node 1:**
|
||||
```bash
|
||||
export NODE_IP=192.168.1.10
|
||||
export NODE_GATEWAY=192.168.1.1
|
||||
export NODE_HOSTNAME=pve-node-1
|
||||
|
||||
./infrastructure/proxmox/network-config.sh
|
||||
./infrastructure/proxmox/cluster-setup.sh
|
||||
```
|
||||
|
||||
**On Node 2:**
|
||||
```bash
|
||||
export NODE_IP=192.168.1.11
|
||||
export NODE_GATEWAY=192.168.1.1
|
||||
export NODE_HOSTNAME=pve-node-2
|
||||
export CLUSTER_NODE_IP=192.168.1.10
|
||||
|
||||
./infrastructure/proxmox/network-config.sh
|
||||
export NODE_ROLE=join
|
||||
./infrastructure/proxmox/cluster-setup.sh
|
||||
```
|
||||
|
||||
### 4. Onboard to Azure Arc
|
||||
|
||||
**On each Proxmox node:**
|
||||
```bash
|
||||
export RESOURCE_GROUP=HC-Stack
|
||||
export TENANT_ID=$(az account show --query tenantId -o tsv)
|
||||
export SUBSCRIPTION_ID=$(az account show --query id -o tsv)
|
||||
export LOCATION=eastus
|
||||
|
||||
./scripts/azure-arc/onboard-proxmox-hosts.sh
|
||||
```
|
||||
|
||||
### 5. Deploy Kubernetes
|
||||
|
||||
**On K3s VM:**
|
||||
```bash
|
||||
./infrastructure/kubernetes/k3s-install.sh
|
||||
|
||||
export RESOURCE_GROUP=HC-Stack
|
||||
export CLUSTER_NAME=proxmox-k3s-cluster
|
||||
./infrastructure/kubernetes/arc-onboard-k8s.sh
|
||||
```
|
||||
|
||||
### 6. Deploy Git Server
|
||||
|
||||
**Option A: Gitea (Recommended):**
|
||||
```bash
|
||||
./infrastructure/gitops/gitea-deploy.sh
|
||||
```
|
||||
|
||||
**Option B: GitLab CE:**
|
||||
```bash
|
||||
./infrastructure/gitops/gitlab-deploy.sh
|
||||
```
|
||||
|
||||
### 7. Configure GitOps
|
||||
|
||||
1. Create Git repository in your Git server
|
||||
2. Copy `gitops/` directory to repository
|
||||
3. Configure GitOps in Azure Portal or using Flux CLI
|
||||
|
||||
### 8. Deploy HC Stack Services
|
||||
|
||||
Deploy via GitOps (recommended) or manually:
|
||||
```bash
|
||||
# Manual deployment
|
||||
helm install besu ./gitops/apps/besu -n blockchain
|
||||
helm install firefly ./gitops/apps/firefly -n blockchain
|
||||
helm install chainlink-ccip ./gitops/apps/chainlink-ccip -n blockchain
|
||||
helm install blockscout ./gitops/apps/blockscout -n blockchain
|
||||
helm install cacti ./gitops/apps/cacti -n monitoring
|
||||
helm install nginx-proxy ./gitops/apps/nginx-proxy -n hc-stack
|
||||
```
|
||||
|
||||
## Service VM Specifications
|
||||
|
||||
| VM Name | VM ID | IP Address | CPU | RAM | Disk | Purpose |
|
||||
|---------|-------|------------|-----|-----|------|---------|
|
||||
| cloudflare-tunnel | 100 | 192.168.1.60 | 2 | 4GB | 40GB | Cloudflare Tunnel |
|
||||
| k3s-master | 101 | 192.168.1.188 | 4 | 8GB | 80GB | Kubernetes |
|
||||
| git-server | 102 | 192.168.1.121 | 4 | 8GB | 100GB | Git Server |
|
||||
| observability | 103 | 192.168.1.82 | 4 | 8GB | 200GB | Monitoring |
|
||||
|
||||
## Connection Information
|
||||
|
||||
### Proxmox
|
||||
- **ML110**: https://192.168.1.206:8006
|
||||
- **R630**: https://192.168.1.49:8006
|
||||
- **Username**: root@pam
|
||||
- **Password**: (from `.env` file: `PVE_ROOT_PASS`)
|
||||
|
||||
### Cloudflare
|
||||
- **Dashboard**: https://dash.cloudflare.com
|
||||
- **Zero Trust**: https://one.dash.cloudflare.com
|
||||
- **Tunnel Token**: (from `.env` file: `CLOUDFLARE_TUNNEL_TOKEN`)
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Proxmox Connection Issues
|
||||
- Verify IP addresses in `.env` file
|
||||
- Check network connectivity: `ping 192.168.1.206`
|
||||
- Accept self-signed certificate in browser
|
||||
|
||||
### VM Creation Issues
|
||||
- Ensure sufficient storage on Proxmox host
|
||||
- Check VM ID availability
|
||||
- Verify network bridge configuration
|
||||
|
||||
### Cloudflare Tunnel Issues
|
||||
- Verify tunnel token in `.env`
|
||||
- Check DNS records in Cloudflare Dashboard
|
||||
- Review tunnel logs: `journalctl -u cloudflared -f`
|
||||
|
||||
## Next Steps
|
||||
|
||||
After completing the quick start:
|
||||
1. Review [Deployment Guide](../deployment/deployment-guide.md) for detailed instructions
|
||||
2. Set up monitoring and alerting
|
||||
3. Configure backup and disaster recovery
|
||||
4. Implement security policies
|
||||
5. Plan for scaling and expansion
|
||||
|
||||
## Additional Resources
|
||||
|
||||
- [Complete Deployment Guide](../deployment/deployment-guide.md)
|
||||
- [Architecture Overview](../architecture/overview.md)
|
||||
- [Troubleshooting Guide](../troubleshooting/common-issues.md)
|
||||
|
||||
Reference in New Issue
Block a user