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 oc per 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:

  1. Creare o aggiornare le configurazioni Satellite richieste e le relative versioni per i file di distribuzione.
  2. Creare o aggiornare gli abbonamenti di configurazione di Satellite con le configurazioni di Satellite e le versioni che devono essere distribuite.
  3. 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

Confronto tra i modelli 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 ".