Despliegue de Oracle Blockchain Platform Enterprise Edition en un cluster local de Red Hat OpenShift

Antes de desplegar Oracle Blockchain Platform Enterprise Edition, debe tener un cluster de Red Hat OpenShift Enterprise en ejecución y debe instalar varios requisitos previos.

Las instrucciones de este tema son una directriz que sugiere cómo desplegar Oracle Blockchain Platform Enterprise Edition en Red Hat OpenShift de forma local. Antes de intentar realmente esto, especialmente para entornos de producción, debe familiarizarse con la documentación de Red Hat OpenShift que sustituye cualquier información de este tema.

Creación de un cluster OpenShift de Red Hat

Su cluster debe cumplir los requisitos descritos en la documentación de Red Hat OpenShift que se describe a continuación: OpenShift requisitos previos de Container Platform

Especificaciones mínimas recomendadas para los nodos de trabajador del cluster:

  Producción con alta disponibilidad
CPU de nodo 4 CPU o superior
Memoria de nodo 32 GB o más
Recuento de nodos 3 o superior
Tamaño del volumen de inicio 100 GB o más

Instale la CLI OpenShift (oc) para que pueda acceder al cluster. Consulte OpenShift CLI.

Asegúrese de que está conectado a OpenShift.
oc get nodes
Este comando debe devolver la lista de nodos maestros y de trabajador y su estado.

Instalación de Oracle Blockchain Platform Enterprise Edition

  1. Defina el perfil de istio. Debe haber completado los pasos de Install Istio antes de ejecutar los siguientes comandos.
    istioctl install --set profile=openshift --set
    values.pilot.env.ENABLE_TLS_ON_SIDECAR_INGRESS=true --set components.cni.enabled=true --set
    values.cni.repair.deletePods="true"
  2. Descargue Oracle Blockchain Platform: Oracle Blockchain Platform.
  3. Extraiga el paquete zip y busque el script runme para OpenShift.
  4. Actualice el archivo runme-input.yaml con los valores necesarios. El siguiente archivo runme-input.yaml de ejemplo se puede utilizar como referencia:
    imageRegistryConfiguration:
      registry: <container_registry_name>
      imageTagPrefix: <container-image-repository-prefix>
      username: <container-registry-username>
     
    imageReleaseVersion: 24.1.3-20240723083137
     
    controlPlaneStorage:
      storageClassName: 
      size: 10Gi
      
    parentDomainName: example.com
    #imagePullTimeout: Use this field to customize the wait time (in seconds) for pulling the required container images from the repository. Default is 1800 seconds.
      imagePullTimeout: 1800

    Note:

    Recomendamos configurar el registro de contenedores en su entorno para que las recuperaciones de imágenes sean más rápidas. Si utiliza su propio registro de contenedores, utilice el valor imageReleaseVersion de 24.1.3-20240723083137.
    En el ejemplo anterior, las variables se definen como se muestra en la siguiente lista:
    • imageRegistryConfiguration.registry: servidor de registro de contenedor que se va a utilizar.
    • imageRegistryConfiguration.imageTagPrefix: ruta de repositorio base de contenedor con el registro, donde se transferirán y extraerán las imágenes. Ejemplo: registryname.rhoscr.io/obpee/bcs
    • imageRegistryConfiguration.username: nombre de usuario de conexión al registro de contenedor.
    • imageReleaseVersion - Versión de Oracle Blockchain Platform Enterprise Edition
    • controlPlaneStorage.storageClassName: clase de almacenamiento de Kubernetes que se utilizará para la PVC (PersistentVolumeClaim). Si está vacío, se utiliza el valor por defecto storageClass
    • controlPlaneStorage.size: tamaño de PVC para los servicios de Blockchain Platform Manager (plano de control)
    • parentDomainName: nombre de dominio que se utilizará para los servicios de Blockchain Platform Manager. Ejemplo: example.com. Blockchain Platform Manager y las URL de la consola de servicio contendrán este nombre de dominio.
    • imagePullTimeout: timeout de espera de recuperación de imagen en segundos durante la instalación de Oracle Blockchain Platform Enterprise Edition. El valor por defecto es 1800 segundos.
  5. Abra runme_openshift.sh en un editor y comente las dos líneas siguientes:
    • openshift_status_check
    • check_software_exists "crc"
  6. Ejecute runme_openshift.sh y complete los pasos que se le indican:
    chmod +x runme_openshift.sh
    
    ./runme_openshift.sh --publish-images
    # The publish-images option uploads the containers to the container image registry specified in runme-input.yaml
    # Running the script without this option pulls images you've already pre-uploaded from the repository specified in runme-input.yaml
    Los campos que encontrará:
    • Introduzca la contraseña de administrador OpenLDAP: Blockchain Platform Manager la utilizará y los usuarios se crearán en este servidor OpenLDAP.
    • Introduzca la contraseña de administrador del plano de control: esta contraseña será para el usuario administrador de Oracle Blockchain Platform y se utilizará por primera vez para conectarse a la consola de Blockhain Platform Manager.
    • Introduzca la contraseña de conexión del registro para el usuario especificado en run-input.yaml: se utiliza para conectarse al repositorio de contenedores.
    • La secuencia de comandos instala los siguientes servicios en el espacio de nombres obp-cp:
      • control-plane
      • openldap
      • obp-auth-server
      • obp-operator
      • hlf-operator
  7. Obtenga la dirección IP externa del servicio de gateway de entrada de Istio:
    kubectl get svc/istio-ingressgateway -n istio-system
  8. Agregue la siguiente línea según sea necesario a uno de estos archivos en el host que se utiliza para conectarse a la consola de Blockchain Platform Manager:
    • Linux o macOS: /etc/hosts
    • Windows: C:\Windows\system32\drivers\etc\hosts
    <public_svc_ip> controlplane.<parentDomainName> openldap.<parentDomainName> auth.<parentDomainName>
    donde <public_svc_ip> es la dirección IP pública externa del paso anterior.

Requisitos posteriores

Ya puede conectarse a Oracle Blockchain Platform por primera vez y aprovisionar una instancia.