Passa al contenuto principale

Concetti

Le nostre offerte Managed Kubernetes

Cloud Temple propone due offerte distinte per soddisfare le vostre esigenze di orchestrazione dei container:

  • Managed Core Kubernetes : Un prodotto minimalista che fornisce una piattaforma Kubernetes robusta e sicura, basata su componenti open-source all'avanguardia. È ideale per i team esperti che desiderano costruire la propria piattaforma su misura.
  • Managed Kubernetes : Una soluzione completa e pronta all'uso che include uno stack completo di strumenti per la rete, la sicurezza, lo storage, il deployment continuo, l'osservabilità, il backup e la gestione dei costi.

Tabella comparativa delle offerte

ComponenteManaged Core KubernetesManaged Kubernetes
OS✅Talos✅Talos
CNI✅Cilium✅Cilium
Load Balancer✅MetalLB✅MetalLB
Archiviazione distribuita✅Rook-Ceph✅Rook-Ceph
Archiviazione locale🔵TopoLVM🔵TopoLVM
Osservabilità CNI✅Hubble
Ingress✅Ingress Nginx
Osservabilità✅Prometheus, Grafana, Loki
Backup e Migrazione✅Veeam Kasten
Governance e Sicurezza✅Kyverno, Capsule
Gestione dei certificati✅Cert-Manager
Deployment Continuo (GitOps)🔵ArgoCD
Container Registry🔵Harbor
Autenticazione SSO🔵Integrazione OIDC
Autoscaling dei pod🔵Keda
Gestione dei Costi (FinOps)🔵OpenCost
Osservabilità (profiling)🔵Pyroscope + LLM

✅ : incluso 🔵 : opzionale/disattivabile ❌ : non incluso

Presentazione dei prodotti Managed (Core) Kubernetes

Managed Core Kubernetes si basa su Talos Linux (https://www.talos.dev/), un sistema operativo dedicato a Kubernetes che è leggero e sicuro. È immutabile, senza alcun shell né accesso ssh, e configurato esclusivamente in modo dichiarativo tramite API gRPC.

L'installazione standardizzata include un insieme di componenti, prevalentemente OpenSource e validati dal CNCF:

  • CNI Cillium, con interfaccia di osservabilità (Hubble): Cillium è una soluzione di networking per i container Kubernetes (Container Network Interface). Gestisce la sicurezza, il load balancing, il service mesh, l'osservabilità, la crittografia, ecc... È un componente di rete fondamentale che si ritrova nella maggior parte delle varianti di Kubernetes (OpenShift, AKS, GKE, EKS,...). In Managed Kubernetes, abbiamo incluso l'interfaccia grafica Hubble per la visualizzazione dei flussi Cillium.

  • MetalLB e nginx: Per l'esposizione delle applicazioni Web, 3 ingress-class nginx sono integrate di base:

    • nginx-external-secured: esposizione su un IP pubblico, filtrato sul firewall per autorizzare solo IP noti (utilizzato per le interfacce grafiche dei vari prodotti e per l'API Kubernetes)

    • nginx-external: esposizione su un secondo IP pubblico non filtrato (o filtraggio specifico per il cliente)

    • nginx-internal: esposizione su un IP interno esclusivamente

      Per i servizi "non web", un load-balancer metalLB consente di esporre servizi in interno o su IP pubblici. (ciò permette di deployare altri ingress, come ad esempio un WAF)

Nota: utilizziamo nginx nella versione openSource mantenuta da F5 Networks. (non la versione originale, open source, che è deprecata)

  • Storage distribuito Rook-Ceph: per lo storage dei volumi persistenti (PV), uno storage distribuito Ceph OpenSource è integrato nella piattaforma. Consente di utilizzare le storage-classes ceph-block (Block, replicato multi-zona), ceph-block-norepl (Block, non replicato) e ceph-filesystem (File, replicato multi-zona). Viene utilizzato uno storage a 7500 IOPS, che garantisce elevate prestazioni. Nei deployment di produzione (su 3 AZ), i nodi di storage sono dedicati (1 nodo per AZ); nei deployment non di produzione (1 AZ), lo storage è condiviso con i worker nodes.

  • Storage locale TopoLVM: per lo storage dei volumi persistenti (PV), uno storage locale TopoLVM OpenSource può essere aggiunto (opzionale) alla piattaforma. Consente di utilizzare la storage-class topolvm-ssd per memorizzare localmente, sui Worker nodes, i dati. Questa opzione è utile per i deployment che utilizzano una replicazione applicativa integrata (Kafka, MongoDB, PostgreSQL, ...) e beneficiano di uno storage ultra-veloce, con latenza ridotta. Questa opzione è generalmente utilizzata per dedicare dei Worker nodes a un workload specifico.

  • Cert-Manager: il gestore di certificati OpenSource Cert-Manager è integrato nativamente nella piattaforma.

  • ArgoCD è a vostra disposizione per i vostri deployment automatizzati tramite una pipeline di CI/CD. (opzionale)

  • Stack Prometheus (Prometheus, Grafana, Loki): i cluster Managed Kubernetes sono forniti di serie con una stack OpenSource completa Prometheus per l'osservabilità, che include:

    • Prometheus, per la raccolta delle metriche

    • Grafana, con numerosi dashboard

    • Loki: i log della piattaforma vengono esportati nello storage S3 Cloud-Temple (e integrati in Grafana).

    • Pyroscope: (opzionale) piattaforma di profiling continuo, interrogabile tramite LLM.

  • Harbor è un Container registry che vi permette di memorizzare le immagini dei vostri container o i vostri chart helm direttamente nel cluster. Esegue scansioni di vulnerabilità sulle vostre immagini. Harbor consente anche sincronizzazioni con altri registri. (https://goharbor.io/) (opzionale)

  • OpenCost (https://github.com/opencost/opencost) è uno strumento di gestione dei costi (FinOps) per Kubernetes. Vi permette di monitorare nel dettaglio il consumo delle risorse Kubernetes e di effettuare il sub-billing per progetto/namespace. (opzionale)

  • Strategie di sicurezza avanzate con Kyverno e Capsule:

    • Kyverno (https://kyverno.io/) è un controller di ammissione per Kubernetes che consente di applicare policy. È uno strumento essenziale per la governance e la sicurezza in Kubernetes.
    • Capsule (https://projectcapsule.dev/) è uno strumento di gestione delle autorizzazioni che facilita la gestione dei diritti in Kubernetes. Introduce il concetto di tenant che permette di centralizzare e delegare le autorizzazioni su più namespace. Tramite Capsule, gli utenti della piattaforma Kubernetes Managé dispongono quindi di diritti limitati ai soli namespace loro assegnati.
  • Veeam Kasten (aka 'k10') è una soluzione per il backup dei workload Kubernetes.

    Consente di eseguire il backup di un deployment completo: manifest, volumi, ecc... verso lo storage oggetto S3 Cloud-Temple. Kasten utilizza Kanister per permettere backup applicativi coerenti, ad esempio per i database (https://docs.kasten.io/latest/usage/blueprints/).

    Kasten è uno strumento cross-platform che può funzionare con altri cluster Kubernetes (OpenShift, Hyperscaler,...). Può quindi essere utilizzato per scenari di reversibilità o di migrazione (K10 gestisce eventuali adattamenti tramite transformations, ad esempio un cambiamento di ingress-class), ma anche di "refresh" (esempio: ripristino pianificato di un ambiente di produzione in pre-produzione).

  • Autenticazione SSO con un Identity Provider Esterno OIDC (Microsoft Entra, FranceConnect, Okta, AWS IAM, Google, Salesforce, ...) (opzionale)

  • Keda consente l'autoscaling dei pod tramite metriche avanzate, come ad esempio il numero di connessioni http. (opzionale)

SLA & Informazioni sul supporto

  • Disponibilità garantita (produzione 3 AZ) : 99.95 %
  • Supporto : N1/N2/N3 inclusi per il perimetro base (infrastruttura e operatori standard).
  • Impegno sul tempo di ripristino (ETR) : secondo contratto quadro Cloud Temple.
  • Manutenzione (MCO) : patching regolare Talos / Kubernetes / operatori standard da parte di MSP, senza interruzione del servizio (rolling upgrade).

I tempi di presa in carico e di ripristino dipendono dalla gravità dell'incidente, conformemente alla matrice di supporto (da P1 a P4).

Politica delle versioni & ciclo di vita

  • Kubernetes supportato: N-2 (3 release maggiori all'anno, circa ogni 4 mesi). Ogni release è supportata ufficialmente per 12 mesi, garantendo una finestra di supporto Cloud Temple di ~16 mesi massimo per versione.
  • Talos OS: allineato alle versioni stabili di Kubernetes.
    • Ogni branch è mantenuto per circa 12 mesi (inclusi i patch di sicurezza).
    • Ritmo di upgrade consigliato: 3 volte all'anno, in coerenza con gli upgrade di Kubernetes.
    • I patch critici (CVE, kernel) vengono applicati tramite rolling upgrade, senza interruzione del servizio.
  • Aggiornamenti:
    • Maggiori (Kubernetes N+1, Talos X+1): pianificati 3 volte/anno, tramite rolling update.
    • Minori: applicati automaticamente entro un termine di 30 a 60 giorni.
  • Deprecazione: versione N-3 → fine del supporto entro 90 giorni dalla release di N.

Nodi Kubernetes

Produzione (multi-zonal)

Per un deployment "di produzione" (multi-zonal), vengono utilizzate le seguenti macchine:

AZMacchinavCoresRAMArchiviazione locale
AZ07Git Runner48 GoOS: 256 Go
AZ05Control Plane 1812 GoOS: 64 Go
AZ06Control Plane 2812 GoOS: 64 Go
AZ07Control Plane 3812 GoOS: 64 Go
AZ05Storage Node 1 (**)1224 GoOS: 64 Go + Ceph 500 Go minimum (***)
AZ06Storage Node 2 (**)1224 GoOS: 64 Go + Ceph 500 Go minimum (***)
AZ07Storage Node 3 (**)1224 GoOS: 64 Go + Ceph 500 Go minimum (***)
AZ05Worker Node 1 (*)1224 GoOS: 64 Go
AZ06Worker Node 2 (*)1224 GoOS: 64 Go
AZ07Worker Node 3 (*)1224 GoOS: 64 Go

(*) : Le dimensioni e il numero dei Worker Node possono essere adattati in base alle esigenze di capacità di calcolo del cliente. Il numero minimo di Worker Node è 3 (1 par AZ) e consigliamo di aumentarne il numero a gruppi di 3 per mantenere una distribuzione multi-zona coerente. Le dimensioni dei Worker Node possono essere adattate, con un minimo di 12 core e 24 Go di RAM; il limite superiore per Worker Node è determinato dalle dimensioni degli hypervisor utilizzati (donc potentiellement 112 cores/1536 Go de RAM avec des lames Performance 3). Il numero di Worker Node è limitato a 100. Il CNCF consiglia di utilizzare worker node di dimensioni identiche. Il limite del numero di pod per Worker Node è di 110.

(**) : le dimensioni dei Storage Node possono essere aumentate in base alle dimensioni dello storage Ceph associato. (par exemple : 24c/128Go pour 10 To de Ceph)

(***) : Ogni nodo di storage viene fornito con un minimo di 500 Go di spazio su disco, per uno spazio di archiviazione Ceph distribuito utile di 500 Go (les données sont répliquées sur chaque AZ, donc x3). Lo spazio libero disponibile per il cliente è di circa 350 Go. Questa dimensione iniziale può essere aumentata al momento del provisioning, o in un secondo momento, in base alle esigenze. Vengono applicate delle quote su Ceph, con una ripartizione Block/File.

Dev/test (zona singola o doppia)

Per una versione "dev/test", vengono distribuite le seguenti macchine:

AZMacchinavCoresRAMArchiviazione locale
AZ0nGit Runner48 GBOS: 256 GB
AZ0nControl Plane812 GBOS: 64 GB
AZ0nWorker Node 1 (*)1224 GBOS: 64 GB + Ceph 300 GB minimo (**)
AZ0nWorker Node 2 (*)1224 GBOS: 64 GB + Ceph 300 GB minimo (**)
AZ0nWorker Node 3 (*)1224 GBOS: 64 GB + Ceph 300 GB minimo (**)

(*) : Le dimensioni e il numero dei Worker Node possono essere adattati in base alle esigenze di capacità di calcolo del cliente. Il numero minimo di Worker Node è 3 (a causa della replicazione dello storage). Le dimensioni dei Worker Node possono essere adattate, con un minimo di 12 core e 24 GB di RAM; il limite superiore per Worker Node è determinato dalle dimensioni degli hypervisor utilizzati (quindi potenzialmente 112 core/1536 GB di RAM con blade Performance 3). La quantità di Worker Node è limitata a 250. Il CNCF consiglia di avere worker node di dimensioni identiche. Il limite del numero di pod per Worker Node è di 110.

(**) : 3 Worker Node sono utilizzati come Storage Node e vengono forniti con un minimo di 300 GB di spazio su disco, per uno storage distribuito utile di 300 GB (i dati vengono replicati tre volte). Lo spazio libero disponibile per il cliente è di circa 150 GB. Questa dimensione iniziale può essere aumentata al momento della configurazione, o in un secondo momento, in base alle esigenze.

RACI

Architettura e Infrastruttura

AttivitàClienteCloud Temple
Definire l'architettura globale del servizio KubernetesCRA
Dimensionare il servizio Kubernetes (numero di nodi, risorse)CRA
Installare il servizio Kubernetes con una configurazione predefinitaIRA
Configurazione del servizio KubernetesCRA
Configurare la rete di base del servizio KubernetesIRA
Distribuzione della configurazione iniziale delle identità e degli accessiCRA
Definire la strategia di scaling e alta disponibilitàCRA

Gestione dei progetti e delle applicazioni aziendali

AttivitàClienteCloud Temple
Creare e gestire i progetti KubernetesRAI*
Distribuire e gestire le applicazioni in KubernetesRAI*
Configurare le pipeline CI/CDRAI*
Gestire le immagini dei container e i registriRAI*

*può passare a "C" in base al contratto di outsourcing IT

Monitoraggio e prestazioni

AttivitàClienteCloud Temple
Monitorare le prestazioni del servizio KubernetesIRA*
Monitorare le prestazioni delle applicazioniRA
Gestire le alerte relative al servizio KubernetesIRA*
Gestire le alerte relative alle applicazioniRA

(*) : Solo per il Cluster di Produzione Managed Kubernetes. In Dev/Test e nella versione Core il cliente è completamente autonomo e responsabile.

Manutenzione e aggiornamenti Infrastrutture

AttivitàClienteCloud Temple
Aggiornare il servizio Kubernetes/OSCRA
Applicare le patch di sicurezza a KubernetesCRA
Aggiornare le applicazioni distribuite (operatori*)CRA

*Package operatore incluso su Managed Kube - vedere capitoli: Pacchetti Helm gestiti

Sicurezza

AttivitàClienteCloud Temple
Gestire la sicurezza del servizio KubernetesRARA*
Configurare e gestire le politiche di sicurezza dei podRAI
Gestire i certificati SSL/TLS per il servizio KubernetesCRA*
Gestire i certificati SSL/TLS per le applicazioniRAI
Implementare e gestire il controllo degli accessi basato sui ruoli di base (RBAC)CR*
Implementare e gestire il controllo degli accessi basato sui ruoli del cliente (RBAC)RAI

(*) : Solo per Cluster di Produzione Managed Kubernetes. In Dev/Test e nella versione Core il cliente è completamente autonomo e responsabile.

Backup e disaster recovery

AttivitàClienteCloud Temple
Definire la strategia di backup per il servizio KubernetesIRA
Implementare e gestire i backup del servizio KubernetesIRA
Definire la strategia di backup per le applicazioniRA*I*
Implementare e gestire i backup delle applicazioniRA*I*
Testare le procedure di disaster recovery per il servizio KubernetesCIRA
Testare le procedure di disaster recovery per le applicazioniRA*CI*

*può passare a "CI | RA" in base al contratto di outsourcing IT

Supporto e risoluzione dei problemi

AttivitàClienteCloud Temple
Fornire supporto di livello 1 per l'infrastrutturaIRA
Fornire supporto di livello 2 e 3 per l'infrastrutturaIRA
Risolvere i problemi relativi al servizio KubernetesCRA
Risolvere i problemi relativi alle applicazioniRAI

Gestione delle capacità e evoluzione

Solo per il Cluster di Produzione Managed Kubernetes. In Dev/Test e nella versione Core il cliente è completamente autonomo e responsabile.

AttivitàClienteCloud Temple
Monitorare l'utilizzo delle risorse KubernetesCRA
Pianificare l'evoluzione delle capacità del servizioRAC
Implementare le modifiche di capacitàIRA
Gestire l'evoluzione delle applicazioni e delle relative risorseRAI

Documentazione e conformità

AttivitàClienteCloud Temple
Mantenere la documentazione del prodotto KubernetesIRA
Mantenere la documentazione delle applicazioniRAI
Garantire la conformità del servizio KubernetesIRA
Garantire la conformità delle applicazioniRAI
Eseguire audit del servizio KubernetesIRA
Eseguire audit delle applicazioniRAI

Gestione degli operatori/CRD Kubernetes (incluso nel prodotto)

AttivitàClienteCloud Temple
Messa a disposizione del catalogo Operatori predefinitoCIRA
Aggiornamento degli OperatoriCIRA
Monitoraggio dello stato degli OperatoriCIRA
Risoluzione dei problemi relativi agli OperatoriCIRA
Gestione delle autorizzazioni degli OperatoriCIRA
Gestione delle risorse degli Operatori (aggiunta/rimozione)CIRA
Backup dei dati delle risorse degli OperatoriCIRA
Supervisione delle risorse OperatoriCIRA
Ripristino dei dati delle risorse degli OperatoriCIRA
Audit di sicurezza degli OperatoriCIRA
Supporto degli OperatoriCIRA
Gestione delle licenze per gli operatoriCIRA
Gestione dei piani di supporto specifici per gli operatoriCIRA

Pacchetto operatore incluso su Managed Kube - vedere capitoli: Pacchetti Helm gestiti

Gestione delle applicazioni/operatori/CRD Kubernetes (du client)

Solo cluster di produzione Managed Kubernetes. In Dev/Test e nella versione Core il cliente è completamente autonomo e responsabile.

AttivitàClienteCloud Temple
Deployment dei CRDI*RA*
Aggiornamento degli OperatoriRAI
Monitoraggio dello stato degli OperatoriRAI
Risoluzione dei problemi relativi agli OperatoriRAI
Gestione delle autorizzazioni degli OperatoriRAI
Gestione delle risorse degli Operatori (ajout/suppression)RAI
Backup dei dati delle risorse degli OperatoriRAI
Supervisione delle risorse degli OperatoriRAI
Ripristino dei dati delle risorse degli OperatoriRAI
Audit di sicurezza degli OperatoriRAI
Supporto degli OperatoriRAI
Gestione delle licenze per gli operatoriRAI
Gestione dei piani di supporto specifici per gli operatoriRAI

Alcuni servizi degli operatori possono essere gestiti in base al contratto di managed services.

*può passare a "A | RC" in base al contratto di managed services

Assistenza applicativa

AttivitàClienteCloud Temple
Assistenza applicativa (servizio esterno)RAI

Un supporto applicativo può essere fornito tramite un servizio aggiuntivo.

RACI (synthétique)

  • Cloud Temple : responsabile e attore (RA) della base Core Kubernetes e dei servizi aggiuntivi Managed Kubernetes (sécurité, sauvegarde, supervision)
  • Cliente : responsabile e attore (RA) dei progetti applicativi, operatori di business, pipeline CI/CD, backup applicativi.
  • Zona "grigia" : adattamenti ed estensioni (IAM, opérateurs spécifiques, durcissement de conformité/sécurité du cluster) - fatturate a progetto.