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:
- Carica le immagini container in Artifact Registry nella macchina di bootstrap.
- Carica le immagini container in Artifact Registry nel cluster di infrastruttura dell'organizzazione.
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:
Assicurati di avere l'immagine Docker modificata con i problemi di interruzione risolti.
Trasferisci la nuova immagine al nodo di bootstrap nel tuo ambiente GDC.
Accedi al nodo di bootstrap.
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://}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)Accedi ad Artifact Registry:
docker login $REGISTRY_IP -u admin -p $ADMIN_PASSViene stampato un messaggio
Login Succeededper verificare l'accesso riuscito ad Artifact Registry.Tagga la nuova immagine:
docker image tag CONTAINER_IMAGE_URL \ $REGISTRY_IP/PROJECT_NAME/IMAGE_NAME:TAGSostituisci quanto segue:
CONTAINER_IMAGE_URL: l'URL dell'immagine del container locale, ad esempiogcr.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.
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:
Assicurati di avere l'immagine Docker modificata con i problemi di interruzione risolti.
Trasferisci la nuova immagine a un nodo con accesso root con un file root
kubeconfigal cluster di infrastruttura dell'organizzazione nel tuo ambiente air-gap.Esporta il percorso del cluster di infrastruttura dell'organizzazione
kubeconfigcome variabile di ambiente:export ORG_INFRA_KUBECONFIG=KUBECONFIG_FILE_PATHSostituisci
KUBECONFIG_FILE_PATHcon il percorso del filekubeconfig.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://}Assicurati che
REGISTRY_IPcontenga un URL valido, ad esempio10.200.0.36:10443:echo ${REGISTRY_IP}Controlla se esiste il certificato dell'autorità di certificazione (CA):
ls -al /etc/docker/certs.d/${REGISTRY_IP}/ca.crtSe 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.crtRecupera 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)Accedi ad Artifact Registry:
docker login $REGISTRY_IP -u admin -p $ADMIN_PASSViene stampato un messaggio
Login Succeededper verificare l'accesso riuscito ad Artifact Registry.Tagga la nuova immagine:
docker image tag CONTAINER_IMAGE_URL \ $REGISTRY_IP/PROJECT_NAME/IMAGE_NAME:TAGSostituisci quanto segue:
CONTAINER_IMAGE_URL: l'URL dell'immagine del container locale, ad esempiogcr.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.
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.