Blog Kubernetes Operator: cosa sono (con esempi) 19 min
Cloud NativeDevOps

Kubernetes Operator: cosa sono (con esempi)

SparkFabrik Team19 min di lettura
Kubernetes Operator: cosa sono (con esempi)
Ascolta l'articolo
In breve
Gli Operator sono il modo in cui Kubernetes impara nuovi trucchi: controller che, tramite le sue stesse API e le Custom Resource, automatizzano l’intero ciclo di vita di un’applicazione, backup e aggiornamenti compresi, comportandosi come un amministratore instancabile. Vediamo come funzionano, perché KEDA riesce a portare a zero le repliche quando non c’è traffico, e perché nel 2026 conviene adottare un Operator pronto invece di scriverne uno da zero.

Per garantire flessibilità e scalabilità Kubernetes offre funzionalità iniziali limitate. I K8s Operator sono estensioni software che sfruttano le API di Kubernetes per estenderne il comportamento. Cosa c’è da sapere sul loro funzionamento e quali sono i vantaggi concreti?

Kubernetes ha un asso nella manica che lo rende ancora più utile, potente e flessibile. Quell’asso si chiama Operator. Ed è reso possibile dal fatto che Kubernetes è stato progettato fin dall’inizio per l’automazione, che è integrata direttamente nel cuore stesso del software. Con Kubernetes, infatti, si possono automatizzare non solo la distribuzione e l’esecuzione di workload ma anche il modo con il quale Kubernetes stesso lo fa.

Per questo motivo gli Operator sono così potenti: consentono infatti di far funzionare in maniera automatica cluster e sistemi complessi sulla base di una serie di pattern e di principi. Gli Operator, cioè, sono dei pattern che consentono di estendere il comportamento del cluster senza modificare il codice di Kubernetes grazie alle API di quest’ultimo, che fungono infatti da controller di risorse personalizzate.

Per capire a cosa serve un Operator occorre prima capire cos’è, e cioè capire come funziona Kubernetes e perché gli Operator sono così utili.

Perché Kubernetes ha bisogno degli Operator

Se stai leggendo questo articolo probabilmente conoscerai già Kubernetes. Facciamo solo un breve ripasso per capire come si inseriscono gli Operator nella sua logica.

Kubernetes è un software open source per l’orchestrazione dei container, cioè per automatizzare il deployment, il dimensionamento e la gestione dei carichi di lavoro su container. Creato da Google nel 2014 - ispirato al proprio sistema di orchestrazione di workload, Borg - Kubernetes è stato donato alla Cloud Native Computing Foundation. Quest’ultima, parte della Linux Foundation, oggi lo mantiene e lo sviluppa insieme ad altre grandi aziende come Microsoft e Redhat.

Kubernetes segue due principi di base: semplicità e flessibilità da un lato, e la possibilità di rendere automatiche più funzioni possibili dall’altro. Questi sono i suoi principali punti di forza che lo rendono capace di scalare ed essere utilizzabile in contesti e con applicativi estremamente diversi tra loro.

Tuttavia questi stessi principi ne limitano anche le funzionalità iniziali a un insieme ristretto di comandi e operazioni che sono esposti attraverso delle API. Per fare cose più complesse questo insieme deve essere esteso e vanno create delle automazioni più sofisticate, adatte a singoli applicativi e al loro dominio specifico di azione. È qui che entrano in gioco gli Operator.

Gli Operator di Kubernetes gestiscono la logica delle applicazioni e fanno parte del piano di controllo di Kubernetes. Come tali sono controller che eseguono dei loop per verificare lo stato reale del cluster e quello desiderato, agendo per riconciliarli quando i due stati si stanno allontanando. Semplicità e flessibilità più automazione non solo consentono la creazione degli Operator, ma sono i principi di base che costituiscono le pietre angolari dell’architettura di Kubernetes.

Cos’è un Kubernetes Operator

Il concetto di Operator è stato introdotto nel 2016 dal team di sviluppo di CoreOS Linux (poi Container Linux).

La definizione di Operator fornita dallo stesso progetto Kubernetes è semplice: “Gli Operator sono delle estensioni software che utilizzano delle custom resources per gestire le applicazioni e le loro componenti”. Questo vuol dire che usando gli Operator è possibile considerare un’applicazione, anziché come un insieme di primitive (come Pods, Deployments, Services o ConfigMaps), come un singolo oggetto che espone solo le regolazioni che hanno senso per l’applicazione.

