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:
- Sube imágenes de contenedor al Artifact Registry de la máquina de arranque.
- Sube imágenes de contenedor a Artifact Registry en el clúster de infraestructura de la organización.
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:
Asegúrate de que tienes la imagen de Docker modificada con los problemas corregidos.
Transfiere la nueva imagen al nodo de arranque de tu entorno de GDC.
Inicia sesión en el nodo de arranque.
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://}
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)
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.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, comogcr.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.
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:
Asegúrate de que tienes la imagen de Docker modificada con los problemas corregidos.
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.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 archivokubeconfig
.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://}
Comprueba que
REGISTRY_IP
contenga una URL válida, como10.200.0.36:10443
:echo ${REGISTRY_IP}
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
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)
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.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, comogcr.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.
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
.