Distribuire Oracle Blockchain Platform Enterprise Edition su un cluster Red Hat OpenShift on-premise

Prima di distribuire Oracle Blockchain Platform Enterprise Edition, è necessario disporre di un cluster Red Hat OpenShift Enterprise in esecuzione e installare diversi prerequisiti.

Le istruzioni riportate in questo argomento sono una linea guida che suggerisce come distribuire Oracle Blockchain Platform Enterprise Edition su Red Hat OpenShift on-premise. Prima di tentare effettivamente questo, in particolare per gli ambienti di produzione, è necessario familiarizzare con la documentazione di Red Hat OpenShift che sostituisce qualsiasi informazione in questo argomento.

Creare un cluster Red Hat OpenShift

Il cluster deve soddisfare i requisiti descritti nella documentazione Red Hat OpenShift descritta qui: OpenShift Container Platform Prerequisites

Specifiche minime consigliate per i nodi di lavoro del cluster:

  Produzione ad alta disponibilità
CPU nodo 4 CPU o versioni successive
Memoria nodo 32 GB o versione successiva
Conteggio nodi 3 o superiore
Dimensione del volume di avvio 100 GB o superiore

Installare l'interfaccia CLI OpenShift (oc) in modo da poter accedere al cluster. Vedere OpenShift CLI.

Indica se sei connesso a OpenShift.
oc get nodes
Questo comando deve restituire l'elenco dei nodi principali e operativi e il relativo stato.

Installa Oracle Blockchain Platform Enterprise Edition

  1. Impostare il profilo istio. Prima di eseguire i seguenti comandi, è necessario aver completato la procedura descritta in Installa istio.
    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. Scarica Oracle Blockchain Platform: Oracle Blockchain Platform.
  3. Estrarre il pacchetto zip e trovare lo script runme per OpenShift.
  4. Aggiornare il file runme-input.yaml con i valori richiesti. Il seguente esempio di file runme-input.yaml può essere utilizzato come riferimento:
    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

    Nota

    Si consiglia di impostare il registro dei container nell'ambiente in modo che i pull dell'immagine siano più veloci. Se si utilizza il proprio registro container, utilizzare il valore imageReleaseVersion 24.1.3-20240723083137.
    Nell'esempio precedente, le variabili sono definite come illustrato nell'elenco seguente:
    • imageRegistryConfiguration.registry: server del registro contenitore da utilizzare.
    • imageRegistryConfiguration.imageTagPrefix: percorso del repository di base del contenitore con il registro, in cui verrà eseguito il push e il pull delle immagini. Esempio: registryname.rhoscr.io/obpee/bcs
    • imageRegistryConfiguration.username: nome utente di login al registro contenitore.
    • imageReleaseVersion - Versione release di Oracle Blockchain Platform Enterprise Edition
    • controlPlaneStorage.storageClassName: classe di storage Kubernetes da utilizzare per il PVC (PersistentVolumeClaim). Se vuoto, viene utilizzato il valore predefinito storageClass
    • controlPlaneStorage.size: dimensione PVC per i servizi Blockchain Platform Manager (piano di controllo)
    • parentDomainName: nome di dominio da utilizzare per i servizi Blockchain Platform Manager. Esempio: example.com. Gli URL di Blockchain Platform Manager e della console del servizio conterranno questo nome di dominio.
    • imagePullTimeout: timeout di attesa dell'estrazione immagine in secondi durante l'installazione di Oracle Blockchain Platform Enterprise Edition. L'impostazione predefinita è 1800 secondi.
  5. Aprire runme_openshift.sh in un editor e commentare le due righe seguenti:
    • openshift_status_check
    • check_software_exists "crc"
  6. Eseguire runme_openshift.sh e completare i passi come richiesto.
    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
    I prompt che verranno visualizzati:
    • Immettere la password amministratore OpenLDAP: verrà utilizzata da Blockchain Platform Manager e gli utenti verranno creati su questo server OpenLDAP.
    • Immettere la password di amministrazione del piano di controllo: questa password verrà utilizzata per l'utente amministratore di Oracle Blockchain Platform e verrà utilizzata per il primo login alla console di Blockhain Platform Manager.
    • Immettere la password di login del registro per l'utente specificato in run-input.yaml. Viene utilizzata per connettersi al repository contenitore.
    • Lo script installa i seguenti servizi nello spazio di nomi obp-cp:
      • control-plane
      • openldap
      • obp-auth-server
      • obp-operator
      • hlf-operator
  7. Ottenere l'indirizzo IP esterno del servizio gateway di entrata Istio:
    kubectl get svc/istio-ingressgateway -n istio-system
  8. Aggiungere la riga seguente come richiesto a uno di questi file sull'host utilizzato per la connessione alla console di Blockchain Platform Manager:
    • Linux o macOS: /etc/hosts
    • Windows: C:\Windows\system32\drivers\etc\hosts
    <public_svc_ip> controlplane.<parentDomainName> openldap.<parentDomainName> auth.<parentDomainName>
    dove <public_svc_ip> è l'indirizzo IP pubblico esterno del passo precedente.

Post-requisiti

Ora sei pronto per eseguire il login a Oracle Blockchain Platform per la prima volta ed eseguire il provisioning di un'istanza.