En este tema se describe cómo actualizar un registro de imagen de Harbor privado desde un archivo OVA descargado para actualizar Tanzu Kubernetes Grid (TKG) en un entorno de vSphere sin conexión. Este registro de Harbor se ejecuta junto a TKG para almacenar y administrar las imágenes de componentes que utiliza TKG.
Esta implementación de Harbor basada en máquina virtual solo se admite para alojar imágenes del sistema de TKG en un entorno restringido por Internet o aislado. Para implementar un Harbor escalable y de alta disponibilidad que pueda administrar grandes cantidades de imágenes para aplicaciones alojadas en un entorno de producción, implemente el paquete de Harbor en clústeres de TKG como se describe en Instalar Harbor para el registro de servicios en Crear y administrar clústeres de carga de trabajo de TKG 2.1 con la CLI de Tanzu.
Para realizar una copia de seguridad y restaurar un registro de Harbor sin conexión, consulte Realizar copia de seguridad y restaurar un registro de Harbor sin conexión en vSphere.
Los siguientes pasos actualizan la instancia de Harbor que se ejecuta en vSphere mediante dos OVA:
El disco de datos para OVA 1 contiene todos los datos que utiliza actualmente Harbor, incluidas las imágenes, los usuarios, los proyectos y las contraseñas. Para realizar la actualización, migre los datos agregando el disco de datos OVA 1 como un disco existente a OVA 2 y, a continuación, copie sobre su contenido:
NotaEl proceso de actualización de OVA sobrescribe la configuración de la contraseña del administrador y la contraseña de la base de datos en Personalizar plantilla > Configuraciones de Harbor con la configuración de contraseña de OVA 1.
Descargue un nuevo archivo OVA de Harbor desde la página de descargas de Tanzu Kubernetes Grid e impleméntelo en vSphere siguiendo el procedimiento descrito en Implementar un registro de Harbor sin conexión en vSphere.
Apague OVA 1.
En vSphere, haga clic con el botón secundario en OVA 1 en el inventario y seleccione Encender > Apagar SO invitado:
Realice una instantánea de OVA 1 (Harbor v2.6.3):
Para restaurar desde esta copia de seguridad, consulte Realizar una copia de seguridad y restaurar un registro de Harbor sin conexión en vSphere.
Recupere la ubicación del archivo de disco OVA 1. Haga clic con el botón secundario en OVA 1 en el inventario, seleccione Editar configuración > Archivo de disco y registre el valor.
No vuelva a encender OVA 1 durante el proceso de actualización.
Inicie sesión en OVA 2 mediante ssh
:
ssh root@OVA2-IP
Detenga Harbor en OVA 2:
Confirme que Harbor se está ejecutando:
docker ps
Detenga el proceso de Harbor:
systemctl stop harbor
Confirme que Harbor está detenido y no se está ejecutando:
docker ps
Agregue el disco de datos de OVA 1 como un "disco existente" a OVA 2:
En vSphere, haga clic con el botón secundario en la máquina virtual de OVA 2 y seleccione Editar configuración.
Aparecerá una nueva ventana. En el menú desplegable AGREGAR NUEVO DISPOSITIVO situado en la esquina superior derecha, seleccione Disco duro existente.
En Seleccionar archivo (Select File), seleccione el almacén de datos de OVA 1, como vsanDatastore, y la ubicación del archivo de disco tal como se registró anteriormente. La ubicación del archivo termina con .vmdk
. Haga clic en Aceptar (OK).
Se agrega una lista Nuevo disco duro (New Hard Disk) en la pestaña Editar configuración (Edit Settings) > Configuración virtual (Virtual Settings). Haga clic en Aceptar (OK).
Espere a que el nuevo disco agregado se complete en la barra Tareas recientes (Recent Tasks) a continuación.
Para editar más ajustes del disco duro virtual, por ejemplo, para cambiar su nombre, vuelva a hacer clic con el botón secundario en su lista.
Monte el disco con los datos de OVA 1 en el sistema de archivos OVA 2:
En la línea de comandos que inició sesión en OVA 2 a través de ssh
, ejecute lsblk
para ver a qué dispositivo de bloques se agregó el disco que se agregó recientemente.
Ejecute mkdir -p /ova263
para crear un punto de montaje para el nuevo disco en el sistema de archivos OVA 2.
Ejecute el comando mount
para montar el dispositivo de bloques en el punto de montaje en el nivel superior del sistema de archivos.
mount DEVICE /ova263
Donde DEVICE
es el nuevo dispositivo indicado por lsblk
, por ejemplo, /dev/sdc1
.
Realice una copia de seguridad del archivo harbor.yml
con un nombre de archivo que indique la versión OVA 2, por ejemplo:
mv /etc/goharbor/harbor/harbor.yml /etc/goharbor/harbor/harbor271.origin.yml
Copie el archivo harbor.yml
del disco de datos OVA 1 migrado al directorio Harbor de OVA 2, por ejemplo:
cp -pr /ova263/harbor.yml /etc/goharbor/harbor/harbor.yml
Si el OVA 2 tiene una dirección IP asignada dinámicamente o un FQDN o una IP estática diferentes de OVA 1, es posible que deba actualizar la opción hostname
en su archivo /etc/goharbor/harbor/harbor.yml
según corresponda. Si el valor de hostname
copiado de OVA 1 no es correcto para OVA 2, cámbielo por la dirección o el FQDN correctos para OVA 2.
NotaNo es necesario copiar certificados de OVA 1 a OVA 2. En función de la administración de red, el certificado de OVA 2 es nuevo o idéntico al certificado de OVA 1, pero funciona de cualquier manera.
Elimine los siguientes directorios de OVA 2:
rm -rf /storage/data/!(ca_download)
rm -rf /storage/log/*
Copie el directorio de datos del disco de datos de OVA 1 a OVA 2:
cp -pr /ova263/data/!(ca_download) /storage/data
Copie el directorio de registros de Harbor del disco de datos de OVA 1 a OVA 2:
cp -pr /ova263/log/* /storage/log
Desmontar el disco OVA 1 de OVA 2:
umount /ova263
Elimine el disco de datos de OVA 1 de OVA 2. En vCenter Hardware virtual > Editar configuración para OVA 2, haga clic en el botón X en la línea que indica el disco duro OVA 1 agregado. No active la casilla de verificación Eliminar archivos del almacén de datos y haga clic en Aceptar para confirmar.
Actualice el archivo harbor.yml
copiado ejecutando migrate
en el contenedor de Harbor:
cd /etc/goharbor/harbor && docker run -it --rm -v /:/hostfs vmware.io/goharbor/prepare:vOVA-2-VERSION_vmware.1 migrate -i /etc/goharbor/harbor/harbor.yml
Donde OVA-2-VERSION
es la versión de Harbor para OVA 2, por ejemplo, 2.7.1
.
Copie la nueva versión OVA 2 de Harbor harbor.yml
a /storage/harbor.yml
:
cp -pr /etc/goharbor/harbor/harbor.yml /storage/harbor.yml
Ejecute el script prepare
de Harbor en OVA 2. En función de si habilitó el escáner predeterminado de Harbor en OVA 1, es posible que deba anexar la marca --with-trivy
:
Escáner no habilitado :
cd /etc/goharbor/harbor && /etc/goharbor/harbor/prepare
Escáner habilitado:
cd /etc/goharbor/harbor && /etc/goharbor/harbor/prepare --with-trivy
Inicie el servicio de Harbor:
systemctl start harbor