Governance del cluster Kubernetes
La governance si riferisce alla capacità di un'organizzazione di applicare e convalidare le regole per garantire la conformità agli standard aziendali. La governance aiuta le organizzazioni a ridurre i rischi, rispettare gli standard aziendali e le normative esterne e ridurre al minimo l'interruzione dell'adozione o dell'innovazione.
La governance include iniziative di pianificazione, impostazione delle priorità strategiche e l'uso di meccanismi e processi per controllare applicazioni e risorse. Per i cluster Kubernetes in un ambiente cloud, la governance significa implementare criteri nei cluster Kubernetes e nelle applicazioni eseguite in tali cluster.
La governance di Kubernetes include sia l'ambiente cloud che l'infrastruttura di distribuzione del cluster e i cluster stessi e le applicazioni. Questa guida è incentrata sulla governance all'interno dei cluster Kubernetes. L'articolo descrive e confronta il modo in cui Amazon Elastic Kubernetes Service (Amazon EKS) e servizio Azure Kubernetes (AKS) gestiscono la governance del cluster Kubernetes.
Nota
Questo articolo fa parte di una serie di articoli che aiutano i professionisti che hanno familiarità con Amazon EKS per comprendere servizio Azure Kubernetes (servizio Azure Kubernetes).
Dimensioni di governance di Kubernetes
Tre dimensioni definiscono una strategia di governance coerente di Kubernetes:
Gli obiettivi descrivono gli obiettivi dei criteri di sicurezza e conformità che devono essere soddisfatti da una strategia di governance. Ad esempio, le destinazioni specificano quali utenti possono accedere a un cluster, a uno spazio dei nomi o a un'applicazione Kubernetes o a quali registri contenitori e immagini usare in quali cluster. Il team addetto alle operazioni di sicurezza imposta in genere questi obiettivi come primo passaggio nella definizione della strategia di governance di un'azienda.
Gli ambiti descrivono in dettaglio gli elementi a cui si applicano i criteri di destinazione. Gli ambiti devono soddisfare tutti i componenti visibili a Kubernetes. Gli ambiti possono essere unità organizzative come reparti, team e gruppi o ambienti come cloud, aree o spazi dei nomi o entrambi.
Le direttive dei criteri usano le funzionalità di Kubernetes per applicare le regole di destinazione negli ambiti specificati per applicare i criteri di governance.
Per altre informazioni, vedere Governance di Kubernetes, informazioni da conoscere.
Governance nel servizio Azure Kubernetes e nel servizio Azure Kubernetes
I clienti di Amazon Web Services (AWS) usano in genere Kyverno, Gatekeeper o altre soluzioni di terze parti per definire e implementare una strategia di governance per i cluster Amazon EKS. Il repository GitHub aws-eks-best-practices/policies contiene una raccolta di criteri di esempio per Kyverno e Gatekeeper.
I clienti di Azure possono anche usare Kyverno o Gatekeeper e possono usare il Criteri di Azure per il componente aggiuntivo Kubernetes per estendere Gatekeeper per una strategia di governance del servizio Azure Kubernetes.
Gatekeeper
Cloud Native Computing Foundation (CNF) sponsorizzerà il controller dei criteri gatekeeper open source per Kubernetes per applicare i criteri nei cluster Kubernetes. Gatekeeper è un controller di ammissione Kubernetes che applica i criteri creati con Open Policy Agent (OPA), un motore di criteri per utilizzo generico.
OPA usa un linguaggio dichiarativo di alto livello denominato Rego per creare criteri che possono eseguire pod da tenant in istanze separate o in priorità diverse. Per una raccolta di criteri OPA comuni, vedere OPA Gatekeeper Library.For a collection of common OPA policies, see the OPA Gatekeeper Library.
Kyverno
IL FRAMEWORKF sponsorizzerà anche il progetto open source Kyverno per l'applicazione dei criteri nei cluster Kubernetes. Kyverno è un motore di criteri nativo di Kubernetes in grado di convalidare, modificare e generare configurazioni delle risorse Kubernetes con criteri.
Con Kyverno è possibile definire e gestire i criteri come risorse Kubernetes senza usare un nuovo linguaggio. Questo approccio consente di usare strumenti familiari, ad esempio kubectl, git e kustomize per gestire i criteri.
Kyverno usa kustomize
sovrimpressioni di tipo -style per la convalida, supporta patch JSON e patch di unione strategica per la mutazione e può clonare le risorse tra spazi dei nomi basati su trigger flessibili. È possibile distribuire i criteri singolarmente usando i manifesti YAML o il pacchetto e distribuirli usando i grafici Helm.
Kyverno, a differenza di Gatekeeper o Criteri di Azure per il servizio Azure Kubernetes, può generare nuovi oggetti Kubernetes con criteri, non solo convalidare o modificare le risorse esistenti. Ad esempio, è possibile definire un criterio Kyverno per automatizzare la creazione di un criterio di rete predefinito per qualsiasi nuovo spazio dei nomi.
Per altre informazioni, vedere la guida ufficiale all'installazione di Kyverno. Per un elenco dei criteri pronti per l'uso o personalizzabili, vedere la libreria Dei criteri di Kyverno. Per informazioni di riferimento sulla risoluzione dei problemi (ad esempio , chiamate webhook non riuscite di APIServer), vedere la documentazione sulla risoluzione dei problemi di Kyverno.
Facoltativamente, è possibile distribuire l'implementazione di Kyverno di Kubernetes Pod Security Standards (PSS) come criteri Kyverno. I controlli PSS forniscono un punto di partenza per la sicurezza operativa generale del cluster Kubernetes.
Criteri di Azure componente aggiuntivo per il servizio Azure Kubernetes
Il componente aggiuntivo Criteri di Azure per il servizio Azure Kubernetes estende Gatekeeper per applicare le imposizione e le misure di sicurezza su larga scala nei cluster del servizio Azure Kubernetes in modo centralizzato e coerente. Criteri di Azure consente la gestione centralizzata della conformità e la creazione di report per più cluster Kubernetes da un'unica posizione. Questa funzionalità rende più efficiente la gestione e la governance degli ambienti multicluster rispetto alla distribuzione e alla gestione di Kyverno o Gatekeeper per ogni cluster.
Il componente aggiuntivo Criteri di Azure per il servizio Azure Kubernetes applica le funzioni seguenti:
- Verifica con il servizio Criteri di Azure la presenza di assegnazioni di criteri al cluster.
- Distribuisce le definizioni dei criteri nel cluster come modello di vincolo e risorse personalizzate di tipo vincolo.
- Segnala i dettagli di controllo e conformità al servizio Criteri di Azure.
Il componente aggiuntivo Criteri di Azure supporta il servizio Azure Kubernetes e gli ambienti del cluster Kubernetes abilitati per Azure Arc. Per altre informazioni, vedere Informazioni su Criteri di Azure per i cluster Kubernetes. Per installare il componente aggiuntivo in cluster nuovi ed esistenti, vedere Installare il componente aggiuntivo Criteri di Azure per il servizio Azure Kubernetes.
Dopo aver installato il componente aggiuntivo Criteri di Azure per il servizio Azure Kubernetes, è possibile applicare singole definizioni di criteri o gruppi di definizioni di criteri denominati iniziative al cluster del servizio Azure Kubernetes. È possibile applicare e applicare Criteri di Azure definizioni di criteri e iniziative predefiniti fin dall'inizio oppure creare e assegnare definizioni di criteri personalizzate. I Criteri di Azure criteri di sicurezza predefiniti consentono di migliorare il comportamento di sicurezza del cluster del servizio Azure Kubernetes, applicare gli standard dell'organizzazione e valutare la conformità su larga scala.
Collaboratori
Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai seguenti contributori.
Autori principali:
- Martin Gjoševski | Senior Service Engineer
- Paolo Salvatori | Ingegnere del servizio principale
Altri contributori:
- Chad Kittel | Principal Software Engineer
- Ed Price | Senior Content Program Manager
- Theano Petersen | Writer tecnico
Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.
Passaggi successivi
- Servizio Azure Kubernetes per professionisti amazon EKS
- Gestione delle identità e degli accessi Kubernetes
- Monitoraggio e registrazione Kubernetes
- Accesso sicuro alla rete Kubernetes
- Opzioni di archiviazione per un cluster Kubernetes
- Gestione dei costi per Kubernetes
- Gestione del nodo e del pool di nodi Kubernetes