Distribuzione di un artifact Helm

Helm è un gestore di pacchetti open source per Kubernetes che offre la possibilità di condividere, creare package e distribuire il software creato per Kubernetes. Il servizio DevOps di Oracle Cloud Infrastructure (OCI) supporta la distribuzione di grafici Helm nel cluster OKE (Kubernetes Engine). È inoltre possibile eseguire i comandi Helm specificati come artifact in linea e aggiunti alla fase Helm per la distribuzione.

La distribuzione del grafico Helm si verifica solo quando il grafico Helm viene distribuito per la prima volta o se vengono rilevati aggiornamenti nei parametri dell'artifact o dello stadio Helm. Questa operazione viene convalidata automaticamente prima di eseguire la distribuzione. Tuttavia, per distribuire il grafico Helm indipendentemente dagli aggiornamenti apportati all'artifact o a qualsiasi altro parametro di fase Helm, durante l'esecuzione della distribuzione è necessario impostare il parametro ENFORCE_HELM_DEPLOYMENT su true. Questo parametro funziona sia a livello di fase che a livello di pipeline. Quando il parametro è impostato per una fase specifica, è applicabile solo per quella fase. Se il parametro è impostato per un argomento di pipeline o distribuzione, è applicabile a tutte le fasi della pipeline. Tuttavia, se il parametro è impostato per l'argomento della pipeline o della distribuzione e l'argomento di override della fase, il parametro o l'argomento di distribuzione della pipeline ha la precedenza sull'argomento di override della fase. Il parametro è applicabile a tutte le fasi della pipeline.

Per una fase di distribuzione Helm specifica, è possibile utilizzare OCI_DEVOPS_DEPLOY_USE_CREATE_NAMESPACE_FLAG come override dei parametri della fase. Il parametro può essere impostato su true o false per controllare il flag --create-namespace quando si utilizza il comando helm upgrade per la distribuzione dei grafici Helm. Questo parametro opera a livello di fase, offrendo maggiore granularità nelle configurazioni di distribuzione. Per ulteriori informazioni, vedere Configurazione di parametri.

Prima di iniziare, è necessario disporre di una pipeline di distribuzione e creare un cluster Kubernetes Engine. È possibile eseguire la distribuzione in cluster OKE sia pubblici che privati.

Per creare gruppi dinamici e criteri per le pipeline di distribuzione, vedere Criteri di pipeline di distribuzione. Per ulteriori dettagli, consulta DevOps Criteri IAM.

I grafici Helm devono trovarsi nel repository di Container Registry OCI per la distribuzione. Vedere Aggiunta di un grafico Helm. Per eseguire i comandi Helm, è necessario specificare i comandi Helm come artifact in linea. Vedere Specifica del comando Helm.

I grafici Helm contengono modelli di file manifest Kubernetes YAML e un file values.yaml per fornire i valori di modello predefiniti. values.yaml è un file generico che si trova in OCI Artifact Registry. È necessario creare un riferimento a questo file. Vedere Aggiunta di un artifact del Registro artifact.

Nota

La distribuzione non supporta la sostituzione dei parametri nel campo tar del grafico Helm. Tuttavia, è supportato nel file values.yaml.

