Modifica degli artefatti di sistema

Questa pagina descrive come modificare gli artefatti di sistema nell'appliance air-gapped Google Distributed Cloud (GDC).

Modifica gli artefatti di sistema in GDC per gestire e perfezionare la tua implementazione.

Prima di iniziare

Per modificare gli artefatti di sistema, devi ottenere l'accesso diagnostico e disporre dell'accesso ai ruoli di identità e accesso necessari:

  • L'accesso diagnostico è una modalità di accesso privilegiato necessaria per assistere in modo sicuro un cliente quando riscontra un problema. Per ottenere questo accesso, devi creare un ticket.
  • Debugger del registro degli artefatti di sistema: ha accesso in lettura e scrittura a tutte le risorse Harbor. Chiedi all'Amministratore sicurezza di concederti il ruolo cluster System Artifact Registry Debugger (sar-debugger).
  • Debugger secret harbor-system di System Artifact Registry: ha accesso al debugger nello spazio dei nomi harbor-system. Chiedi all'Amministratore sicurezza di concederti il ruolo di debugger del secret harbor-system del registro degli artefatti di sistema (sar-harbor-system-secret-debugger).

Caricare immagini Docker

Per modificare gli artefatti di sistema, devi caricare nuove immagini Docker. Il metodo di caricamento dipende dal registro in cui esegui il push delle immagini container:

Le sezioni seguenti mostrano le istruzioni di caricamento per i due tipi di registro.

Carica l'immagine container nella macchina di bootstrap

Per caricare le immagini container in Artifact Registry nella macchina di bootstrap, completa i seguenti passaggi:

  1. Assicurati di avere l'immagine Docker modificata con i problemi di interruzione risolti.

  2. Trasferisci la nuova immagine al nodo di bootstrap nel tuo ambiente GDC.

  3. Accedi al nodo di bootstrap.

  4. Individua l'indirizzo di Artifact Registry nella macchina bootstrap al momento del bootstrap e impostalo come variabile di ambiente REGISTRY_IP:

    REGISTRY=$(kubectl get harborcluster harbor -n harbor-system -o=jsonpath='{.spec.externalURL}')
    
    REGISTRY_IP=${REGISTRY#https://}
    
  5. Recupera le credenziali per accedere ad Artifact Registry. Recupera l'account amministratore e la password:

    ADMIN_PASS=$(kubectl -n harbor-system get secret harbor-admin \
        -o jsonpath="{.data.secret}" | base64 -d)
    
  6. Accedi ad Artifact Registry:

    docker login $REGISTRY_IP -u admin -p $ADMIN_PASS
    

    Viene stampato un messaggio Login Succeeded per verificare l'accesso riuscito ad Artifact Registry.

  7. Tagga la nuova immagine:

    docker image tag CONTAINER_IMAGE_URL \
        $REGISTRY_IP/PROJECT_NAME/IMAGE_NAME:TAG
    

    Sostituisci quanto segue:

    • CONTAINER_IMAGE_URL: l'URL dell'immagine del container locale, ad esempio gcr.io/repository/image:tag.
    • PROJECT_NAME: il nome del progetto Artifact Registry.
    • IMAGE_NAME: il nome dell'immagine container.
    • TAG: il tag dell'immagine del container.
  8. Esegui il push della nuova immagine in Artifact Registry:

    docker image push $REGISTRY_IP/PROJECT_NAME/IMAGE_NAME:TAG
    

Carica l'immagine container nel cluster di infrastruttura dell'organizzazione

Per caricare immagini container in Artifact Registry su un cluster di infrastruttura dell'organizzazione, completa i seguenti passaggi:

  1. Assicurati di avere l'immagine Docker modificata con i problemi di interruzione risolti.

  2. Trasferisci la nuova immagine a un nodo con accesso root con un file root kubeconfig al cluster di infrastruttura dell'organizzazione nel tuo ambiente air-gap.

  3. Esporta il percorso del cluster di infrastruttura dell'organizzazione kubeconfig come variabile di ambiente:

    export ORG_INFRA_KUBECONFIG=KUBECONFIG_FILE_PATH
    

    Sostituisci KUBECONFIG_FILE_PATH con il percorso del file kubeconfig.

  4. Individua l'indirizzo di Artifact Registry nel cluster e impostalo come variabile di ambiente REGISTRY_IP:

    REGISTRY=$(kubectl --kubeconfig $ORG_INFRA_KUBECONFIG get harborcluster /
    harbor -n harbor-system -o=jsonpath='{.spec.externalURL}')
    
    REGISTRY_IP=${REGISTRY#https://}
    
  5. Assicurati che REGISTRY_IP contenga un URL valido, ad esempio 10.200.0.36:10443:

    echo ${REGISTRY_IP}
    
  6. Controlla se esiste il certificato dell'autorità di certificazione (CA):

    ls -al /etc/docker/certs.d/${REGISTRY_IP}/ca.crt
    

    Se il certificato non esiste, crealo e configurarlo:

    mkdir -p /etc/docker/certs.d/${REGISTRY_IP}/
    
    chmod 755  /etc/docker/certs.d/${REGISTRY_IP}/
    
    echo $(kubectl get secret harbor-cert-secret -n istio-system -o jsonpath='{.data.ca\.crt}' --kubeconfig $ORG_INFRA_KUBECONFIG) | openssl base64 -A -d >  /etc/docker/certs.d/${REGISTRY_IP}/ca.crt
    
    chmod 755 /etc/docker/certs.d/${REGISTRY_IP}/ca.crt
    
  7. Recupera le credenziali per accedere ad Artifact Registry. Utilizza il seguente comando per recuperare l'account amministratore e la password:

    ADMIN_PASS=$(kubectl --kubeconfig $ORG_INFRA_KUBECONFIG \
        -n harbor-system get secret harbor-admin \
        -o jsonpath="{.data.secret}" | base64 -d)
    
  8. Accedi ad Artifact Registry:

    docker login $REGISTRY_IP -u admin -p $ADMIN_PASS
    

    Viene stampato un messaggio Login Succeeded per verificare l'accesso riuscito ad Artifact Registry.

  9. Tagga la nuova immagine:

    docker image tag CONTAINER_IMAGE_URL \
        $REGISTRY_IP/PROJECT_NAME/IMAGE_NAME:TAG
    

    Sostituisci quanto segue:

    • CONTAINER_IMAGE_URL: l'URL dell'immagine del container locale, ad esempio gcr.io/repository/image:tag.
    • PROJECT_NAME: il nome del progetto Artifact Registry.
    • IMAGE_NAME: il nome dell'immagine container.
    • TAG: il tag dell'immagine del container.
  10. Esegui il push della nuova immagine in Artifact Registry:

    docker image push $REGISTRY_IP/PROJECT_NAME/IMAGE_NAME:TAG
    

Modifica degli artefatti di sistema

Utilizza i comandi gdcloud artifacts per modificare gli artefatti di sistema in GDC. Aggiorna, personalizza e proteggi la tua implementazione eseguendo azioni come la sostituzione dei pacchetti software, la modifica delle configurazioni e l'applicazione di patch.

Esegui le seguenti azioni:

  • Gestisci i pacchetti apt.
  • Crea ed estrai immagini dai pacchetti OCI.
  • Elenca le versioni disponibili dell'immagine OCI principale.
  • Applica patch ai pacchetti esistenti.
  • Esegui il pull e il push dei pacchetti OCI da e verso un registry.
  • Visualizza la struttura di un bundle OCI.
  • Decomprimi i pacchetti OCI.

Per ulteriori informazioni, vedi gdcloud artifacts.