Si può dire di più, perché in realtà gli Operator consentono di implementare in modo automatico le attività tipiche dei Day-1 (installazione, configurazione, ecc.) e dei Day-2 (riconfigurazione, aggiornamento, backup, failover, ripristino, ecc.) per un software in esecuzione all’interno del cluster Kubernetes, integrandosi in modo nativo con i concetti e le API Kubernetes.

Questo è il motivo per cui sono chiamate “applicazioni native di Kubernetes ”.Questa definizione può essere anche vista in un altro modo, più operativo. I K8s Operator sono dei controller per il packaging, la gestione e il deploying di applicazioni su Kubernetes. Per farlo, l’Operator utilizza delle Custom Resource (CR) che definiscono la configurazione e lo stato voluto di una specifica applicazione tramite delle Custom Resource Definition (CRD).

Il ruolo dell’Operator è quello di riconciliare lo stato reale dell’applicazione con quello voluto dalla CRD usando un loop di controllo nel quale può automaticamente far scalare, aggiornare o riavviare l’applicazione. In pratica, Kubernetes offre dei comandi base, delle primitive, che possono essere utilizzate dagli Operator per definire azioni più complesse.

In definitiva gli Operator sono dei programmi veri e propri che girano nel cluster e interagiscono tramite le API di Kubernetes per automatizzare funzioni più complesse di quelle nativamente gestite da Kubernetes stesso.

Leggi anche: Kubernetes: quali sono i vantaggi per le aziende

K8s Operator: a che cosa serve e quali problemi risolve

Se tutto questo ti suona come un software automatico per l’amministrazione di un sistema, beh, hai ragione. Un Operator se vogliamo è proprio quello: un esperto al quale indicare cosa vogliamo e con quali strumenti, e che poi lavora incessantemente per raggiungere quell’obiettivo.

Da questo punto di vista gli Operator sono degli strumenti dichiarativi e non imperativi, perché il nostro ruolo è definire gli obiettivi e le risorse desiderate mentre la loro responsabilità è quella di adeguare il sistema per mantenerlo il più possibile vicino allo stato voluto.

Il numero di cose che possono essere automatizzate tramite un Operator è pressoché infinito, anche se ci sono alcune operazioni tipiche che sono più comuni.

  • La possibilità di fare il deploying on demand di una applicazione;
  • Fare backup dello stato di un’applicazione o ripartire da un determinato backup;
  • Gestire l’aggiornamento di un’applicazione con tutte le sue dipendenze inclusi i nuovi settaggi di configurazione e le modifiche necessarie al database;
  • Esporre un servizio a delle applicazioni che non supportano le API di Kubernetes.

Sono solo alcune delle possibili applicazioni dei K8s Operator. Il limite di quello che si può fare con gli Operator è legato alle capacità di chi li programma e alle necessità del progetto.

Mettiamola in questo modo: rispetto a Kubernetes, che permette di gestire un’applicazione utilizzando le sue API (e kubectl), un Operator è un controller che estende le funzionalità delle API e gestisce istanze complesse dell’applicazione al posto dell’utente. Per farlo usa da un lato le risorse proprie di Kubernetes e dall’altro delle competenze specifiche per quella particolare applicazione o dominio.

In questo modo gli Operator servono per automatizzare l’intero ciclo di vita del software che gestiscono, prendendo in carico le classiche attività da fare per il day 1 e day 2 che, senza automazione, sarebbero attività legate a uno o più operatori umani.

AspettoHelmOperator
Funzione principaleGestisce il packaging e l’installazione delle applicazioniAutomatizza la gestione continua del ciclo di vita dell’applicazione
Logica applicativaStatica, basata su template e valori predefinitiDinamica, basata su codice che reagisce allo stato del cluster
Gestione degli aggiornamentiRichiede intervento manuale per upgrade complessiGestisce automaticamente aggiornamenti, rollback e configurazioni
Day 2 operationsLimitata, non monitora lo stato nel tempoFortemente orientato a backup, scaling e auto guarigione
Complessità di sviluppoBassa, basata su file YAML e templateAlta, richiede la scrittura di un controller personalizzato
Caso d’uso idealeApplicazioni semplici con configurazione una tantumApplicazioni stateful o complesse che richiedono gestione continua

