Distribuire Oracle Blockchain Platform Enterprise Edition su Azure Red Hat OpenShift

È possibile installare Oracle Blockchain Platform Enterprise Edition su Azure Red Hat OpenShift. OpenShift è la piattaforma Kubernetes aziendale di Red Hat che migliora Kubernetes standard con una suite di strumenti per la creazione, l'implementazione e la gestione di applicazioni containerizzate su larga scala. Azure Red Hat OpenShift è un servizio OpenShift completamente gestito su Microsoft Azure.

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

Creare un cluster Red Hat OpenShift su Microsoft Azure

Specifiche minime consigliate per il cluster Azure Red Hat OpenShift.

Creare un cluster Azure Red Hat OpenShift utilizzando la documentazione di Azure come guida: Creare un cluster Azure Red Hat OpenShift

Sarà necessario creare quanto segue:
  • VM del piano di controllo: tre Standard_D8s_v3
  • VM dei nodi di lavoro: quattro Standard_D4s_v3
  • Genera un pull secret di Red Hat.

Installare Oracle Blockchain Platform Enterprise Edition

Le immagini necessarie per la distribuzione di Oracle Blockchain Platform vengono memorizzate in un repository Docker prima di essere inviate alle VM Microsoft Azure. Si consiglia di eseguire l'installazione da una VM Cloud Linux il più vicino possibile all'area geografica in cui verrà installato il software. Lo storage locale per le immagini Docker deve essere di circa 100 GB.

  1. Aprire la console del cluster OpenShift.
  2. Selezionare kube:admin, quindi Copy login command. Verrà richiesto di specificare l'ID utente e la password.
    Fare clic su Token di visualizzazione. Copiare il comando Log in con questo token e incollarlo nell'interfaccia della riga di comando OpenShift.
    $ oc login --token=<token> --server=<openshift_cluster_url>
  3. Indica se sei connesso a OpenShift.
    oc get nodes
    Questo comando deve restituire l'elenco dei nodi principali e operativi e il relativo stato.
  4. 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"
  5. Scarica Oracle Blockchain Platform: Oracle Blockchain Platform.
  6. Estrarre il pacchetto zip e trovare lo script runme per OpenShift.
  7. 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.azurecr.io>
      imageTagPrefix: <container-image-repository-prefix.azurecr.io/bcs-k8s-dev  >
      username: <container-registry-username>
     
    imageReleaseVersion: 24.1.3-20240723083137
     
    # storageClassName should be set to create a dynamic persistent volume. If empty, default storageClass is used.
     
    controlPlaneStorage:
      storageClassName: 
      # Example 500Mi, 5Gi
      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
    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.azurecr.io/obpee/bcs
    • imageRegistryConfiguration.username: nome utente di login al registro contenitore. Per Azure è il token del registro dei container.
    • 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
    • imagePullTimeout: timeout di attesa dell'estrazione immagine in secondi durante l'installazione di Oracle Blockchain Platform Enterprise Edition. L'impostazione predefinita è 1800 secondi.
  8. Aprire runme_openshift.sh in un editor e commentare le due righe seguenti:
    • openshift_status_check
    • check_software_exists "crc"
  9. 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
  10. Ottenere l'indirizzo IP esterno del servizio gateway di entrata Istio:
    kubectl get svc/istio-ingressgateway -n istio-system
  11. 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.