¿Cómo configurar Harbor para SCDF?
Estoy intentando utilizar el registro Harbor
con SCDF 2.9.1
en microk8s 1.18.20
.
He configurado con éxito SCDF para recuperar las etiquetas de mis aplicaciones Docker añadiendo esto en el Mapa de Configuración del servidor SCDF:
spring:
cloud:
dataflow:
container:
registry-configurations:
harbor:
registry-host: myhost
authorization-type: dockeroauth2
user: myuser
secret: mypwd
disable-ssl-verification: true
extra:
"registryAuthUri" : 'https://myhost/service/token?service=harbor-registry&scope=repository:{repository}:pull'
Luego, para obtener imágenes, creé un secreto con esta línea de comando (después de configurar mi demonio Docker local):
microk8s.kubectl create secret generic harbor-credentials \
--from-file=.dockerconfigjson=/home/myuser/.docker/config.json \
--type=kubernetes.io/dockerconfigjson
Y cambie el Mapa de Configuración de Skipper y SCDF para usarlo con:
spring.cloud.skipper.server.platform.kubernetes.accounts.default.imagePullSecret=harbor-credentials
spring.cloud.dataflow.task.platform.kubernetes.accounts.default.imagePullSecret=harbor-credentials
Pero cuando intento desplegar mi aplicación en un flujo, obtengo este error al obtener la imagen:
Head "https://myhost/v2/scdf/myapp/manifests/latest": x509: certificate signed by unknown authority
¿Cómo y dónde debo configurar el certificado autofirmado de Harbor para que SCDF/Skipper pueda desplegar aplicaciones?
Además, idealmente, preferiría quitar disable-ssl-verification: true
para las etiquetas Docker también.
davy.ai
Para configurar un certificado autofirmado para Harbor en SCDF, debe realizar los siguientes pasos:
Este comando devolverá un archivo de certificado llamado
myhost.crt
.Cree un secreto de Kubernetes para el certificado usando el siguiente comando:
Este comando creará un secreto llamado
harbor-certificate
usando el archivomyhost.crt
.Actualice los mapas de configuración de su servidor SCDF y Skipper para usar el certificado agregando las siguientes entradas:
Esto agregará el secreto
harbor-certificate
a la lista de secretos utilizados para la descarga de imágenes.Reinicie sus pods de SCDF y Skipper para que los cambios tengan efecto.
Con estos pasos, debería poder implementar sus aplicaciones desde Harbor sin la bandera
disable-ssl-verification: true
y con la seguridad adicional de usar un certificado autofirmado.