I vantaggi dei Kubernetes Operator

Gli Operator sono molto utili perché sono dei controller specifici per la singola applicazione, che estendono le funzionalità delle API di Kubernetes. In altre parole gli Operator insegnano nuovi trucchi a Kubernetes. Ma quali sono i vantaggi concreti che offrono? Vediamo un elenco dei principali benefici.

  1. Gli Operator permettono di estendere le funzionalità di Kubernetes anche alle applicazioni di tipo stateful e non solo a quelle stateless. E già questo è un notevolissimo vantaggio, perché le applicazioni e i servizi cloud stateful sono molto più complessi da gestire di quelle stateless. Tra gli operatori stateful possiamo segnalare: Prometheus Operator per la soluzione di monitoraggio e Postgres Operator per gestire cluster di database PostgreSQL ad alta disponibilità.
  2. Standardizzano le attività manuali e creano un approccio all’automazione comune e coerente.
  3. Gli Operator possono essere facilmente trasportati da un ambiente all’altro e da un progetto all’altro. Questo ha permesso la nascita di un ecosistema con molti Operator più generici scaricabili, configurabili e utilizzabili per progetti diversi, senza bisogno di svilupparli internamente. Più avanti vedremo quali sono gli hub più popolari per trovare Operator generici.

Quest’ultimo vantaggio non è da sottovalutare. Infatti, la creazione da zero di un Operator non è propriamente facile. Per fortuna ci sono diverse alternative.

Best practice 2026

Quando possibile, è consigliabile limitare lo scope degli Operator a un singolo namespace anziché concederne l’accesso all’intero cluster. Questo approccio riduce la superficie di attacco, semplifica la gestione dei permessi RBAC e minimizza l’impatto di eventuali malfunzionamenti, mantenendo al contempo un maggiore isolamento tra i diversi team e progetti che condividono lo stesso cluster Kubernetes.

La questione della sicurezza merita un’attenzione particolare, perché è proprio qui che molti Operator1 introducono rischi spesso sottovalutati. Per automatizzare deployment, riconciliazione dello stato e gestione delle risorse custom, un Operator richiede permessi che, se mal calibrati, diventano un punto debole: molti operatori distribuiti tramite Helm chart o OLM richiedono di default un ClusterRole con verbi ampi (get, list, watch, create, update, delete) su risorse cluster-wide. Un Operator compromesso, o affetto da un bug nella logica di riconciliazione, eredita quei privilegi e può agire su ogni namespace, inclusi i secret di altri team.

La differenza tra i due modelli di autorizzazione RBAC2 ha un impatto diretto sul blast radius in caso di incidente:

AspettoRole + RoleBinding (namespace-scoped)ClusterRole + ClusterRoleBinding (cluster-wide)
Ambito dei permessiUn singolo namespaceTutti i namespace del cluster
Blast radius in caso di compromissioneLimitato al namespace assegnatoIntero cluster, inclusi i secret
Accesso a risorse cluster-scoped (nodi, PV, CRD)Non consentitoConsentito
Complessità di auditBassa, permessi circoscrittiAlta, richiede revisione continua
Casi d’uso tipiciOperator dedicati a un team o a un’applicazioneOperator di piattaforma (ingress, cert-manager)

Il percorso che segue una richiesta dall’Operator fino all’azione sul cluster aiuta a capire dove intervenire per applicare il principio del privilegio minimo:

Dalla nostra esperienza su cluster multi-tenant, la contromisura più efficace non è eliminare i ClusterRole, che restano necessari per gli Operator di piattaforma, ma applicare tre pratiche concrete: assegnare a ogni Operator un ServiceAccount dedicato invece di riutilizzare quello di default, ridurre i verbi RBAC allo stretto indispensabile evitando le wildcard (*), e verificare i manifest degli Operator di terze parti prima dell’installazione, poiché i valori di default dei chart tendono a essere permissivi per massimizzare la compatibilità. Strumenti come kubectl auth can-i --list per lo specifico ServiceAccount, o policy engine come Kyverno e OPA Gatekeeper, permettono di rendere questa verifica parte integrante della pipeline anziché un controllo manuale una tantum.

Operator prefabbricati e soluzioni Custom

