Gestione delle configurazioni GitOps

Crea una configurazione per distribuire le app dal tuo repository GitHub o GitLab ai tuoi cluster.

Satellite Config esegue il backup della configurazione corrente ogni 5 minuti, indipendentemente dal fatto che l'operazione vada a buon fine o meno. Se viene apportata una modifica alla configurazione del cluster, ad esempio tramite kubectl edit, Satellite, Config aggiornerà la configurazione in modo che corrisponda a quanto definito nel repository GitHub o GitLab.

Creazione di configurazioni Satellite

Con " Satellite Config" è possibile creare una configurazione per specificare quali risorse di " Kubernetes " si desidera distribuire a un gruppo di cluster " Red Hat OpenShift on IBM Cloud " in esecuzione nella propria sede " Satellite " o su " IBM Cloud ".

Prima di iniziare

Creazione di un segreto per l'uso di un repository privato

Per connettersi ai repository privati, è necessario creare un token di accesso personale Git e applicarlo ai propri cluster.

  1. Crea un token Github o Gitlab.

  2. Codifica il token in base64.

    printf "TOKEN_FROM_GITHUB_OR_GITLAB" | base64
    
  3. Per ogni cluster che vuoi utilizzare, accedi al cluster e crea un segreto denominato razee-git nel namespace razeedeploy applicando il seguente file YAML:

    apiVersion: v1
    data:
      token: [BASE64_ENCODED_TOKEN_FROM_GITHUB_OR_GITLAB]
    kind: Secret
    metadata:
      name: razee-git
      namespace: razeedeploy
    type: Opaque
    

    È possibile avere un solo segreto tra i repository GitHub e GitLab.

Creazione di configurazioni Satellite dalla console

Per distribuire un'applicazione di esempio, vedi Distribuzione delle risorse Kubernetes ai cluster con Satellite Config.

Per creare la tua configurazione personalizzata, utilizza l'IU Satellite e attieniti alla seguente procedura.

  1. Accedi alla IU di configurazioneSatellite con le tue credenziali IBM Cloud.

  2. Fare clic su Crea configurazione.

  3. Nella pagina Sfoglia modelli, selezionare il modello GitOps.

  4. Nella pagina di Configurazione, specificare il nome della configurazione e il provider.

    Campo Descrizione
    Nome della configurazione Inserisci il nome della configurazione " Satellite ".
    Provider Selezionare il provider remoto per le configurazioni di " Satellite ", che memorizza le definizioni delle risorse " Kubernetes " da distribuire nei propri cluster. Le opzioni sono GitHub e GitLab.
  1. Nella pagina "Abbonamento ", specifica il tuo repository URL, la visibilità del repository, Git i dettagli del riferimento, il percorso del tuo file o della tua directory e il gruppo di cluster in cui effettuare la distribuzione.
    Campo Descrizione
    Repository URL Inserisci il repository remoto da utilizzare per questo abbonamento a Satellite.
    Visibilità repository Selezionare se questo repository è pubblico o privato.
    Tipo di riferimento Git Selezionare il tipo di riferimento Git da utilizzare per questa sottoscrizione Satellite. I valori validi sono Branch, Tag, Commit e Release.
    Nome del ramo/tag/commit/versione Inserisci il riferimento Git da utilizzare per questa sottoscrizione Satellite.
    Percorso Inserisci il percorso dei file nel repository remoto da utilizzare per questo abbonamento a Satellite.
    Nome dell'abbonamento Inserisci un nome per il tuo abbonamento a " Satellite ". Il nome branch/tag/commit/release viene compilato automaticamente come nome sottoscrizione per impostazione predefinita.
    Gruppo di cluster Inserisci il nome del gruppo di cluster in cui desideri distribuire le risorse di Kubernetes.
  1. Nella pagina Riepilogo, confermare che le informazioni visualizzate siano corrette e fare clic su Completa.

Creazione di configurazioni Satellite dalla CLI

Utilizza il plug-in CLI per i comandi " Satellite " per creare una configurazione.

