Utilizzo dei grafici di Helm in Container Registry

Puoi archiviare in modo sicuro e condividere i grafici di " Helm " con altri utenti su IBM Cloud® Container Registry.

Supporto OCI per i grafici di Helm

La Open Container Initiative(OCI) ha rilasciato la Open Container Initiative Distribution Specification v1.0.0 nel settembre 2021. Questa specifica supporta altri tipi di artefatti oltre alle immagini dei contenitori. Uno dei tipi di artefatti supportati è il grafico Helm.

Helm v3.8.0 fornisce il supporto per memorizzare e lavorare con i grafici nei registri OCI, come alternativa agli archivi di grafici di Helm. Per ulteriori informazioni, consultare la documentazione dei registri Helm.

Aggiunta dei grafici di Helm al proprio spazio dei nomi

È possibile archiviare e condividere in modo sicuro i grafici di Helm con altri utenti aggiungendo i grafici al proprio spazio dei nomiUna raccolta di repository che memorizzano le immagini in un registro. Uno spazio dei nomi è associato a un account IBM Cloud , che può includere più spazi dei nomi. in IBM Cloud Container Registry.

Ogni grafico Helm che desideri aggiungere al tuo spazio dei nomi deve essere già presente sul tuo computer locale. È possibile scaricare (estrarre) un grafico da un altro repository sul computer locale oppure creare il proprio grafico utilizzando il comando helm create. Per aggiungere un grafico al proprio namespace, è necessario caricare (push) il grafico locale nel proprio namespace all'indirizzo IBM Cloud Container Registry.

Non inserire informazioni personali nei grafici (ad esempio, nei nomi degli spazi dei nomi o nei campi di descrizione) o nei dati di configurazione dei grafici (ad esempio, i nomi dei grafici o le etichette dei grafici).

Prelievo di grafici da un altro registro o repository Helm

È possibile estrarre (scaricare) un grafico da qualsiasi fonte di registroUn servizio di archiviazione e distribuzione che contiene immagini pubbliche o private utilizzate per creare contenitori. pubblica o privata o dal repository Helm sul proprio computer, e quindi etichettarlo per un uso successivo in IBM Cloud Container Registry.

Scarica un grafico da un registro privato o pubblico o da un repository Helm sul tuo computer.
Scaricare grafici da un altro registro