Gli Operator sono decisamente complessi da creare da zero. Richiedono competenze di programmazione (Go3 preferibilmente, ma possono essere implementati in qualsiasi linguaggio trattandosi di comunicazioni client/server) e una conoscenza approfondita dei controller nativi di Kubernetes4 e dei suoi meccanismi di funzionamento (reconciliation loop). Per lo sviluppo in Go, lo standard de facto è oggi l’Operator SDK, parte dell’Operator Framework: gestisce gran parte del boilerplate del reconciliation loop e semplifica scaffolding, test e packaging degli Operator, riducendo la barriera d’ingresso per chi non vuole partire dai controller nativi.

Esistono però framework che permettono di ridurre questa complessità come:

Per fortuna, come abbiamo visto, gli Operator possono essere trasferiti da un ambiente all’altro e configurati in modo semplice. Per questo motivo è nata una vera e propria cottage economy che ha l’obiettivo di arricchire e semplificare le operazioni di deploy, gestione e dimensionamento delle applicazioni su Kubernetes tramite gli Operator.

Kubernetes Operator: alcuni esempi

Ad oggi, le fonti ufficiali dove poter cercare gli Operator esistenti in modo semplice, sono queste due applicazioni:

  • Artifact HUB - dove troviamo sia operators che helm charts (CNCF project)
  • Operator Hub - dedicato esclusivamente agli Operator (Redhat project)

Gli Operator ci permettono di trovare soluzioni a problemi molto diversi tra loro. Anziché da una lista di Operator, partiamo da alcune situazioni da risolvere e facciamo alcuni esempi.

Un caso emblematico è lo scaling basato su eventi esterni. L’Horizontal Pod Autoscaler nativo di Kubernetes ragiona su metriche come CPU e memoria, ma queste raramente riflettono il carico reale di un workload event-driven: un consumer che processa messaggi da una coda può restare a basso utilizzo di CPU pur avendo migliaia di messaggi arretrati. KEDA (Kubernetes Event-driven Autoscaling) risolve proprio questo scarto. È un progetto CNCF (graduato nel 2023) che agisce come Operator: introduce la Custom Resource ScaledObject e, tramite un set di scaler pronti all’uso, legge metriche da sorgenti esterne come Kafka, RabbitMQ, Prometheus, AWS SQS o Azure Service Bus, traducendole in decisioni di scaling.

La caratteristica più interessante, e spesso sottovalutata, è la capacità di scale-to-zero: quando non ci sono eventi da elaborare, KEDA porta a zero le repliche del deployment, per poi riattivarle non appena arriva il primo messaggio. Questo lo rende particolarmente efficace in ottica FinOps per workload intermittenti come job batch, pipeline di elaborazione asincrona o funzioni serverless self-hosted, dove pagare per pod inattivi è puro spreco.

flowchart LR A[Sorgente eventi
Kafka / SQS / RabbitMQ] -->|metriche esterne| B[KEDA Operator] B -->|valuta ScaledObject| C{Eventi in coda?} C -->|Sì| D[Scale up dei pod] C -->|No| E[Scale to zero] D --> F[Deployment applicativo] E --> F

Vuoi monitorare il tuo cluster?

Una soluzione end-to-end molto efficiente per il monitoraggio del cluster Kubernetes è basata sullo stack kube-prometheus. Si tratta di una raccolta di manifest Kubernetes, dashboard Grafana e regole Prometheus combinate con documentazione e script che forniscono un monitoraggio di facile utilizzo sfruttando l**’ Operator Prometheus**.

Vuoi automatizzare la gestione dei certificati TLS

In questo caso possiamo utilizzare Cert-manager8, l’add-on Kubernetes che permette di ottenere certificati SSL/TLS emessi da una lista di certification authority configurate nel cluster. In questo modo possono essere richiesti nuovi certificati al volo a ciascuno degli emittenti e utilizzati nel ciclo di vita dei servizi in maniera automatica, con supporto nativo sia per gli Ingress sia per la più recente Gateway API.

Vuoi automatizzare la gestione di una service mesh basata su Istio

L’Istio Operator9 è stato l’approccio storico per installare, aggiornare e gestire in automatico le configurazioni di Istio10 direttamente dal cluster. Oggi, però, questo metodo è deprecato: l’operator in-cluster è stato dichiarato deprecato in Istio 1.23 e rimosso a partire dalla 1.24. Per i nuovi progetti, quindi, l’installazione e la gestione del service mesh vanno affidate a Helm11 oppure a istioctl12, che restano gli strumenti supportati e consigliati per gestire il ciclo di vita di Istio e validare le relative API. La community si sta muovendo verso modelli di installazione più snelli e, soprattutto, verso l’architettura Ambient Mesh13, che elimina la necessità di iniettare un sidecar per ogni pod e sposta la gestione del traffico su un livello infrastrutturale condiviso, riducendo overhead e complessità operativa.

