Modificar artefactos del sistema

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

Modificar artefactos del sistema en GDC para administrar y definir mejor tu implementación

Antes de comenzar

Para modificar 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 con privilegios que se requiere para brindar asistencia al cliente de forma segura cuando este tiene un problema. Debes crear un ticket para que se te otorgue este acceso.
  • Depurador del registro de artefactos del sistema: Tiene acceso de lectura y escritura a todos los recursos de Harbor. Pídele a tu administrador de seguridad que te otorgue el rol de clúster de depurador de Artifact Registry del sistema (sar-debugger).
  • Debugger del secreto harbor-system de Artifact Registry del sistema: Tiene acceso al depurador en el espacio de nombres harbor-system. Pídele a tu administrador de seguridad que te otorgue el rol de Debugger (sar-harbor-system-secret-debugger) del secreto harbor-system de System Artifact Registry.

Sube imágenes de Docker

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

En las siguientes secciones, se muestran las instrucciones de carga para los dos tipos de registros.

Sube la imagen de contenedor a la máquina de arranque

Para subir imágenes de contenedor a Artifact Registry en la máquina de arranque, completa los siguientes pasos:

  1. Asegúrate de tener la imagen de Docker modificada con los problemas de interrupción corregidos.

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

  3. Accede al nodo de arranque.

  4. Ubica la dirección de Artifact Registry en la máquina de arranque durante el arranque y configúrala como la 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. Accede a Artifact Registry:

    docker login $REGISTRY_IP -u admin -p $ADMIN_PASS
    

    Se imprimirá un mensaje Login Succeeded para verificar que se accedió correctamente a Artifact Registry.

  7. Etiqueta la imagen nueva:

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

    Reemplaza lo siguiente:

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

    docker image push $REGISTRY_IP/PROJECT_NAME/IMAGE_NAME:TAG
    

Sube la imagen de 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 la organización, completa los siguientes pasos:

  1. Asegúrate de tener la imagen de Docker modificada con los problemas de interrupción corregidos.

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

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

    export ORG_INFRA_KUBECONFIG=KUBECONFIG_FILE_PATH
    

    Reemplaza KUBECONFIG_FILE_PATH por la ruta de acceso al archivo kubeconfig.

  4. Ubica la dirección de Artifact Registry dentro del clúster y configúrala 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. Asegúrate de que REGISTRY_IP contenga una URL válida, como 10.200.0.36:10443:

    echo ${REGISTRY_IP}
    
  6. Verifica si existe el certificado de la autoridad certificadora (AC):

    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 recuperar la cuenta y la contraseña del administrador:

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

    docker login $REGISTRY_IP -u admin -p $ADMIN_PASS
    

    Se imprimirá un mensaje Login Succeeded para verificar que se accedió correctamente a Artifact Registry.

  9. Etiqueta la imagen nueva:

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

    Reemplaza lo siguiente:

    • CONTAINER_IMAGE_URL: Es la URL de la imagen de contenedor local, como gcr.io/repository/image:tag.
    • PROJECT_NAME: Es el nombre del proyecto de Artifact Registry.
    • IMAGE_NAME: Es el nombre de la imagen del contenedor.
    • TAG: Es la etiqueta de la 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 reemplazar paquetes de software, ajustar la configuración y aplicar parches.

Realiza las siguientes acciones:

  • Administrar paquetes de apt
  • Compila y extrae imágenes de paquetes de OCI.
  • Enumera las versiones disponibles de la imagen raíz de OCI.
  • Aplica parches a los paquetes existentes.
  • Enviar y extraer paquetes de OCI a un registro y desde él
  • Muestra la estructura de un paquete de OCI.
  • Descomprimir paquetes de OCI

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