Skip to content

Tema:

_Instalacion de harbor

Introducción

En la siguiente guia realizaremos la instalacion del componente harbor dentro de un cluster de kubernetes, harbor es un registry de imagenes ampliamente utilizado , que nos servira para entender los conceptos basicos de un registry.

Objetivo

Objetivo General:

  • El objetivo de esta practica es instalar un harbor para poder hacer uso del mismo en siguientes practicas.

Desarrollo del Tema

Harbor es un registry de contenedores desarrollado inicialmente por vmware y ahora por parte de la cncf, es un registry facil de instalar que nos provee una gran cantidad de caracteristicas, como rbac, quotas, limpieza de blobs, una ui bastante facil de operar, escaneo de vulnerabilidades, etc.

Laboratorio para el Estudiante

Indicaciones:

  • Se realizara la instalacion de harbor en el ambiente de laboratorio proporcionado.

Inicio de laboratorio

Conexion a ambiente de kubernetes

  1. Ingresar al servidor de laboratorio con la llave proporcionada.

    export LAB=X
    ssh student@lab-${LAB}-aio 
    

  2. Cambiar al usuario root

    sudo -i
    

  3. Proporcione accesos administrativos al cluster de Kubernetes

    export KUBECONFIG=/etc/rancher/rke2/rke2.yaml
    
    export PATH=$PATH:/var/lib/rancher/rke2/bin
    

Inicio de practica

  1. Defina la url a utilizar

    export AIO_WILDCARD=${WILDCARD_DOMAIN} # Valide esta información en su inventario, por ejemplo: lab-0.mx-g01.ws.itmlabs.io
    
    export HARBOR_URL=harbor.$AIO_WILDCARD
    

  2. Cree una carpeta llamada harbor y acceda a ella

    mkdir harbor ; cd harbor
    

  3. Crear un archivo llamada values.yaml con el siguiente contenido. Para evitar algun tipo de problema colocar directamente el wildcard en las url.

    expose:
      type: ingress
      tls:
        enabled: true
        certSource: auto
      ingress:
        hosts:
          core: harbor.WILDCARD_DOMAIN
          notary: harbor.WILDCARD_DOMAIN
    externalURL: http://harbor.WILDCARD_DOMAIN
    harborAdminPassword: "Harbor123"
    

  4. Crear un nuevo namespace llamado harbor

    kubectl create ns harbor
    

  5. Vamos a hacer la instalacion de gitlab por medio de helm.

    helm repo add harbor https://helm.goharbor.io
    helm repo update
    helm install harbor harbor/harbor --namespace harbor --values values.yaml
    

  6. Una vez finalize la instalacion vamos a ingresar con la direccion de harbor.${AIO_WILDCARD} donde AIO_WILDCARD es el wildcard de su laboratorio por ejemplo harbor.34-105-107-225.nip.io

  7. Nos vamos a loguear con admin y con la clave de Harbor123.