En este tema se describe cómo instalar un registro de imagen de Harbor privado desde un archivo OVA descargado para proporcionar las imágenes necesarias para implementar Tanzu Kubernetes Grid (TKG) en un entorno de vSphere sin conexión. El registro de Harbor resultante se ejecuta junto a TKG para almacenar y administrar las imágenes de componentes que utiliza TKG.
Importante
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.4 con CLI de Tanzu.
Notary y Chartmuseum han quedado obsoletos desde Harbor v2.6 y están programados para eliminarse en una versión futura, como se indica en las notas de la versión de Harbor v2.6.0. Cambie a Sigstore Cosign para la verificación y la firma del contenedor.
ca.crt
, server.crt
y server.key
Para implementar Harbor desde un archivo OVA:
En vCenter, haga clic con el botón secundario en un clúster vSphere y elija Implementar plantilla OVF (Deploy OVF Template)….
Aparecerá la ventana Implementar plantilla OVF (Deploy OVF Template). Seleccione Archivo local y desplácese hasta la ubicación del archivo OVA de Harbor descargado.
Haga clic en Siguiente (NEXT) en la parte inferior derecha. Aparecerá una serie de paneles de configuración.
Verificación de origen (Source Verification): Haga clic en Sí (YES).
Nombre de máquina virtual (Virtual machine name): Introduzca el nombre que elija para la máquina virtual que ejecuta la instancia de Harbor. Haga clic en Siguiente (NEXT).
Seleccionar un recurso informático (Select a compute resource): Deje la opción predeterminada y haga clic en Siguiente (NEXT).
Este paso puede tardar unos minutos, ya que vSphere descarga y procesa la plantilla OVF.
Revisar detalles (Review details): Haga clic en Siguiente (NEXT).
Contratos de licencia (License agreements): Acepte la licencia y haga clic en Siguiente (NEXT).
Seleccionar almacenamiento (Select storage): Seleccione vsanDatastore y haga clic en Siguiente (NEXT).
Seleccionar redes (Select networks): Elija la Red de máquina virtual (VM Network) predeterminada y haga clic en Siguiente (NEXT).
Personalizar plantilla (Customize template) > Credenciales de máquina virtual (VM Credentials):
Contraseña raíz (Root Password) (obligatorio): La contraseña preferida para la cuenta de usuario root
en la máquina virtual. Debe tener entre 8 y 128 caracteres.
Permitir SSH a través de raíz (Allow SSH via Root): Deje el valor predeterminado, habilitado, para permitir el acceso ssh
a la máquina virtual como usuario root
.
Personalizar plantilla > Configuraciones de Harbor:
Nombre de host (opcional): Si se proporciona, el nombre de host de Harbor como un FQDN, como yourdomain.com
. No puede ser una dirección IP o localhost
.
Si especifica el Nombre del host, la propiedad SAN (subject Alt Names) solo contiene la información de DNS; no se proporcionó información de IP.
Si no especifica el Nombre del host, la propiedad SAN solo contiene la información de IP y no se proporciona ninguna información de DNS.
Contraseña de administrador (Administrator Password) (obligatorio): Contraseña del usuario admin
de Harbor. La utilizan los administradores para acceder a la interfaz de usuario de Harbor y los contenedores cliente para extraer e insertar imágenes. Debe tener de 8 a 128 caracteres.
Contraseña de base de datos de Harbor (Harbor Database Password): Contraseña de la base de datos interna de Harbor. Si se proporciona, debe tener entre 8 y 128 caracteres.
Habilitar escáner predeterminado de Harbor (Enable Harbor Default Scanner): Habilite esta opción para instalar el escáner Trivy y activarlo para escanear las imágenes a medida que se cargan en Harbor.
Usar certificado autofirmado para Harbor (Use Self-signed Certificate For Harbor):
Habilite esta opción para utilizar certificados autofirmados y deje en blanco los campos Certificado de CA (CA Certificate), Certificado de servidor (Server Certificate) y Clave de servidor (Server Key).
De lo contrario, desactive Uso certificado autofirmado para Harbor (Use Self-signed Certificate For Harbor) y pegue el contenido del archivo de varias líneas para el Certificado de CA (CA Certificate), Certificado de servidor (Server Certificate) y Clave de servidor (Server Key). Al pegarlos en el formulario, los valores de varias líneas se convierten en una cadena de una línea con el carácter de espacio como delimitador.
Personalizar plantilla > Configuraciones de redes:
Dirección IP (IP Address), Máscara de red (Netmask) y Puerta de enlace (Gateway): Una dirección IP estática, una máscara de red y una puerta de enlace para eth0
, si existe.
(DNS, Dominio DNS) DNS, DNS Domain: Dominio y servidor DNS para la máquina virtual de Harbor.
(Opcional) Personalizar la plantilla (Customize template) > Configuraciones de usuario (Docker Configurations):
Esta configuración es opcional y solo está disponible para archivos OVA con Harbor v2.8.x o versiones posteriores.
Valor de BIP del Daemon de Docker: Un valor de formato CIDR para configurar el daemon de Docker, por ejemplo: 198.18.251.1/24
Base del grupo de direcciones 1, Tamaño del grupo de direcciones 1: La base del grupo de direcciones y el tamaño del grupo de direcciones deben configurarse en pares, si los hubiera. Permitimos como máximo tres pares de la base de grupo de direcciones y el tamaño del grupo de direcciones. Además, la base del grupo de direcciones debe estar en formato CIDR, por ejemplo, 198.18.252.0/22; y el tamaño del grupo de direcciones debe ser un número entero entre 1 y 32.
Listo para completar (Ready to complete): Revise la configuración y haga clic en Finalizar (FINISH).
Implementación de Docker (opcional)
Para archivos OVA con Harbor v2.8.x o versiones posteriores, tiene la opción de establecer una configuración de daemon de Docker para que se ejecute en el archivo OVA, como se configuró en la pestaña Configuraciones de docker (Docker Configurations) descrita anteriormente.
Si introduce argumentos no válidos en Configuraciones de docker (Docker Configurations), se producirá un error tanto en el servicio firstboot systemd
como en Docker.
Para comprobar la instalación de Docker, ssh
en la máquina virtual de Harbor y ejecute systemctl status firstboot
y systemctl status docker
. Si el estado del servicio firstboot
aparece como Active: failed
entonces se produjo un error en la implementación, pero si muestra Active: inactive (dead)
y firstboot.service: Succeeded
y, a continuación, el servicio docker
aparece como Active: active (running)
, entonces la implementación se realizó correctamente.
Para comprobar los registros para obtener más información, ejecute journalctl -u firstboot
y journalctl -u docker
.
Implementación de Harbor:
La primera vez que se implementa un archivo OVA de Harbor, Harbor tarda varios minutos en cargar imágenes de Docker.
Para ver el proceso y confirmar que está en progreso, ssh
en la máquina virtual y ejecute:
watch docker ps
Si Harbor no se ejecuta después de 5 minutos aproximadamente, recupere el archivo de registro en la máquina virtual para la depuración:
cd /etc/goharbor/harbor && ./harbor-support.sh --include-private
Busque y descomprima el archivo de registro. Tiene un nombre similar a/storage/log/harbor_appliance_logs_2022-11-30T09-39-12Z.tar.gz
Si ve Error: Unable to retrieve manifest or certificate file
como se indica a continuación, vuelva a intentar implementar el archivo OVA de Harbor.
No se puede utilizar Harbor en la función caché del proxy para ejecutar Tanzu Kubernetes Grid v2.4 en un entorno con acceso a Internet restringido. Puede seguir utilizando una memoria caché de proxy de Harbor para aplicar el proxy a imágenes de versiones anteriores de Tanzu Kubernetes Grid, así como imágenes que no son de Tanzu, como las imágenes de aplicaciones.
Si perdió la contraseña root
, vuelva a recuperarla siguiendo el procedimiento Establecer una contraseña raíz perdida.
Una instancia de Harbor implementada a partir de un OVA de tiene dos discos:
/storage
.Si necesita aumentar el tamaño del disco de datos de Harbor para admitir solicitudes, debe apagar temporalmente la máquina virtual de Harbor mientras cambia la configuración. Si la máquina virtual tiene una dirección IP dinámica, el reinicio de la máquina virtual requiere pasos adicionales, como se describe a continuación.
Para expandir el disco de datos de la instancia de Harbor:
En la vista Hosts y clústeres de vSphere, haga clic con el botón secundario en la máquina virtual de OVA de Harbor y elija Encender > Apagar
Haga clic con el botón secundario en la máquina virtual de OVA de Harbor y elija Editar configuración:
Aparece una ventana Editar configuración. En Hardware virtual, aumente el ajuste Disco duro 2 a la capacidad que prefiera. Haga clic en Aceptar (OK).
Vuelva a hacer clic con el botón secundario en la máquina virtual OVA de Harbor y seleccione Encender > Apagar para reiniciar la máquina virtual.
Debido a que reinició la máquina virtual de Harbor, es posible que deba realizar pasos adicionales en función de la configuración de la dirección de host de la máquina virtual:
Dirección IP estática: Sin pasos adicionales.
Dirección IP dinámica: Si la dirección IP de la máquina virtual de Harbor cambió:
FQDN: Si cambió la dirección IP de la máquina virtual de Harbor, actualícela en el archivo /etc/hosts
o en el registro de DNS.
Cuando la dirección IP de la máquina virtual de Harbor haya cambiado, rote su certificado:
ssh
en la máquina virtual.
Detenga el servicio de Harbor:
systemctl stop harbor
Realice una copia de seguridad de los archivos server.crt
,server.key
y ca.crt
del certificado antiguo moviéndolos o poniéndoles otro nombre:
server.crt
se encuentra en /storage/data/secret/cert/server.crt
server.key
se encuentra en /storage/data/secret/cert/server.key
ca.crt
se encuentra en /storage/data/ca_download/ca.crt
Guarde los archivos server.crt
,server.key
y ca.crt
del certificado nuevo a las ubicaciones anteriores y establezca la propiedad y los permisos de sus archivos en la misma configuración que los archivos antiguos.
Inicie el servicio de Harbor:
systemctl start harbor
Después de utilizar este registro de Harbor para implementar un clúster de administración en un entorno con acceso a Internet restringido, puede habilitar que los clústeres de carga de trabajo de TKG usen Harbor de una de estas dos formas:
Utilice el registro de Harbor externo. Si este registro utiliza un certificado de CA de confianza, las conexiones entre los clústeres de carga de trabajo y el registro son seguras. Si el registro central utiliza certificados autofirmados, puede desactivar TKG_CUSTOM_IMAGE_REPOSITORY_SKIP_TLS_VERIFY
y especificar la opción TKG_CUSTOM_IMAGE_REPOSITORY_CA_CERTIFICATE
. Al configurar esta opción, se insertan automáticamente los certificados autofirmados en los clústeres de carga de trabajo.
Implemente una segunda instancia de Harbor como servicio compartido dentro de TKG. VMware recomienda implementar el paquete de Harbor como servicio compartido administrado por TKG. Para obtener más información, consulte Instalar Harbor para el registro de servicio.
En infraestructuras con equilibrio de carga, VMware recomienda instalar el servicio empaquetado de DNS externo junto con el servicio de Harbor, como se describe en DNS externo y registro de Harbor.