Scegliere un'opzione di calcolo Kubernetes su dispositivi perimetrali
Questo documento illustra i compromessi per varie opzioni disponibili per estendere il calcolo sul perimetro. Vengono illustrate le considerazioni seguenti per ogni opzione Kubernetes:
Costo operativo. Il lavoro previsto necessario per gestire e gestire i cluster Kubernetes.
Facilità di configurazione. Livello di difficoltà per configurare e distribuire un cluster Kubernetes.
Flessibilità. Una misura dell'adattamento dell'opzione Kubernetes consiste nell'integrare una configurazione personalizzata con l'infrastruttura esistente su dispositivi perimetrali.
Nodo misto. Possibilità di eseguire un cluster Kubernetes con nodi Linux e Windows.
Presupposti
Sei un operatore del cluster che sta cercando di comprendere le diverse opzioni per l'esecuzione di Kubernetes nei dispositivi perimetrali e nella gestione dei cluster in Azure.
Si ha una buona conoscenza dell'infrastruttura esistente e di qualsiasi altro requisito dell'infrastruttura, inclusi i requisiti di archiviazione e di rete.
Dopo aver letto questo documento, si sarà in una posizione migliore per identificare l'opzione più adatta allo scenario e all'ambiente necessario.
Scelte di Kubernetes a colpo d'occhio
Costo operativo | Facilità di configurazione | Flessibilità | Nodo misto | Riepilogo | |
---|---|---|---|---|---|
Kubernetes bare metal | Elevata** | Difficile** | Elevata** | Sì | Una configurazione di base su qualsiasi infrastruttura disponibile nella posizione con l'opzione di usare Azure Arc per aggiungere funzionalità di Azure. |
K8 su Azure Stack Edge Pro | Basso | Facile | Basso | Solo Linux | Kubernetes distribuito nell'appliance Azure Stack Edge distribuita nella posizione. |
AKS ibrido | Basso | Facile | Medio | Sì | AKS distribuito in Azure Stack HCI o Windows Server 2019. |
*Altre piattaforme perimetrali gestite (OpenShift, Tanzu e così via) non rientrano nell'ambito di questo documento.
**Per semplicità, questi valori sono basati sull'uso di kubeadm. Diverse opzioni per l'esecuzione di Kubernetes bare metal al perimetro alterano la classificazione in queste categorie.
Kubernetes bare metal
Configurazione di base di Kubernetes usando strumenti come kubeadm in qualsiasi infrastruttura sottostante.
I vincoli più importanti per Kubernetes bare metal riguardano le esigenze e i requisiti specifici dell'organizzazione. L'opportunità di usare qualsiasi distribuzione, interfaccia di rete e plug-in significa maggiore complessità e costo operativo. Questo offre tuttavia l'opzione più flessibile per la personalizzazione del cluster.
Scenario
Spesso, le posizioni perimetrali hanno requisiti specifici per l'esecuzione di cluster Kubernetes che non sono soddisfatti con le altre soluzioni di Azure descritte in questo documento. Ciò significa che questa opzione è in genere ottimale per coloro che non sono in grado di usare i servizi gestiti a causa di un'infrastruttura esistente non supportata o di coloro che cercano di avere il massimo controllo dei cluster.
Questa opzione può essere particolarmente difficile per coloro che non hanno ancora più a che fare con Kubernetes. Questo non è insolito per le organizzazioni che cercano di eseguire cluster perimetrali. Opzioni come MicroK8s o k3s puntano a appiattire la curva di apprendimento.
È importante comprendere qualsiasi infrastruttura sottostante e qualsiasi integrazione che dovrebbe avvenire in anticipo. Ciò consentirà di restringere le opzioni valide e di identificare eventuali lacune con gli strumenti open source e/o i plug-in.
L'abilitazione dei cluster con Azure Arc offre un modo semplice per gestire il cluster da Azure insieme ad altre risorse. Questo offre anche altre funzionalità di Azure per il cluster, tra cui Criteri di Azure, Monitoraggio di Azure, Microsoft Defender per il cloud e altri servizi.
Poiché la configurazione del cluster non è semplice, è particolarmente importante tenere presente CI/CD. Tenere traccia e agire sulle modifiche upstream di vari plug-in e assicurarsi che tali modifiche non influiscano sull'integrità del cluster, diventa una responsabilità diretta. È importante avere una soluzione CI/CD avanzata, test sicuri e monitoraggio sul posto.
Opzioni di strumenti
Bootstrap del cluster:
kubeadm: strumento Kubernetes per la creazione di cluster Kubernetes di base. Valido per le risorse di calcolo standard (Linux/Windows).
MicroK8s: amministrazione semplificata e configurazione ("LowOps"), conforme a Kubernetes da Canonical.
k3s: distribuzione Kubernetes certificata creata per Internet delle cose (IoT) ed edge computing.
Archiviazione:
- Esplorare i driver CSI disponibili: molte opzioni sono disponibili per soddisfare i requisiti dal cloud alle condivisioni file locali.
Rete:
- Un elenco completo dei componenti aggiuntivi disponibili è disponibile qui: Componenti aggiuntivi di rete. Alcune opzioni comuni includono Flannel, una semplice rete di sovrapposizione e Calico, che offre uno stack di rete completo.
Considerazioni
Costo operativo:
- Senza il supporto fornito con i servizi gestiti, spetta all'organizzazione gestire e gestire il cluster nel suo complesso (archiviazione, rete, aggiornamenti, osservabilità, gestione delle applicazioni). Il costo operativo è considerato elevato.
Facilità di configurazione:
- La valutazione delle numerose opzioni open source in ogni fase della configurazione, indipendentemente dal fatto che le opzioni di rete, archiviazione o monitoraggio siano inevitabili e possano diventare complesse. Richiede una maggiore considerazione per la configurazione di un CI/CD per la configurazione del cluster. A causa di questi problemi, la facilità di configurazione è considerata difficile.
Flessibilità:
- Con la possibilità di usare qualsiasi strumento o plug-in open source senza restrizioni del provider, Kubernetes bare metal è altamente flessibile.
Kubernetes in Azure Stack Edge
Cluster Kubernetes (una VM e una VM di lavoro) configurata e distribuita automaticamente nel dispositivo Azure Stack Edge Pro.
I dispositivi Azure Stack Edge Pro offrono funzionalità Azure come ambiente di calcolo, archiviazione, rete e Machine Learning (ML) con accelerazione hardware in qualsiasi posizione perimetrale. I cluster Kubernetes possono essere creati dopo aver abilitato il ruolo di calcolo in uno dei dispositivi Pro-GPU, Pro-R e Mini-R. La gestione degli aggiornamenti del cluster Kubernetes può essere eseguita usando gli aggiornamenti standard disponibili per il dispositivo.
Scenario
Ideale per i carichi di lavoro IoT esistenti (Linux) o l'aggiornamento del calcolo per ML su dispositivi perimetrali. Questa è un'opzione valida quando non è necessario avere un controllo più granulare sui cluster.
Le autorizzazioni di amministratore non vengono concesse per impostazione predefinita. Anche se è possibile usare il gruppo di prodotti per fare determinate eccezioni, ciò rende difficile avere un controllo più corretto del cluster.
Se non è già presente un dispositivo Azure Stack Edge, è previsto un costo aggiuntivo. Esplorare i dispositivi Azure Stack Edge e verificare se soddisfare i requisiti di calcolo.
Calico, MetalLB e CoreDNS vengono installati per la rete Kubernetes nel dispositivo.
Attualmente sono supportati solo i carichi di lavoro Linux.
Oltre a Kubernetes, Azure Stack Edge include anche il runtime IoT, il che significa che i carichi di lavoro possono anche essere distribuiti nei cluster Azure Stack Edge tramite IoT Edge.
Il supporto per i cluster a due nodi non è attualmente disponibile. Ciò significa che questa opzione non è una soluzione a disponibilità elevata.
Considerazioni
Costo operativo:
- Con il supporto fornito con il dispositivo, il costo operativo è minimo ed è limitato alla gestione del carico di lavoro.
Facilità di configurazione:
- La distribuzione del cluster Kubernetes preconfigurata e ben documentata semplifica la configurazione necessaria rispetto a Kubernetes bare metal.
Flessibilità:
- La configurazione è già impostata e le autorizzazioni di amministratore non vengono concesse per impostazione predefinita. Il coinvolgimento del gruppo di prodotti può essere necessario oltre la configurazione di base e l'infrastruttura sottostante deve essere un dispositivo Azure Stack Edge Pro, rendendo questa opzione meno flessibile.
AKS ibrido
Il servizio Azure Kubernetes ibrido è un set di impostazioni e configurazioni predefinite usate per distribuire uno o più cluster Kubernetes (con Windows Admin Center o moduli di PowerShell) in un cluster multinodo che esegue Windows Server o Azure Stack HCI 20H2 o versione successiva.
Scenario
Ideale per coloro che vogliono un modo semplificato e semplificato per ottenere un cluster supportato da Microsoft nei dispositivi compatibili (Azure Stack HCI o Windows Server). La complessità delle operazioni e della configurazione viene ridotta a scapito della flessibilità rispetto all'opzione Kubernetes bare metal.
Considerazioni
Costo operativo:
- Il cluster supportato da Microsoft riduce al minimo i costi operativi.
Facilità di configurazione:
- La distribuzione del cluster Kubernetes preconfigurata e ben documentata semplifica la configurazione necessaria rispetto a Kubernetes bare metal.
Flessibilità:
- La configurazione del cluster è impostata, ma vengono concesse le autorizzazioni di amministratore. L'infrastruttura sottostante deve essere Azure Stack HCI o Windows Server. 2019. Questa opzione è più flessibile rispetto a Kubernetes in Azure Stack Edge e meno flessibile rispetto a Kubernetes bare metal.
Collaboratori
Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai seguenti contributori.
Autore principale:
- Prabhjot Kaur | Principal Cloud Solution Architect
Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.
Passaggi successivi
Per altre informazioni, vedere gli articoli seguenti: