Validación antes de la instalación

Valida la conectividad con los modelos, las credenciales, los certificados y los ajustes de configuración antes de la instalación para identificar y resolver problemas del gateway de modelos antes de desplegar Bob on-premises.

Antes de instalar Bob on-premises, verifica que tus endpoints de modelos, credenciales de autenticación, certificados TLS y la configuración del gateway de modelos están correctamente configurados y son accesibles desde el clúster de OpenShift de destino. Realizar estas comprobaciones de validación ayuda a identificar problemas de conectividad, credenciales inválidas, problemas de confianza de certificados y errores de configuración antes del despliegue, reduciendo los fallos de instalación y el esfuerzo de resolución de problemas.

Revisa esta lista de comprobación antes de ejecutar bobctl install para detectar configuraciones faltantes de forma anticipada.

Pruebas de conectividad con los endpoints de modelos

Confirma que el clúster de OpenShift puede alcanzar cada endpoint de modelo antes de desplegar ningún componente de Bob. Lanza un pod de depuración temporal en el namespace de destino y prueba la accesibilidad HTTPS directamente:

# openai_compatible
oc run curl-test --image=curlimages/curl --restart=Never --rm -it -- \
  curl -v https://<model-endpoint>/v1/models

# bedrock
oc run curl-test --image=curlimages/curl --restart=Never --rm -it -- \
  curl -k https://bedrock.<AWS_REGION>.amazonaws.com/foundation-models \
  --aws-sigv4 "aws:amz:${REGION}:bedrock" \
  --user "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY"

Para endpoints openai_compatible, prueba contra el valor base_url de tu configuración del gateway de modelos. Para infraestructuras air-gapped o privadas, esta es la única forma de validar la conectividad, ya que no hay accesibilidad externa por diseño.

Validación de autenticación

Valida las credenciales antes de codificarlas como secretos en config.yaml. Una credencial incorrecta produce un fallo en el inicio del servicio de inferencia, normalmente con un mensaje de log críptico.

  • openai_compatible — prueba la clave API directamente desde un pod de depuración:

    curl -s https://<base_url>/v1/models \
      -H "Authorization: Bearer <api_key>" | jq '.data[].id'
  • bedrock — verifica los valores AWS_ACCESS_KEY y AWS_SECRET_ACCESS_KEY usando la CLI de AWS antes de añadirlos a config.yaml:

    aws bedrock list-foundation-models --region us-east-1
  • vertex — decodifica el valor base64 de GEMINI_CREDENTIALS y confirma que es un JSON de cuenta de servicio válido antes de proporcionarlo:

    base64 -d <<< "$GEMINI_CREDENTIALS" | jq '.type'
    # Salida esperada: "service_account"

Validación de certificados TLS

Si usas ca_cert_pem con un endpoint openai_compatible, valida el certificado antes de proporcionarlo como secreto.

Verifica que el certificado está codificado en PEM y no ha expirado:

echo "<cert content>" | openssl x509 -noout -dates

Confirma que el certificado coincide con la cadena CA del endpoint:

openssl s_client -connect <host>:<port> -CAfile ca.pem
Advertencia:

insecure_skip_verify: true solo puede usarse temporalmente durante la depuración inicial de conectividad. Elimínalo antes de poner el sistema en producción. Si ca_cert_pem referencia una variable de entorno que no está presente en bob.modelGateway.secrets, el servicio de inferencia se inicia correctamente pero TLS falla en el momento de la inferencia.

Validación de descubrimiento de modelos

Confirma que el ID del model en tu bloque de proveedor coincide exactamente con lo que el proveedor expone. Una discrepancia produce un error 404 o model-not-found en el momento de la inferencia, no en el inicio.

Para endpoints openai_compatible, comprueba los IDs de modelos disponibles antes de instalar:

curl -s https://<base_url>/v1/models \
  -H "Authorization: Bearer <api_key>" | jq '.data[].id'

Comprobaciones de errores de configuración comunes

Error de configuraciónSíntomaComprobación
El nombre del secreto en la configuración del modelo no coincide con la clave en el bloque secrets de config.yamlLa autenticación falla en tiempo de solicitud, no en el inicioCompara cada referencia env.* en la configuración del modelo con las claves de bob.modelGateway.secrets
GEMINI_CREDENTIALS no codificado en base64El proveedor Vertex falla al analizar las credenciales en el inicioEjecuta base64 -d <<< "$VALUE" y confirma que es un JSON válido con "type": "service_account"
base_url incluye una barra final / o un sufijo de rutaEl proveedor devuelve 404Elimina las barras finales — el gateway añade rutas como /v1/chat/completions por sí mismo
Valores model_name duplicados en la lista modelsComportamiento de enrutamiento indefinidoAsegúrate de que todos los valores model_name son únicos en la configuración
bobctl install ejecutado sin --model-configGateway vacío, sin inferenciaConfirma que se pasa --model-config y que el archivo es legible en la ruta especificada
Variable de entorno ca_cert_pem definida en la configuración del modelo pero faltante en secretsFallo TLS en tiempo de inferenciaCompara cada referencia env.* en la configuración del modelo con el bloque secrets
¿Cómo es este tema?