Per creare la configurazione:

  1. Configura i tuoi cluster da utilizzare con Satellite Config. Questa configurazione include la creazione di un gruppo di cluster e la concessione dell'accesso di configurazione Satellite ai tuoi cluster.

  2. Crea una configurazione " Satellite ".

    ibmcloud sat config create --name CONFIG_NAME [--provider <provider>] [-q]
    
    Descrizione dei componenti di questo comando
    Componente Descrizione
    --name <config_name> Inserisci il nome della configurazione di Satellite.
    --provider <provider> Immetti il fornitore remoto per le configurazioni Satellite, che memorizza le definizioni delle risorse Kubernetes da distribuire ai tuoi cluster. I valori validi sono github e gitlab.
    -q Non visualizza il messaggio dei promemoria di aggiornamento o del giorno.

    Output di esempio

    Creating configuration...
    OK
    Configuration <config_name> was successfully created with ID 116fffde-0835-467c-8987-67dd42e4e393.
    
  3. Crea una Sottoscrizione per il tuo gruppo di cluster nella configurazione Satellite.

    ibmcloud sat subscription create --name <subscription_name> --group <cluster_group_name> --config <config_name_or_ID> --repository <repository_value> --gitref-type <type_value> --gitref <gitref_value> --path <path_value> [-q]
    
    Descrizione dei componenti di questo comando
    Componente Descrizione
    --name <subscription_name> Inserisci un nome per il tuo abbonamento a “ Satellite ”.
    --group <cluster_group_name> Immetti il nome del gruppo di cluster in cui vuoi distribuire le tue risorse Kubernetes.
    --config <config_name_or_ID> Immetti il nome o ID della configurazione Satellite che hai creato in precedenza.
    --repository <repository_value> Immettere il repository remoto da utilizzare per questa sottoscrizione Satellite.
    --gitref-type <type_value> Immettere il tipo di riferimento Git da utilizzare per questa sottoscrizione Satellite. I valori validi sono branch, commit, tag e release.
    --gitref <gitref_value> Immetti il riferimento Git da utilizzare per questa sottoscrizione Satellite.
    --path <path_value> Immettere il percorso dei file nel repository remoto da utilizzare per questa sottoscrizione Satellite.
    -q Non visualizza il messaggio dei promemoria di aggiornamento o del giorno.

    Output di esempio

    Creating subscription...
    OK
    Subscription <subscription_name> was successfully created with ID f6114bd5-f71e-4335-b034-ca45fa3cab81.
    
  4. Segui il passo 5 in Creazione delle configurazioni Satellite dalla console per esaminare lo stato di rollout delle tue risorse Kubernetes.

Aggiornamento della propria configurazione Satellite

Per aggiornare la configurazione, è possibile effettuare aggiornamenti a livello di sottoscrizione. Le azioni da intraprendere dipendono dal tipo di aggiornamenti che si desidera effettuare.

  • Per distribuire una nuova versione della tua applicazione allo stesso gruppo di cluster, aggiorna i file nel repository GitHub o GitLab definito nella tua configurazione ed esegui il commit delle modifiche.
  • Per modificare le proprietà del repository di origine, è possibile modificare la sottoscrizione e aggiornare i campi con nuovi dettagli.
  • Per associare più repository alla stessa configurazione, aggiungere un nuovo repository di origine o aggiungere nuovi dettagli di riferimento Git per lo stesso repository di origine, è possibile creare nuove sottoscrizioni. Fare clic su Crea abbonamento e completare i dettagli del nuovo abbonamento. Se si desidera creare una nuova sottoscrizione con pochi dettagli modificati, è possibile utilizzare l'opzione Duplica per riempire automaticamente tutti i campi con le proprietà della sottoscrizione esistente e modificare i campi che si desidera modificare.
  • Per eliminare una sottoscrizione, utilizzare l'opzione Rimuovi.

Aggiornamento della tua sottoscrizione dalla console

Utilizza la console Satellite per aggiornare la configurazione.

  1. Accedi alla IU di configurazioneSatellite con le tue credenziali IBM Cloud.

  2. Seleziona la configurazione che desideri aggiornare.

  3. Fare clic sul menu di overflow nella riga della sottoscrizione per aggiornare e selezionare Modifica.

  4. Nella pagina Modifica sottoscrizione, apportare le modifiche e fare clic su Salva.

Aggiornamento della configurazione Satellite con la CLI

Utilizza il plug-in CLI per i comandi " Satellite " per aggiornare la configurazione. Se si desidera aggiornare la configurazione per utilizzare un nuovo file, è possibile aggiornare la sottoscrizione in modo che punti al nuovo file.

  1. Aggiorna la Sottoscrizione per il tuo gruppo di cluster per usare la nuova configurazione di Satellite nel repository remoto. È sufficiente specificare i parametri che si desidera modificare.

    ibmcloud sat subscription update --subscription <subscription_name> [--name <new_subscription_name>] [--group <cluster_group_name>] [--repository <repository_value>] [--gitref-type <type_value>] [--gitref <gitref_value>] [--path <path_value>] [-f] [-q]
    
    Descrizione dei componenti di questo comando
    Componente Descrizione
    --subscription <subscription_value> Immettere il nome o l'ID della sottoscrizione da aggiornare.
    --name <new_subscription_name> Inserisci il nuovo nome dell'abbonamento.
    --group <cluster_group_name> Immetti il nome del gruppo di cluster in cui vuoi distribuire le tue risorse Kubernetes.
    --repository <repository_value> Immettere il repository remoto da utilizzare per questa sottoscrizione Satellite.
    --gitref-type <type_value> Immettere il tipo di riferimento Git da utilizzare per questa sottoscrizione Satellite. I valori validi sono branch, commit, tag e release.
    --gitref <gitref_value> Immetti il riferimento Git da utilizzare per questa sottoscrizione Satellite.
    --path <path_value> Immettere il percorso dei file nel repository remoto da utilizzare per questa sottoscrizione Satellite.
    -f Forza l'esecuzione del comando senza richiedere l'intervento dell'utente.
    -q Non visualizza il messaggio dei promemoria di aggiornamento o del giorno.

    Output di esempio

    Are you sure you want to update the subscription <subscription_name>? [y/N]y
    OK
    Subscription f6114bd5-f71e-4335-b034-ca45fa3cab81 was successfully updated.
    
  2. Segui il passo 5 in Creazione delle configurazioni Satellite dalla console per esaminare lo stato di rollout delle tue risorse Kubernetes.