Siga estas instrucciones para instalar el registro del contenedor de Harbor en un clúster de Servicio TKG que ejecute TKr para vSphere 8.x.
Requisitos previos
Debe cumplir los siguientes requisitos previos.
Crear valores de datos de Harbor
Cree el archivo de valores de datos a fin de prepararse para instalar Harbor.
- Obtenga la versión más reciente del paquete de Harbor para el repositorio.
tanzu package available get harbor.tanzu.vmware.com -n tkg-system
O bien, use kubectl.
kubectl -n tkg-system get packages | grep harbor
Nota: Por lo general, debe utilizar la versión más reciente, a menos que los requisitos sean diferentes. - Genere el archivo
harbor-data-values.yaml
.tanzu package available get harbor.tanzu.vmware.com/2.9.1+vmware.1-tkg.1 --default-values-file-output harbor-data-values.yaml
Donde:- 2.9.1+vmware.1-tkg.1 es la versión del paquete de destino
- harbor-data-values.yaml es el nombre y la ruta del archivo de valores de datos que se va a generar
- Edite el archivo
harbor-data-values.yaml
y actualice los valores para los siguientes parámetros.Configure parámetros adicionales según sea necesario. Consulte Referencia del paquete de Harbor.
Campo Descripción hostname
El FQDN para acceder a la consola administrativa de Harbor y al servicio de registro. Reemplace "yourdomain.com" por un nombre de host único. harborAdminPassword
Cambie la contraseña a una contraseña segura y única (también se puede cambiar en la interfaz de usuario después de instalar). persistence.persistentVolumeClaim.database.storageClass:
Introduzca el nombre de la directiva de almacenamiento de vSphere para el espacio de nombres de vSphere. persistence.persistentVolumeClaim.jobservice.storageClass:
Introduzca el nombre de la directiva de almacenamiento de vSphere para el espacio de nombres de vSphere. persistence.persistentVolumeClaim.redis.storageClass:
Introduzca el nombre de la directiva de almacenamiento de vSphere para el espacio de nombres de vSphere. persistence.persistentVolumeClaim.registry.storageClass:
Introduzca el nombre de la directiva de almacenamiento de vSphere para el espacio de nombres de vSphere. persistence.persistentVolumeClaim.trivy.storageClass:
Introduzca el nombre de la directiva de almacenamiento de vSphere para el espacio de nombres de vSphere. tlsCertificate.tlsSecretLabels:
{"managed-by": "vmware-vRegistry"}
Instalar Harbor
Complete los siguientes pasos para instalar el Registro de Harbor.
- Cree el espacio de nombres para Harbor.
kubectl create ns tanzu-system-registry
- Instale Harbor.
tanzu package install harbor --package harbor.tanzu.vmware.com --version 2.9.1+vmware.1-tkg.1 --values-file harbor-data-values.yaml --namespace tanzu-system-registry
- Compruebe la instalación de Harbor.
tanzu package installed get harbor --namespace tanzu-system-registry
Configurar DNS para Harbor mediante un servicio Envoy de tipo LoadBalancer
Si se expone el servicio Contour con Envoy como requisito previo a través de LoadBalancer, obtenga la dirección IP externa del equilibrador de carga y cree registros de DNS para los FQDN de Harbor.
- Obtenga la dirección
External-IP
para el servicio Envoy de tipo LoadBalancer.kubectl get service envoy -n tanzu-system-ingress
Debería ver la direcciónExternal-IP
que se devuelve, por ejemplo:NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE envoy LoadBalancer 10.99.25.220 10.195.141.17 80:30437/TCP,443:30589/TCP 3h27m
Si lo prefiere, puede obtener la direcciónExternal-IP
mediante el siguiente comando.kubectl get svc envoy -n tanzu-system-ingress -o jsonpath='{.status.loadBalancer.ingress[0]}'
- Para comprobar la instalación de la extensión Harbor, actualice el archivo
/etc/hosts
local con los FQDN de Harbor y Notary asignados a la direcciónExternal-IP
del equilibrador de carga; por ejemplo:127.0.0.1 localhost 127.0.1.1 ubuntu #TKG Harbor with Envoy Load Balancer IP 10.195.141.17 core.harbor.domain 10.195.141.17 core.notary.harbor.domain
- Para comprobar la instalación de la extensión Harbor, inicie sesión en Harbor.
- Cree dos registros CNAME en un servidor DNS que asignen la dirección
External-IP
del servicio Envoy del equilibrador de carga al FQDN de Harbor y al FQDN de Notary. - Instale la extensión DNS externo.
Configurar DNS para Harbor mediante un servicio Envoy de tipo NodePort
Si se expone el servicio Contour > Envoy como requisito previo a través de NodePort, obtenga la dirección IP de la máquina virtual de un nodo de trabajo y cree registros de DNS para los FQDN de Harbor.
Nota: Para usar NodePort, debe haber especificado el valor de
port.https
correcto en el archivo
harbor-data-values.yaml
.
- Cambie el contexto a la instancia de espacio de nombres de vSphere en la que se aprovisiona el clúster.
kubectl config use-context VSPHERE-NAMESPACE
- Enumere los nodos del clúster.
kubectl get virtualmachines
- Seleccione uno de los nodos de trabajo y describa el nodo mediante el siguiente comando.
kubectl describe virtualmachines tkg2-cluster-X-workers-9twdr-59bc54dc97-kt4cm
- Busque la dirección IP de la máquina virtual; por ejemplo,
Vm Ip: 10.115.22.43
. - Para comprobar la instalación de la extensión Harbor, actualice el archivo
/etc/hosts
local con los FQDN de Harbor y Notary asignados a la dirección IP del nodo de trabajo; por ejemplo:127.0.0.1 localhost 127.0.1.1 ubuntu #TKG Harbor with Envoy NodePort 10.115.22.43 core.harbor.domain 10.115.22.43 core.notary.harbor.domain
- Para comprobar la instalación de la extensión Harbor, inicie sesión en Harbor.
- Cree dos registros CNAME en un servidor DNS que asignen la dirección IP del nodo de trabajo al FQDN de Harbor y al FQDN de Notary.
- Instale la extensión DNS externo.
Iniciar sesión en la interfaz web de Harbor
Una vez que Harbor esté instalado y configurado, inicie sesión y comience a utilizarlo.
- Acceda a la interfaz web del registro de Harbor en
https://core.harbor.domain
o al nombre de host que utilizó. - Inicie sesión en Harbor con el nombre de usuario admin y la contraseña generada que colocó en el archivo
harbor-data-values.yaml
. - Compruebe que puede acceder a la interfaz de usuario de Harbor.
- Obtenga el certificado de CA de Harbor.
En la interfaz de Harbor, seleccione Nuevo proyecto.
o cree unHaga clic en Certificado del registro y descargue el certificado de CA de Harbor (ca.crt).
- Agregue el certificado de CA de Harbor al almacén de confianza del cliente de Docker para poder insertar y extraer imágenes de contenedor al registro de Harbor y desde él. Consulte Uso de registros privados con clústeres Servicio TKG.
- Consulte la documentación de Harbor para obtener más información sobre el uso de Harbor.