Per accedere a DevOps utilizzando la console di Oracle Cloud, l'API REST e l'interfaccia CLI, vedere Accesso a DevOps.

    1. Aprire il menu di navigazione e fare clic su Servizi per sviluppatori. In DevOps fare clic su Progetti.
    2. Selezionare un progetto e una pipeline di distribuzione.
    3. Per aggiungere una fase alla pipeline, fare clic sull'icona + e selezionare Aggiungi fase.
    4. Per il tipo di area intermedia, selezionare Installa grafico Helm nel cluster Kubernetes o eseguire i comandi Helm nel cluster Kubernetes, quindi fare clic su Successivo.
    5. Immettere un nome e una descrizione per lo stadio. L'aggiunta di una descrizione è facoltativa.
    6. Per Ambiente, selezionare un ambiente cluster esistente.
    7. Selezionare lo Scopo per la creazione della fase Helm. Le opzioni disponibili sono riportate di seguito.

      • Installa o aggiorna grafico Helm nel cluster Kubernetes
      • Esegui comandi Helm sul cluster Kubernetes
    8. Se si seleziona l'opzione per eseguire i comandi Helm, selezionare l'artifact di specifica dei comandi Helm e aggiungere la fase. Per ulteriori informazioni, vedere Specifica dei comandi Helm.
    9. Se si seleziona l'opzione per installare o aggiornare il grafico Helm, immettere un nome di release. Esempio: helm-release.

      Una release fa riferimento all'istanza in esecuzione del grafico Helm con una configurazione specifica. Un singolo grafico può essere installato più volte nello stesso cluster e creare release diverse. Il nome della release può essere parametrizzato, ad esempio helm-release-${version}.

      I nomi delle release devono essere conformi allo standard RFC 1123. Possono contenere solo caratteri alfanumerici minuscoli o '-', devono iniziare e finire con un carattere alfanumerico.

    10. Per disinstallare la release Helm dal cluster OKE quando questa fase viene eliminata dalla pipeline, selezionare la casella di controllo Disinstalla la release Helm all'eliminazione della fase.
    11. Fare clic su Seleziona artifact per selezionare il grafico Helm per la distribuzione.
    12. (Facoltativo) Fare clic su Seleziona artifact per selezionare il file values.yaml contenente i valori passati al grafico helm. Il file contiene i parametri predefiniti che è possibile sostituire.
    13. (Facoltativo) Per sostituire lo spazio dei nomi predefinito dell'ambiente, immettere un valore per Sostituisci spazio dei nomi Kubernetes. Il valore può essere parametrizzato, ad esempio helm-${namespace}.

      I valori dello spazio di nomi devono seguire lo standard RFC 1123. Possono contenere solo caratteri alfanumerici minuscoli o '-', devono iniziare e finire con un carattere alfanumerico.

    14. (Facoltativo) Immettere un valore di timeout per la distribuzione in secondi.
    15. (Facoltativo) Specificare le opzioni di aggiornamento Helm per aggiornare la versione del grafico Helm o modificare la configurazione della release Helm. Vedere Helm Upgrade.

      È possibile impostare valori e valori stringa per il comando Helm durante la distribuzione del grafico Helm.

      Specificare il numero massimo di upgrade per distribuzione. L'impostazione predefinita è 10. Immettere zero se non si desidera impostare alcun limite per gli aggiornamenti.

    16. Per eseguire automaticamente il rollback all'ultima versione di release riuscita se la convalida non riesce, selezionare . Per ulteriori informazioni, vedere Ripristino di una distribuzione.
    17. (Facoltativo) Per aggiungere tag alla pipeline, fare clic su Mostra opzioni di applicazione tag. L'applicazione di tag è un sistema di metadati che consente di organizzare e tenere traccia delle risorse nella tenancy.

      Se si dispone delle autorizzazioni per creare una risorsa, si dispone anche delle autorizzazioni per aggiungervi tag in formato libero.

      Per aggiungere una tag definita, è necessario disporre delle autorizzazioni per utilizzare lo spazio di nomi tag.

      Per ulteriori informazioni, vedere Tag delle risorse.

    18. Per aggiungere lo stadio alla pipeline, fare clic su Aggiungi.

      Se è stata selezionata la casella di controllo per disinstallare la release helm durante l'eliminazione della fase, fare clic su Conferma nella finestra di dialogo Disinstalla avvertenza release Helm. Quando la release Helm viene disinstallata, viene creata una richiesta di lavoro per disinstallare la release, il cui stato viene tracciato nella sezione Distribuzione della pagina Pipeline di distribuzione.

      Un'anteprima fase fornisce uno snapshot della configurazione.

    Aggiungere altre fasi in sequenza o in parallelo alla pipeline, se necessario. Per distribuire l'output della build nell'ambiente di destinazione, eseguire la pipeline di distribuzione.

    Durante la distribuzione, è possibile annullare la distribuzione di questa fase che determina il rollback allo stato precedente. Se si annulla la distribuzione quando è in corso un aggiornamento della release Helm, l'aggiornamento viene annullato e viene eseguito il rollback della release allo stato precedente.

    Per attivare automaticamente una distribuzione dalla pipeline di build, è possibile aggiungere una fase di distribuzione del trigger alla pipeline di build.

  • Per creare una fase Helm OKE per la pipeline, eseguire il comando create-oke-helm-chart-stage:

    oci devops deploy-stage create-oke-helm-chart-stage

    Parametri obbligatori:

    • --helm-chart-artifact-id
    • --oke-cluster-environment-id
    • --pipeline-id
    • --stage-predecessor-collection
    • --release-name

    Per aggiungere il campo Scopo alla fase Helm, eseguire il comando update-oke-helm-chart-stage:

    oci devops deploy-stage update-oke-helm-chart-stage --helm-command-artifact-ids --purpose

    Per disinstallare la fase Helm, eseguire il comando create-oke-helm-chart-stage:

    oci devops deploy-stage create-oke-helm-chart-stage --is-uninstall-on-stage-delete

    Per ottenere tutti i comandi per deploy-stage:

    oci devops deploy-stage -h

    Per ottenere assistenza per il comando create-oke-helm-chart-stage:

    oci devops deploy-stage create-oke-helm-chart-stage -h
  • Per creare una fase del cluster Kubernetes per la pipeline, utilizzare l'operazione CreateDeployStage. Per l'attributo deployStageType, specificare il valore come OKE_HELM_CHART_DEPLOYMENT.