Server cloud per Kubernetes in Europa
Kubernetes e la piattaforma di orchestrazione standard per i carichi di lavoro containerizzati su larga scala. Farlo funzionare bene richiede più che semplicemente installare k8s: hai bisogno di hardware sufficiente per nodo, reti affidabili tra i nodi e una comprensione di come appare un cluster minimo praticabile.
Ospitare il tuo cluster Kubernetes in Europa e un requisito pratico se i tuoi utenti o i tuoi dati sono qui. Le reti private a bassa latenza tra i nodi, la conformità al GDPR e la vicinanza fisica al tuo team di ingegneria favoriscono l'hosting nell'UE.
Perché l'hosting UE e importante per Kubernetes
Un cluster Kubernetes e un sistema distribuito. I componenti del piano di controllo comunicano costantemente con i nodi worker. La latenza di rete tra i nodi influisce direttamente sulla stabilita del cluster. Etcd richiede scritture a bassa latenza per mantenere la coerenza.
Posizionare tutti i nodi nello stesso data center dell'UE mantiene la latenza inter-nodo sotto 1 ms.
Requisiti minimi del server
Kubernetes ha requisiti hardware reali.
Per il nodo del piano di controllo:
- RAM: 4 GB minimo (8 GB consigliati per cluster con più di 10 worker)
- CPU: 2 core minimo (4 core consigliati)
- Disco: 40 GB SSD
Per ogni nodo worker:
- RAM: 4 GB minimo per nodo
- CPU: 2 core minimo per nodo
- Disco: 40 GB SSD per nodo
Una configurazione minima pronta per la produzione e 1 nodo del piano di controllo più 2 nodi worker.
Configurazione DCXV consigliata
Le istanze cloud DCXV su https://dcxv.com/data-center#cloud partono da 15 EUR/mese. Per un cluster Kubernetes a 3 nodi, tre istanze con 4 GB RAM e 4 vCPU ciascuna e un buon punto di partenza.
Le istanze cloud DCXV nello stesso data center condividono una rete privata con latenza inter-istanza molto bassa. Il supporto ingegneristico 24/7 e incluso senza costi aggiuntivi.
Per cluster più grandi, i server dedicati DCXV partono da 49 EUR/mese.
Guida alla configurazione
Deploy di un cluster k3s su tre istanze DCXV:
# Sul nodo del piano di controllo: installa k3s
curl -sfL https://get.k3s.io | sh -
# Ottieni il token di join dal piano di controllo
cat /var/lib/rancher/k3s/server/node-token
# Su ogni nodo worker: unisciti al cluster
curl -sfL https://get.k3s.io | K3S_URL=https://<control-plane-ip>:6443 K3S_TOKEN=<token> sh -
# Verifica che tutti i nodi siano pronti
kubectl get nodes
Quanti nodi del control plane
È la decisione da azzeccare prima che qualcosa giri sul cluster, perché etcd mantiene un quorum e un quorum richiede una maggioranza. La riga controintuitiva è la seconda:
| Control plane | Sopravvive alla perdita di | Il quorum richiede | Scegli questo quando |
|---|---|---|---|
| 1 nodo | Niente - l'API scompare | 1 su 1 | Sviluppo, CI, staging, tutto ciò che si ricostruisce |
| 2 nodi | Niente, e costa il doppio | 2 su 2 | Mai - è strettamente peggio di un nodo singolo |
| 3 nodi | Un nodo, senza perdere scritture | 2 su 3 | Produzione, e il minimo che meriti la parola |
| 5 nodi | Due nodi | 3 su 5 | Cluster grandi, o quando può cadere un rack intero |
Due nodi sono la trappola: con un numero pari non esiste maggioranza, quindi perderne uno qualsiasi abbatte l'API server esattamente come un nodo singolo, e hai pagato il doppio. Con i worker è il contrario - sono bestiame, aggiungili e rimuovili liberamente, il loro numero non regge nulla.
Aspettative sulle prestazioni
Su un cluster k3s a 3 nodi con istanze da 4 GB / 4 vCPU:
- Latenza di scheduling dei pod inferiore a 2 secondi per carichi di lavoro tipici
- Throughput di rete inter-pod di 1-5 Gbps all'interno dello stesso data center
- Ingress che gestisce 1.000-3.000 richieste HTTP al secondo
- Tempi di risposta dell'API del piano di controllo inferiori a 50 ms
- Latenza di scrittura etcd inferiore a 5 ms con storage SSD
Queste sono aspettative per hardware di questa classe, non misurazioni dal nostro laboratorio. Prendile come punto di partenza per il dimensionamento e misura il tuo carico: i numeri reali dipendono dai tuoi dati, dalle tue query e dal tuo tuning molto più che dal fornitore.
