Modificar artefactos del sistema

En esta página se describe cómo modificar los artefactos de tu sistema en el dispositivo aislado de Google Distributed Cloud (GDC).

Modificar los artefactos del sistema en GDC para gestionar y perfeccionar la implementación.

Antes de empezar

Para modificar los artefactos del sistema, debes obtener acceso de diagnóstico y tener acceso a los roles de identidad y acceso necesarios:

  • El acceso de diagnóstico es un modo de acceso privilegiado necesario para ayudar de forma segura a un cliente cuando tiene un problema. Para obtener este acceso, debes crear una incidencia.
  • Depurador de System Artifact Registry: tiene acceso de lectura y escritura a todos los recursos de Harbor. Pide a tu administrador de seguridad que te conceda el rol de clúster Depurador de Artifact Registry del sistema (sar-debugger).
  • El secreto harbor-system de Artifact Registry del sistema Debugger: tiene acceso de depuración en el espacio de nombres harbor-system. Pide a tu administrador de seguridad que te conceda el rol Depurador (sar-harbor-system-secret-debugger) del secreto harbor-system de System Artifact Registry.

Subir imágenes de Docker

Para modificar los artefactos del sistema, debes subir nuevas imágenes de Docker. El método de subida depende de cuál de los dos registros siguientes uses para enviar tus imágenes de contenedor:

En las siguientes secciones se muestran las instrucciones de subida de los dos tipos de registro.

Subir la imagen de contenedor en la máquina de arranque

Para subir imágenes de contenedor a Artifact Registry en la máquina de arranque, sigue estos pasos:

  1. Asegúrate de que tienes la imagen de Docker modificada con los problemas corregidos.

  2. Transfiere la nueva imagen al nodo de arranque de tu entorno de GDC.

  3. Inicia sesión en el nodo de arranque.

  4. Busca la dirección de Artifact Registry en la máquina de arranque durante el arranque y configúrala como variable de entorno REGISTRY_IP:

    REGISTRY=$(kubectl get harborcluster harbor -n harbor-system -o=jsonpath='{.spec.externalURL}')
    
    REGISTRY_IP=${REGISTRY#https://}
    
  5. Recupera la credencial para acceder a Artifact Registry. Recupera la cuenta y la contraseña de administrador:

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

    docker login $REGISTRY_IP -u admin -p $ADMIN_PASS
    

    Se imprimirá un mensaje Login Succeeded para verificar que se ha iniciado sesión correctamente en Artifact Registry.

  7. Etiqueta la nueva imagen:

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

    Haz los cambios siguientes:

    • CONTAINER_IMAGE_URL: la URL de la imagen del contenedor local, como gcr.io/repository/image:tag.
    • PROJECT_NAME: nombre del proyecto de Artifact Registry.
    • IMAGE_NAME: el nombre de la imagen del contenedor.
    • TAG: la etiqueta de imagen del contenedor.
  8. Envía la nueva imagen a Artifact Registry:

    docker image push $REGISTRY_IP/PROJECT_NAME/IMAGE_NAME:TAG
    

Subir la imagen del contenedor al clúster de infraestructura de la organización

Para subir imágenes de contenedor a Artifact Registry en un clúster de infraestructura de organización, sigue estos pasos:

  1. Asegúrate de que tienes la imagen de Docker modificada con los problemas corregidos.

  2. Transfiere la nueva imagen a un nodo que tenga acceso de superusuario con un archivo root kubeconfig al clúster de infraestructura de la organización en tu entorno aislado.

  3. Exporta la ruta del clúster de infraestructura de la organización kubeconfig como variable de entorno:

    export ORG_INFRA_KUBECONFIG=KUBECONFIG_FILE_PATH
    

    Sustituye KUBECONFIG_FILE_PATH por la ruta al archivo kubeconfig.

  4. Busca la dirección de Artifact Registry en el clúster y defínela como la variable de entorno REGISTRY_IP:

    REGISTRY=$(kubectl --kubeconfig $ORG_INFRA_KUBECONFIG get harborcluster /
    harbor -n harbor-system -o=jsonpath='{.spec.externalURL}')
    
    REGISTRY_IP=${REGISTRY#https://}
    
  5. Comprueba que REGISTRY_IP contenga una URL válida, como 10.200.0.36:10443:

    echo ${REGISTRY_IP}
    
  6. Comprueba si existe el certificado de la autoridad de certificación (CA):

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

    Si el certificado no existe, créalo y configúralo:

    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 la credencial para acceder a Artifact Registry. Usa el siguiente comando para obtener la cuenta y la contraseña de administrador:

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

    docker login $REGISTRY_IP -u admin -p $ADMIN_PASS
    

    Se imprimirá un mensaje Login Succeeded para verificar que se ha iniciado sesión correctamente en Artifact Registry.

  9. Etiqueta la nueva imagen:

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

    Haz los cambios siguientes:

    • CONTAINER_IMAGE_URL: la URL de la imagen del contenedor local, como gcr.io/repository/image:tag.
    • PROJECT_NAME: nombre del proyecto de Artifact Registry.
    • IMAGE_NAME: el nombre de la imagen del contenedor.
    • TAG: la etiqueta de imagen del contenedor.
  10. Envía la nueva imagen a Artifact Registry:

    docker image push $REGISTRY_IP/PROJECT_NAME/IMAGE_NAME:TAG
    

Modificar artefactos del sistema

Usa los comandos gdcloud artifacts para modificar los artefactos del sistema en GDC. Actualiza, personaliza y protege tu implementación realizando acciones como sustituir paquetes de software, ajustar configuraciones y aplicar parches.

Realiza las siguientes acciones:

  • Gestionar paquetes de apt.
  • Compila y extrae imágenes de paquetes OCI.
  • Lista las versiones disponibles de la imagen OCI raíz.
  • Aplica parches a los paquetes.
  • Extrae e inserta paquetes OCI en un registro.
  • Muestra la estructura de un paquete OCI.
  • Descomprime los paquetes de OCI.

Para obtener más información, consulta gdcloud artifacts.