Passa al contenuto principale
Versione: 0.5.3

LiteLLM su Aruba Cloud

Esegui il deployment di LiteLLM — un proxy API compatibile OpenAI che instrada le richieste a molteplici provider LLM — su Aruba Cloud tramite Terraform e cloud-init. Supporta OpenAI, Anthropic (Claude), Ollama, Azure OpenAI e oltre 100 altri provider tramite una singola API unificata.

Versione provider: arubacloud/arubacloud ~> 1.0 | Terraform: ≥ 1.9


Introduzione​

LiteLLM traduce le chiamate API OpenAI nel formato richiesto da ciascun provider, consentendo alle applicazioni di passare da un modello all'altro senza modifiche al codice. Questo esempio distribuisce:

  • Proxy LiteLLM tramite Docker
  • REST API compatibile OpenAI sulla porta 4000
  • Routing provider configurabile (OpenAI, Anthropic, Ollama)
  • Autenticazione tramite master key

Panoramica dell'architettura​


Infrastruttura creata​

RisorsaPattern del nomeDescrizione
arubacloud_projectllm-prodContenitore del progetto
arubacloud_vpcllm-prod-vpcVirtual Private Cloud
arubacloud_subnetllm-prod-subnetSubnet base
arubacloud_securitygroupllm-prod-vm-sgSecurity group
arubacloud_securityrulellm-prod-vm-sshRegola ingress SSH
arubacloud_securityrulellm-prod-vm-apiProxy LiteLLM TCP 4000
arubacloud_elasticipllm-prod-vm-eipIP pubblico della VM
arubacloud_blockstoragellm-prod-bootDisco di boot da 20 GB (Performance)
arubacloud_keypairllm-prod-keypairChiave pubblica SSH
arubacloud_cloudserverllm-prod-vmVM CloudServer

Costo mensile stimato​

RisorsaSpecificheCosto stimato/mese
VM CloudServerCSO2A4 — 2 vCPU / 4 GB~€20
Disco di boot20 GB Performance~€3
Elastic IP—~€3
Totale~€26/mese

Requisiti​

  • Terraform ≥ 1.9
  • ArubaCloud Terraform Provider ~> 1.0
  • Un account ArubaCloud con credenziali API OAuth2
  • Una coppia di chiavi SSH
  • Almeno una chiave API di un provider LLM o un server Ollama

Variabili​

Obbligatorie​

VariabileDescrizione
arubacloud_client_idClient ID OAuth2 di ArubaCloud
arubacloud_client_secretClient secret OAuth2 di ArubaCloud
ssh_public_keyContenuto della chiave pubblica SSH
master_keyMaster API key LiteLLM (prefissa con sk-)

Opzionali​

VariabileDefaultDescrizione
app_name"llm"Nome breve usato in tutti i nomi delle risorse
environment"prod"Etichetta dell'ambiente
location"ITBG-Bergamo"Regione ArubaCloud
zone"ITBG-1"Zona di disponibilità
billing_period"Hour""Hour" o "Month"
vm_flavor"CSO2A4"Flavor del CloudServer
vm_disk_size_gb20Dimensione del disco di boot in GB
ssh_cidr"0.0.0.0/0"CIDR per SSH
api_cidr"0.0.0.0/0"CIDR per la porta API proxy 4000 — limita ai tuoi server applicativi
openai_api_key""Chiave API OpenAI
anthropic_api_key""Chiave API Anthropic
ollama_base_url""URL del server Ollama
litellm_version"main"Tag immagine Docker LiteLLM

Output​

OutputDescrizione
litellm_urlURL dell'API proxy LiteLLM
vm_public_ipIndirizzo IP pubblico della VM
ssh_commandComando SSH per connettersi alla VM
health_checkComando curl per verificare che il proxy sia in esecuzione

Istruzioni di deployment​

1. Clona e naviga​

git clone https://github.com/arubacloud/terraform-arubacloud-examples.git
cd terraform-arubacloud-examples/litellm

2. Configura le variabili​

cp terraform.tfvars.example terraform.tfvars

Imposta la tua master key e le credenziali del provider:

master_key = "sk-my-master-key"
openai_api_key = "sk-..."
anthropic_api_key = "sk-ant-..."
ollama_base_url = "http://10.0.0.10:11434"

3. Esegui il deployment​

terraform init
terraform plan
terraform apply

4. Testa​

# Health check
curl http://$(terraform output -raw vm_public_ip):4000/health

# Elenca i modelli
curl -H "Authorization: Bearer sk-my-master-key" \
http://$(terraform output -raw vm_public_ip):4000/models

# Chat completion (compatibile OpenAI)
curl -H "Authorization: Bearer sk-my-master-key" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-4o","messages":[{"role":"user","content":"Hello!"}]}' \
http://$(terraform output -raw vm_public_ip):4000/chat/completions

Riferimenti​