Vai al contenuto principale

Presentazione del Kubernetes gestito su Hikube

Hikube propone un servizio di Kubernetes gestito progettato per offrire un'infrastruttura ad alta disponibilità, sicura e performante. Il piano di controllo è interamente gestito dalla piattaforma, mentre i nodi worker vengono distribuiti nel suo progetto sotto forma di macchine virtuali.

I cluster si creano, si modificano e si eliminano dalla console Hikube, menu Infrastructure > Kubernetes. Una volta pronto il cluster, un amministratore del progetto ne scarica il kubeconfig dalla console e si lavora nel cluster con i propri strumenti abituali (kubectl, helm, client SDK, ecc.).


Architettura​

I cluster Kubernetes Hikube si basano su un'infrastruttura multi-datacenter (3 siti svizzeri) che garantisce la replica, la tolleranza ai guasti e la continuità del servizio.

  • Piano di controllo (Control Plane): ospitato e gestito da Hikube. È composto da:
    • kube-apiserver
    • etcd
    • kube-scheduler
    • kube-controller-manager
  • Nodi worker: macchine virtuali nel suo progetto, raggruppate in gruppi di nodi
  • Rete: CNI Cilium, supporto dei Service LoadBalancer, degli Ingress e delle NetworkPolicy
  • Storage: volumi persistenti replicati sui 3 datacenter
  • Addon: Cert-Manager, Ingress NGINX, Flux CD, agenti di monitoring, Velero, GPU Operator, ecc.
  • Versioni Kubernetes: la versione si sceglie tra quelle proposte dalla piattaforma

Che cosa si configura nella console​

La procedura guidata Create cluster raggruppa la configurazione in quattro passaggi:

PassaggioChe cosa si definisce
GeneralNome del cluster, versione di Kubernetes, endpoint API (facoltativo), dimensione e numero di istanze del control plane
NodesUno o più gruppi di nodi: nome, tipo di istanza, dimensione del disco dei nodi, numero minimo e massimo di nodi, esposizione su internet, GPU
AddonsAttivazione degli addon del cluster e sovrascrittura facoltativa dei relativi valori Helm
SummaryRiepilogo prima della distribuzione

Il dettaglio di ogni campo è descritto nei concetti e nell'avvio rapido.


Funzionamento dettagliato​

Control Plane​

  • Gestito da Hikube, senza alcuna manutenzione da parte sua
  • Dimensionato tramite una dimensione (Control Plane Instance Size: s1.small o s1.medium, applicata ai suoi quattro componenti) e un numero di istanze (Control Plane High Availability: 1, 3 o 5)
  • Accesso tramite l'API standard Kubernetes (kubectl, client SDK, ecc.) con il kubeconfig scaricato dalla console

Gruppi di nodi​

I gruppi di nodi consentono di adattare le risorse ai suoi workload. Ogni gruppo ha il proprio tipo di istanza e i propri limiti di auto-scaling.

  • Auto-scaling: numero minimo e massimo di nodi per gruppo
  • Supporto GPU: collegamento di GPU NVIDIA ai nodi di un gruppo, scelte nella procedura guidata
  • Tipi di istanza: serie Standard (S), Universal (U) e Memory (M)

Storage persistente​

I volumi persistenti (PVC) creati nel cluster utilizzano la classe di storage replicated:

  • Replica automatica sui 3 datacenter svizzeri
  • Provisioning dinamico dei volumi persistenti
  • Tolleranza ai guasti e alta disponibilità nativa

Esempio di PVC da distribuire nel cluster:

pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-data
spec:
accessModes:
- ReadWriteOnce
storageClassName: replicated
resources:
requests:
storage: 20Gi

Versioni Kubernetes​

  • La versione si sceglie alla creazione del cluster, tra quelle proposte dalla piattaforma (la più recente è preselezionata)
  • L'aggiornamento si effettua dalla pagina di modifica del cluster (vedere Come aggiornare un cluster)

Addon integrati​

Cert-Manager​

  • Gestione automatizzata dei certificati SSL/TLS
  • Supporto di Let's Encrypt e di autorità private
  • Rinnovo automatico

Ingress NGINX​

  • Controller Ingress integrato, esposto tramite un Service LoadBalancer
  • Distribuito sui gruppi di nodi esposti su internet

Flux CD (GitOps)​

  • Sincronizzazione continua con i suoi repository Git
  • Distribuzione automatizzata e rollback

Monitoring Agents​

  • Raccolta delle metriche e dei log del cluster (VictoriaMetrics Agent, Fluent Bit, kube-state-metrics, node exporter)

L'elenco completo si trova nella sezione Plugin.


Esempi di casi d'uso​

Caso d'usoGruppo di nodi consigliato
Applicazioni webSerie Standard (S), da 2 a 10 nodi, gruppo esposto su internet per ospitare l'Ingress
Workload ML/IASerie Universal (U) con GPU, addon GPU Operator attivato
Applicazioni criticheAlmeno 3 nodi minimi, control plane in alta disponibilità (3 istanze)

Risorse​


Punti chiave​

  • Piano di controllo gestito: nessuna manutenzione dei master richiesta
  • Nodi nel suo progetto: controllo completo sui worker
  • Auto-scaling: adeguamento dinamico in base al carico
  • Multi-datacenter: alta disponibilità nativa e replica
  • Compatibilità totale: API Kubernetes standard