Prima di iniziare, completa le seguenti attività.

  1. Scaricare il grafico Helm sul computer locale.

    • Scaricate il grafico Helm dal registro OCI:
        helm pull oci://REGISTRY/MY_NAMESPACE/CHART_NAME --version CHART_VERSION
        ```
    
        Esempio, dove `REGISTRY` è `localhost:5000`, `MY_NAMESPACE` è `helm-charts`, `CHART_NAME` è `mychart`, e `CHART_VERSION` è `0.1.0`:
    
        ```sh {: pre}
        helm pull oci://localhost:5000/helm-charts/mychart --version 0.1.0
        ```
    - Scarica il grafico Helm da un repository Helm:
    
    ```sh
        helm pull [CHART_URL | REPO/CHART_NAME] --version CHART_VERSION
        ```
    
        Esempio, dove `REPO/CHART_NAME` è `ibm-charts/ibm-istio` e `CHART_VERSION` è `1.2.2`.
    
        Puoi aggiungere l'alias del repository utilizzando il comando [`helm repo add`](https://helm.sh/docs/helm/helm_repo_add/){: external}.
        {: tip}
    
        ```sh {: pre}
        helm pull ibm-charts/ibm-istio  --version 1.2.2
        ```
    Se si riceve un messaggio `unauthorized: authentication required` o `denied: requested access to the resource is denied`, eseguire il comando [`ibmcloud cr login`](/docs/Registry?topic=Registry-containerregcli#bx_cr_login).
    {: tip}
    
    

Dopo aver estratto un grafico per il namespace, è possibile caricare (push) il grafico dal computer locale al namespace.

Spingendo i grafici di Helm nel proprio spazio dei nomi

È possibile inviare (caricare) un grafico dal computer al proprio spazio dei nomi in IBM Cloud Container Registry per memorizzare il grafico e condividerlo con altri utenti.

Invia un grafico dal tuo computer a IBM Cloud Container Registry.
Invia i grafici al tuo namespace

Prima di iniziare, completa le seguenti attività.

Per caricare (inviare) un grafico, segui questi passaggi:

  1. Accedere alla CLI eseguendo il seguente comando, dove DOMAIN è il nome del dominio e il nome utente (-u) è impostato su iamapikey. Per saperne di più sui nomi di dominio, vedere Regioni.

    helm registry login DOMAIN -u iamapikey
    

    Il comando richiede quindi di inserire la password, che è la chiave API IAM.

    Devi effettuare l'accesso se desideri scaricare un grafico dal tuo account privato su IBM Cloud Container Registry.

  2. Per visualizzare tutti gli spazi dei nomi disponibili nel proprio account, eseguire il comando ibmcloud cr namespace-list.

  3. Carica il grafico nel tuo spazio dei nomi.

    helm push MY_CHART_PACKAGE oci://REGION.icr.io/MY_NAMESPACE
    

    Esempio, dove MY_CHART_PACKAGE è mychart-0.1.0.tgz, REGION è uk, e MY_NAMESPACE è helm-charts:

    helm push mychart-0.1.0.tgz oci://uk.icr.io/helm-charts
    

    Se ricevi un messaggio del tipo unauthorized: authentication required o denied: requested access to the resource is denied, esegui il comando ibmcloud cr login.

Dopo aver spinto il grafico su IBM Cloud Container Registry, è possibile installare il grafico di Helm nel cluster di IBM Cloud Kubernetes Service.

Copia di grafici tra registri

È possibile copiare i grafici tra i registri estraendo un grafico da un registro di una regione e spingendolo in un registro di un'altra regione, in modo da condividere il grafico con gli utenti di entrambe le regioni.

Copia di cartelle cliniche tra registri.
Copia di cartelle cliniche tra registri

Prima di iniziare, completa le seguenti attività.

Per copiare un grafico da un registro all'altro, procedere come segue:

  1. Estrarre un grafico da un registro.
  2. Spostate il grafico in un altro registro. Assicurati di utilizzare il nome di dominio corretto per la nuova regione a cui ti rivolgi.

Dopo aver copiato il grafico, è possibile installare il grafico Helm nel cluster in IBM Cloud Kubernetes Service.

Installazione di un grafico Helm nel cluster

È possibile installare un grafico Helm nel cluster in IBM Cloud Kubernetes Service direttamente dal registro. Seguire le istruzioni della tabella Helm README e utilizzare il riferimento completo al registro della tabella e alla versione della tabella per l'installazione.

helm install RELEASE_NAME oci://REGION.icr.io/MY_NAMESPACE/CHART_NAME --version CHART_VERSION

Esempio, dove RELEASE_NAME è myrelease, REGION è uk, MY_NAMESPACE è helm-charts, CHART_NAME è mychart e CHART_VERSION è 0.1.0:

helm install myrelease oci://uk.icr.io/helm-charts/mychart --version 0.1.0

Eliminazione dei grafici dal proprio repository privato

È possibile eliminare i grafici indesiderati dal repository privato IBM Cloud utilizzando la console IBM Cloud o la CLI.

Se desideri eliminare un repository privato e i grafici ad esso associati, consulta la sezione " Eliminazione di un repository privato e dei grafici associati ".

L'eliminazione di un grafico che viene utilizzato da una distribuzione esistente potrebbe causare un errore di aggiornamento, rollback o eliminazione di Helm.

Se si desidera ripristinare un grafico eliminato, è possibile elencare il contenuto del cestino eseguendo il comando ibmcloud cr trash-list e ripristinare un grafico selezionato eseguendo il comando ibmcloud cr image-restore. È possibile utilizzare questi comandi poiché i grafici di Helm sono un tipo di artefatto supportato in OCI.

Non è possibile eliminare i grafici dal cestino. I grafici vengono conservati nel cestino per 30 giorni. Non ti verrà addebitato alcun costo per le cartelle cliniche che si trovano nel cestino.

Qualora all’interno di un repository siano presenti più tagUn identificativo definito dall'utente collegato a un gruppo di risorse contenute in un account. Le tag sono visibili al livello dell'account. relativi allo stesso riepilogo del grafico, il ibmcloud cr image-rm comando rimuove il grafico sottostante e tutti i suoi tag. Se lo stesso grafico esiste in un repository o in uno spazio dei nomi diverso, la copia del grafico non viene rimossa.

Un tag deve sempre corrispondere alla versione semantica del grafico, il che significa che non viene utilizzato un tag latest.

Eliminazione dei grafici dal repository privato nella CLI

È possibile eliminare i grafici indesiderati e tutti i relativi tag dal proprio repository privato su IBM Cloud utilizzando la CLI.

L'eliminazione di un grafico che viene utilizzato da una distribuzione esistente potrebbe causare un errore di aggiornamento, rollback o eliminazione di Helm.

Se si desidera ripristinare un grafico eliminato, è possibile elencare il contenuto del cestino eseguendo il comando ibmcloud cr trash-list e ripristinare un grafico selezionato eseguendo il comando ibmcloud cr image-restore.

Per eliminare un grafico tramite l'interfaccia CLI, procedere come segue:

  1. Effettua l'accesso a IBM Cloud eseguendo il comando ibmcloud login.

  2. Per eliminare un grafico, eseguire il seguente comando, dove CHART è il nome del grafico che si desidera rimuovere, nel formato repository@digest o repository:tag. A differenza delle immagini, è necessario specificare un tag perché il tag latest non esiste, perché un tag deve sempre corrispondere alla versione semantica del grafico. È possibile eliminare più grafici indicando nel comando ogni percorso del registro privato IBM Cloud, separando i percorsi con uno spazio.

    ibmcloud cr image-rm CHART
    

    Per trovare i nomi dei tuoi grafici, esegui il comando ibmcloud cr image-list. Il registro memorizza diversi tipi di artefatti, tra cui grafici " Helm " e immagini di container. Combinare il contenuto della colonna Repository (repository) e della colonna Tag (tag) separate da due punti (:) per creare il nome dell'immagine nel formato repository:tag. Per identificare il grafico in base al digest, eseguire il comando ibmcloud cr image-digests. Combinare il contenuto della colonna Repository (repository) e della colonna Digest (digest) separate da un simbolo at (@) per creare il nome dell'immagine nel formato repository@digest.

  3. Verifica che il grafico sia stato eliminato eseguendo il seguente comando e controlla che il grafico non compaia nell'elenco.

    ibmcloud cr image-list
    

Eliminazione dei grafici dal repository privato nella console IBM Cloud

Puoi eliminare i grafici indesiderati e tutte le relative tag dal tuo repository IBM Cloud privato utilizzando la console IBM Cloud.

L'eliminazione di un grafico che viene utilizzato da una distribuzione esistente potrebbe causare un errore di aggiornamento, rollback o eliminazione di Helm.

Se si desidera ripristinare un grafico eliminato, è possibile elencare il contenuto del cestino eseguendo il comando ibmcloud cr trash-list e ripristinare un grafico selezionato eseguendo il comando ibmcloud cr image-restore.

Per eliminare un grafico utilizzando la console IBM Cloud, completa la seguente procedura.

  1. Accedere alla console IBM Cloud https://cloud.ibm.com/login con il proprio IBMid.
  2. Se hai più account IBM Cloud, seleziona l'account e la regione che desideri utilizzare dal menu dell'account.
  3. Fare clic su Menu di navigazione, quindi fare clic su Container Registry.
  4. Fai clic su Immagini. Viene visualizzato un elenco dei grafici (e delle immagini, se presenti). Il registro memorizza diversi tipi di artefatti, tra cui grafici " Helm " e immagini di container.
  5. Nella riga che contiene il grafico che desideri eliminare, seleziona la casella di controllo.
  6. Fai clic su Elimina immagine.

Spostare i grafici nel cestino

È possibile visualizzare l'elenco dei grafici eliminati presenti nel cestino e vedere quando scadranno.

Per individuare i grafici presenti nel cestino, è possibile utilizzare il comando ibmcloud cr trash-list. I grafici vengono conservati nel cestino per 30 giorni.

Per visualizzare l'elenco dei grafici presenti nel cestino, segui questi passaggi.

  1. Effettua l'accesso a IBM Cloud eseguendo il comando ibmcloud login.

  2. È possibile eliminare i grafici dal cestino eseguendo il seguente comando.

    ibmcloud cr trash-list
    
  3. È possibile visualizzare solo i grafici presenti nel cestino relativi allo spazio dei nomi di proprio interesse eseguendo il seguente comando, dove NAMESPACE è il proprio spazio dei nomi.

    ibmcloud cr trash-list --restrict NAMESPACE
    

Ripristino dei grafici

È possibile ripristinare i grafici dal cestino. I grafici eliminati vengono conservati nel cestino per 30 giorni.

È possibile ripristinare un grafico dal cestino eseguendo il comando ibmcloud cr image-restore. Per scoprire quali grafici si trovano nel cestino, eseguire il comando ibmcloud cr trash-list.

È possibile ripristinare i grafici eseguendo il comando ibmcloud cr image-restore il comando. Puoi utilizzare le seguenti opzioni:

Ripristino dei grafici per digest

Quando si ripristina un grafico per digest, il digest viene spostato dal cestino al repository live e tutti i tag per quel digest nel repository vengono ripristinati.

Per ripristinare un grafico tramite digest dal cestino, procedere come segue:

  1. Effettua l'accesso a IBM Cloud eseguendo il comando ibmcloud login.

  2. Elimina i grafici presenti nel cestino eseguendo il seguente comando.

    ibmcloud cr trash-list
    

    Viene visualizzata una tabella che mostra gli elementi contenuti nel cestino. La tabella mostra il digest, i giorni fino alla scadenza e le tag per quel digest.

  3. Prendi nota del digest del grafico che desideri ripristinare.

  4. Eseguire il seguente comando per ripristinare il grafico nel repository. Dove DNS è il nome del dominio, NAMESPACE è lo spazio dei nomi, REPO è il repository e DIGEST è il digest del grafico che si vuole ripristinare.

    ibmcloud cr image-restore DNS/NAMESPACE/REPO@DIGEST
    

    Se alcuni tag non vengono ripristinati, vedere Perché non vengono ripristinati tutti i tag quando si ripristina il digest?

    Nel tuo repository live, puoi scaricare il grafico tramite digest. Se si esegue il comando ibmcloud cr image-digests, il grafico viene visualizzato nell'output.

Ripristino dei grafici per tag

Quando ripristini un grafico in base a un tag, solo quel tag specifico viene spostato dal cestino nel tuo repository attivo.

Per ripristinare un grafico in base al tag dal cestino, segui questi passaggi.

  1. Effettua l'accesso a IBM Cloud eseguendo il comando ibmcloud login.

  2. Elimina i grafici presenti nel cestino eseguendo il seguente comando.

    ibmcloud cr trash-list
    

    Viene visualizzata una tabella che mostra gli elementi contenuti nel cestino. La tabella mostra il digest, i giorni fino alla scadenza e le tag per quel digest.

  3. Per il grafico che desideri ripristinare, prendi nota del digest fino al segno @ (@), escluso quest'ultimo. Questa parte del digest è DNS/NAMESPACE/REPO, dove DNS è il nome di dominio, NAMESPACE è lo spazio dei nomi e REPO è il repository.

  4. Per il grafico che desideri ripristinare, prendi nota del tag TAG.

  5. Esegui il seguente comando per ripristinare il chart nel tuo repository, dove DNS/NAMESPACE/REPO è il nome del chart che desideri ripristinare e TAG è il tag.

    ibmcloud cr image-restore DNS/NAMESPACE/REPO:TAG
    

    Nel tuo repository live, puoi eseguire il pull del grafico in base al tag.

    Se si esegue il comando ibmcloud cr trash-list, il digest e qualsiasi altra tag vengono visualizzati nell'output, ma la tag non viene più visualizzata.

Eliminazione di un repository privato e dei grafici ad esso associati

Puoi eliminare i repository privati che non sono più richiesti e tutti i grafici associati utilizzando la console IBM Cloud.

Quando si elimina un repository, vengono eliminati tutti i grafici presenti in quel repository. Questa azione non può essere annullata.

Prima di iniziare, è necessario eseguire il backup di tutti i grafici che si desidera conservare.

Per eliminare un repository privato utilizzando la console IBM Cloud, completa la seguente procedura.

  1. Accedere alla console IBM Cloud https://cloud.ibm.com/login con il proprio IBMid.

  2. Se hai più account IBM Cloud, seleziona l'account e la regione che desideri utilizzare dal menu dell'account.

  3. Fare clic su Menu di navigazione, quindi fare clic su Container Registry.

  4. Fai clic su Repository. Viene visualizzato un elenco dei tuoi repository privati.

  5. Nella riga che contiene il repository privato che desideri eliminare, seleziona la casella di controllo.

    Assicurarsi che sia stato selezionato il repository corretto, perché questa azione non può essere annullata.

  6. Fai clic su Elimina repository.