L’utilizzo sia in scenari DevOps che SRE permette di automatizzare fin dall’inizio la gestione mesh dei microservizi usati nel cluster Kubernetes: gestione, orchestrazione, sicurezza, comunicazioni e monitoraggio. Dopodiché si potrà rifinire questa iniziale implementazione in maniera non traumatica.

Un tassello sempre più rilevante di questa automazione è la Kubernetes Gateway API, l’evoluzione dell’Ingress pensata per superarne i limiti storici: configurazione monolitica, dipendenza da annotation proprietarie e assenza di una netta separazione dei ruoli tra chi gestisce il cluster e chi espone i servizi. La Gateway API introduce risorse distinte (GatewayClass, Gateway, HTTPRoute, GRPCRoute) che formalizzano proprio quella separazione delle responsabilità utile nei team DevOps e SRE, e che si sposa naturalmente con la gestione mesh del traffico.

Il segnale più chiaro della maturità di questo standard arriva dagli operatori che storicamente hanno definito il layer di rete su Kubernetes. Cilium implementa la Gateway API sfruttando il data plane basato su eBPF ed Envoy, offrendo routing L7, traffic splitting e TLS termination senza un Ingress controller separato. Istio, dal canto suo, ha eletto la Gateway API a metodo di configurazione predefinito del traffico ingress, relegando le vecchie risorse Gateway e VirtualService del proprio API set al ruolo di alternativa legacy. La direzione è netta: il supporto Ingress viene mantenuto per retrocompatibilità, ma l’investimento e le nuove feature convergono sulla Gateway API.

AspettoIngressGateway API
Modello di configurazioneRisorsa unica, estesa via annotationRisorse multiple con ruoli separati
Separazione dei ruoliAssenteNativa (cluster operator vs application developer)
Protocolli oltre HTTP/HTTPSSupporto limitato o proprietarioTCP, UDP, gRPC come first-class
Traffic splitting e canarySolo via annotation vendor-specificNativo in HTTPRoute
Stato in CiliumSupportato (legacy)Nativo su data plane eBPF/Envoy
Stato in IstioSupportato (legacy)Metodo di configurazione predefinito

Per chi progetta oggi un’architettura mesh, questo significa poter adottare un’unica astrazione portabile tra provider e implementazioni diverse, riducendo il rischio di vendor lock-in legato alle annotation specifiche di ciascun Ingress controller.

Automatizzare la creazione di risorse su public cloud

Crossplane14 è un Kubernetes Operator che permette di creare e gestire risorse in cloud tramite la sintassi dichiarativa di Kubernetes, mappando una collezione di CRD, fornite dai crossplane-provider, con i servizi cloud offerti dal vendor specifico. Il tutto è finalizzato all’utilizzo da parte dei team delle applicazioni, che per farlo non hanno bisogno di scrivere alcun codice. Si tratta, in pratica, di automatizzare la creazione di risorse sul cloud pubblico.

Come spiegano gli autori stessi del progetto, che fa parte della CNCF: “ abbiamo creato Crossplane per aiutare le organizzazioni a creare i propri cloud come i fornitori di cloud creano i propri: con un control plane.”

Come gestire l’Elastic Cloud nel nostro cluster

L’Elastic Kubernetes Operator - realizzato ufficialmente dal progetto di Elastic - permette di automatizzare Elastic Search e Kibana su Kubernetes con delle configurazioni di deployment molto semplificate e una gestione resa facile. L’Operator supporta sia i Frozen Indices per gli storage di dimensioni maggiori che i Kibana Spaces, Canvas ed Elastic Maps, più la parte di monitoraggio dell’infrastruttura Kubernetes.

Conclusioni

Come abbiamo detto, gli Operator che abbiamo visto fin qui sono solo alcuni esempi. Esistono moltissimi altri Operator: da KNative15 a Cloud Foundry on Kubernetes16 fino ad Azure Spring Cloud, oggi rinominato Azure Spring Apps17, 18. E ovviamente ci sono Operator anche per molte altre delle più diffuse tipologie di servizi e applicazioni: Grafana, Jaeger19, ArgoCD20, MongoDB, Rbac (il modello di Controllo d’accesso basato sui ruoli o Role Based Access Control).

