Modelli di distribuzione
I modelli di distribuzione consentono di comprendere il proprio processo di distribuzione dell'applicazione tra i cluster.
Distribuzione basata sul push
Il modello di distribuzione basato sul push distribuisce la tua applicazione su un singolo cluster. La pipeline di distribuzione si connette al cluster e applica i file di distribuzione. Questo modello non richiede l'installazione di alcun operatore o agente sul cluster.
È possibile utilizzare qualsiasi strumento di distribuzione che possa essere eseguito dalla pipeline di distribuzione sul cluster di destinazione, ad esempio:
- kubectl (oppure
ocper Red Hat OpenShift on IBM Cloud ) per applicare i manifesti di Kubernetes. - Helm per installare o aggiornare una versione del grafico. Il grafico può essere archiviato nel repository dell'inventario, come qualsiasi altra risorsa di distribuzione.
Gli script di distribuzione fanno parte del repository di distribuzione ed è possibile personalizzarli in base alle esigenze della propria applicazione e del proprio cluster. DevSecOps fornisce script di supporto, denominati " libreria commons ", che coprono le operazioni di distribuzione.
Distribuzione basata sul pull
Il modello di distribuzione basato sul pull è adatto per le distribuzioni di applicazioni con più cluster. Questo modello utilizza IBM Cloud Satellite Config come strumento di distribuzione per la distribuzione su più cluster. Per ulteriori informazioni, vedi Understanding Satellite Config.
La pipeline di distribuzione non si collega a ciascun cluster. Pubblica invece i file di distribuzione su Satellite Config, e un agente in esecuzione su ciascun cluster li recupera. I cluster che ricevono la stessa distribuzione sono raggruppati in un gruppo di cluster denominato “ Satellite ”.
Satellite La configurazione distribuisce le definizioni delle risorse Kubernetes. Se la tua applicazione è impacchettata come diagramma " Helm " o come overlay " Kustomize ", convertila prima in manifesti " Kubernetes
", ad esempio utilizzando helm template o kustomize build, quindi carica i manifesti così ottenuti come versione di configurazione.
Per una distribuzione basata sul pull, completa questa procedura:
- Creare o aggiornare le configurazioni Satellite richieste e le relative versioni per i file di distribuzione.
- Creare o aggiornare gli abbonamenti di configurazione di Satellite con le configurazioni di Satellite e le versioni che devono essere distribuite.
- Una volta aggiornati gli abbonamenti, l’agente Razee installato sui cluster recupera le distribuzioni più recenti da Satellite Config e le distribuisce su tutti i cluster.
Scelta di un modello di implementazione
| Considerazioni | Distribuzione basata sul push | Distribuzione basata sul pull |
|---|---|---|
| Destinazione | Un singolo cluster | Un gruppo di cluster |
| Strumento di distribuzione | kubectl, oc, Helm, Kustomize, o qualsiasi strumento che venga eseguito nella pipeline |
Satellite Configurazione |
| Componente nel cluster | Nessuno | Satellite Agente di configurazione |
| Accesso al cluster | La pipeline richiede le credenziali per accedere al cluster | L'agente sul cluster recupera la distribuzione e la pipeline necessita di accesso solo alla configurazione di Satellite |
| Diagrammi Helm | Installato o aggiornato direttamente con Helm | Conversione in manifest prima del caricamento |
Per ulteriori informazioni sulla selezione della destinazione di distribuzione, consulta la sezione " Distribuzione dell'applicazione su una destinazione ".