Nel 2026 l’ecosistema degli Operator ha raggiunto una piena maturità: OperatorHub raccoglie ormai centinaia di soluzioni certificate e i principali database, message broker e piattaforme di osservabilità distribuiscono il proprio Operator come metodo di installazione predefinito. Per la maggior parte dei casi d’uso in produzione non serve più scrivere un Operator da zero, ma valutare e adottare quello giusto tra le opzioni disponibili.

In tutti i casi tuttavia, seppur molto diversi tra loro, vale sempre lo stesso principio. Il vantaggio degli Operator è di espandere le possibilità di automazione di Kubernetes. La presenza di un ampio ecosistema di K8s Operator consente di trovare soluzioni già pronte per la maggior parte dei casi d’uso.


CategoriaEsempi di OperatorCaso d’uso principale
Serverless e PaaSKNative, Cloud Foundry on Kubernetes, Azure Spring AppsEsecuzione di applicazioni serverless o basate su piattaforma
OsservabilitàGrafana, JaegerMonitoraggio, logging e tracciamento distribuito
Continuous deliveryArgoCDDeployment automatizzato basato su GitOps
DatabaseMongoDBGestione automatizzata del ciclo di vita dei database
Sicurezza e accessoRbacControllo d’accesso basato sui ruoli

Note e fonti


  1. Operator, Operators are software extensions to Kubernetes that use custom resources to manage applications and their components, automating tasks like deployment, configuration, and scaling. (fonte: https://ajeetraina.medium.com/what-is-kubernetes-operator-andwhy-you-should-really-care-about-it-fd02277bd3de↩︎

  2. RBAC, Role-Based Access Control (RBAC) is a security model that restricts system access based on roles assigned to users within an organization, enforcing the principle of least privilege. (fonte: https://blog.ansi.org/ansi/role-based-access-control-rbac-incits-359/↩︎

  3. GO, Go is an open-source, statically typed programming language supported by Google that makes it simple to build secure, scalable systems. (fonte: https://www.pluralsight.com/resources/blog/cloud/what-is-go-an-intro-to-googles-go-programming-language-aka-golang↩︎

  4. Kubernetes, Kubernetes is an open-source container orchestration engine for automating deployment, scaling, and management of containerized applications. (fonte: https://en.wikipedia.org/wiki/Kubernetes↩︎

  5. Operator Framework, The Operator Framework is an open-source toolkit and CNCF incubating project used to build, manage, and scale Kubernetes native applications, known as Operators. (fonte: https://apis.io/providers/operator-framework/↩︎

  6. Kubebuilder, Kubebuilder is a framework for building Kubernetes APIs using Custom Resource Definitions (CRDs). It provides libraries and tools to scaffold boilerplate code for developing operators in Go. (fonte: https://medium.com/@anbu.gn/my-first-kubernetes-operator-with-kubebuilder-c0dd5e5a60c7↩︎

  7. Kopf, Kopf (Kubernetes Operator Pythonic Framework) is an open-source Python framework that simplifies building Kubernetes operators by mapping Python concepts to Kubernetes resources. (fonte: https://sayed-imran.medium.com/empowering-kubernetes-operator-development-with-kopf-getting-started-with-writing-operator-f66864374852↩︎

  8. Cert-manager, cert-manager is an open-source Kubernetes add-on that automates the issuance, renewal, and management of X.509 TLS certificates from various issuing sources. (fonte: https://www.paloaltonetworks.com/cyberpedia/what-is-cert-manager↩︎

  9. Istio Operator, A deprecated Kubernetes operator previously used to install and manage the Istio service mesh. It was officially deprecated in Istio 1.23 and removed in 1.24 in favor of Helm and istioctl. (fonte: https://istio.io/latest/blog/2024/in-cluster-operator-deprecation-announcement/↩︎

  10. Istio, Istio is an open-source service mesh that provides a uniform way to secure, connect, and monitor microservices. It is a graduated CNCF project originally developed by Google, IBM, and Lyft. (fonte: https://istio.io/latest/about/service-mesh/↩︎

  11. Helm, Helm is an open-source package manager for Kubernetes that simplifies the deployment, configuration, and management of applications using reusable packages called charts. (fonte: https://www.logicmonitor.com/blog/what-is-helm-in-kubernetes↩︎

  12. istioctl, istioctl is the official command-line utility for the Istio service mesh. It allows operators to install, configure, debug, and diagnose Istio deployments. (fonte: https://repo1.dso.mil/dsop/opensource/istio-1.6/istioctl-1.6↩︎

  13. Ambient Mesh, Ambient Mesh is a sidecar-less data plane mode for the Istio service mesh. It uses a per-node proxy (ztunnel) for L4 security and optional waypoint proxies for L7 features to reduce overhead. (fonte: https://tetrate.io/learn/istio-ambient-mode-vs-ambient-mesh↩︎

  14. Crossplane, Crossplane is an open-source, CNCF-graduated control plane framework that extends Kubernetes to provision and manage cloud infrastructure and services using declarative APIs. (fonte: https://www.cncf.io/announcements/2025/11/06/cloud-native-computing-foundation-announces-graduation-of-crossplane/↩︎

  15. KNative, Knative is an open-source, Kubernetes-based platform providing middleware components to build, deploy, and manage serverless and event-driven applications. It is a CNCF graduated project. (fonte: https://knative.dev/docs/↩︎

  16. Cloud Foundry on Kubernetes, Cloud Foundry on Kubernetes is a cloud-native distribution of the Cloud Foundry PaaS. Its modern implementation, Korifi, abstracts Kubernetes to provide a simplified developer experience. (fonte: https://oriondigitalplatforms.com/blog-cloud-foundry-kubernetes.html↩︎

  17. Azure Spring Cloud, Azure Spring Cloud (now Azure Spring Apps) is a fully managed PaaS built by Microsoft and VMware to simplify deploying, scaling, and managing Spring Boot applications on Azure. (fonte: https://grokipedia.com/page/azure_spring↩︎

  18. Azure Spring Apps, Azure Spring Apps is a fully managed platform as a service (PaaS) by Microsoft that enables developers to build, deploy, and run Spring Boot applications on Azure without managing infrastructure. (fonte: https://learn.microsoft.com/en-us/answers/questions/1391228/azure-spring-apps-vs-spring-cloud-azure↩︎

  19. Jaeger, Jaeger is an open-source distributed tracing platform, originally developed by Uber and now a CNCF graduated project, used to monitor and troubleshoot transactions in microservices architectures. (fonte: https://horovits.medium.com/jaeger-v2-unveiled-distributed-tracing-powered-by-opentelemetry-be612dbee774↩︎

  20. ArgoCD, Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes that automates application deployment and lifecycle management using Git repositories as the source of truth. (fonte: https://octopus.com/devops/argo-cd/↩︎

Domande Frequenti

Un Kubernetes Operator è un’estensione software che utilizza le API di Kubernetes e Custom Resource Definitions (CRD) per gestire applicazioni complesse in modo automatico. Gli Operator funzionano come controller che eseguono loop di controllo per riconciliare lo stato reale del cluster con quello desiderato.
I Kubernetes Operator automatizzano l’intero ciclo di vita delle applicazioni, incluse le attività di Day-1 (installazione, configurazione) e Day-2 (aggiornamento, backup, failover, ripristino). Permettono di gestire applicazioni complesse come un singolo oggetto, eliminando la necessità di intervento manuale.
I principali vantaggi sono: estendere le funzionalità di Kubernetes anche ad applicazioni stateful, standardizzare le attività manuali con un approccio all’automazione coerente, e la portabilità degli Operator da un ambiente all’altro, grazie a un ampio ecosistema di soluzioni già pronte.
Le due fonti ufficiali per cercare Operator esistenti sono Artifact HUB (progetto CNCF, che include anche Helm charts) e Operator Hub (progetto Red Hat, dedicato esclusivamente agli Operator). Entrambi offrono soluzioni per monitoraggio, certificati TLS, service mesh, gestione cloud e molto altro.
Tra gli esempi più diffusi ci sono Prometheus Operator per il monitoraggio del cluster, Cert-manager per la gestione automatica dei certificati TLS, Istio Operator per la service mesh, Crossplane per creare risorse su cloud pubblico e Elastic Kubernetes Operator per gestire Elasticsearch e Kibana.

Get in touch

Seguici sui social
Ascolta Continuous Delivery