Implante o Oracle Blockchain Platform Enterprise Edition em um Cluster Local Red Hat OpenShift

Antes de implantar o Oracle Blockchain Platform Enterprise Edition, você deve ter um cluster do Red Hat OpenShift Enterprise em execução e deve instalar vários pré-requisitos.

As instruções neste tópico são uma diretriz sugerindo como você pode implantar o Oracle Blockchain Platform Enterprise Edition no Red Hat OpenShift on-premise. Antes de realmente tentar isso, especialmente para ambientes de produção, você deve se familiarizar com a documentação do Red Hat OpenShift que substitui qualquer informação neste tópico.

Criar um Cluster Red Hat OpenShift

Seu cluster deve atender aos requisitos descritos na documentação da Red Hat OpenShift descrita aqui: OpenShift Pré-requisitos do Container Platform

Especificações mínimas recomendadas para os nós de trabalho do cluster:

  Produção com Alta Disponibilidade
CPU do Nó 4 CPUs ou mais recente
Memória do Nó 32 GB ou mais
Contagem de Nós 3 ou uma versão mais recente
Tamanho do volume de inicialização 100 GB ou mais

Instale a CLI OpenShift (oc) para que você possa acessar seu cluster. Consulte CLI OpenShift.

Verfiy que você está conectado ao OpenShift.
oc get nodes
Esse comando deve retornar a lista de nós mestre e de trabalho e seu status.

Instalar o Oracle Blockchain Platform Enterprise Edition

  1. Defina o perfil istio. Você deve ter concluído as etapas em Instalar Istio antes de executar os comandos a seguir.
    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. Faça o download do Oracle Blockchain Platform: Oracle Blockchain Platform.
  3. Extraia o pacote zip e localize o script runme para OpenShift.
  4. Atualize o arquivo runme-input.yaml com os valores necessários. O seguinte arquivo de exemplo runme-input.yaml pode ser usado como referência:
    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

    Observação:

    Recomendamos configurar o registro de contêiner em seu ambiente para que as extrações de imagem sejam mais rápidas. Se você estiver usando seu próprio registro de contêiner, use o valor imageReleaseVersion de 24.1.3-20240723083137.
    No exemplo anterior, as variáveis são definidas conforme mostrado na seguinte lista:
    • imageRegistryConfiguration.registry: Servidor de registro do contêiner a ser usado.
    • imageRegistryConfiguration.imageTagPrefix: Caminho do repositório base do contêiner com o registro, no qual as imagens serão enviadas e extraídas. Exemplo: registryname.rhoscr.io/obpee/bcs
    • imageRegistryConfiguration.username: Nome do usuário de log-in do registro do contêiner.
    • imageReleaseVersion - Versão da versão do Oracle Blockchain Platform Enterprise Edition
    • controlPlaneStorage.storageClassName: Classe de armazenamento do Kubernetes a ser usada para PVC (PersistentVolumeClaim). Se estiver vazio, o padrão storageClass será usado
    • controlPlaneStorage.size: Tamanho da PVC para serviços do Blockchain Platform Manager (plano de controle)
    • parentDomainName: Nome de domínio a ser usado para serviços do Blockchain Platform Manager. Exemplo: example.com. O Blockchain Platform Manager e os URLs da console de serviço conterão este nome de domínio.
    • imagePullTimeout: Timeout de espera de extração de imagem em segundos durante a instalação do Oracle Blockchain Platform Enterprise Edition. O padrão é 1800 segundos.
  5. Abra runme_openshift.sh em um editor e comente as duas linhas a seguir:
    • openshift_status_check
    • check_software_exists "crc"
  6. Execute runme_openshift.sh e conclua as etapas conforme solicitado:
    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
    Os prompts que você encontrará:
    • Informe a senha de administrador OpenLDAP - Ela será usada pelo Gerenciador do Blockchain Platform e os usuários serão criados neste servidor OpenLDAP.
    • Informe a senha de Administrador do Plano de Controle - Essa senha será para o usuário administrador do Oracle Blockchain Platform e será usada pela primeira vez para fazer log-in na console do Gerenciador do Blockhain Platform.
    • Informe a senha de log-in do registro para o usuário especificado em run-input.yaml - É usada para estabelecer conexão com o repositório de contêineres.
    • O script instala os seguintes serviços no namespace obp-cp:
      • control-plane
      • openldap
      • obp-auth-server
      • obp-operator
      • hlf-operator
  7. Obtenha o endereço IP externo do serviço de gateway de entrada Istio:
    kubectl get svc/istio-ingressgateway -n istio-system
  8. Adicione a seguinte linha, conforme necessário, a um destes arquivos no host usado para estabelecer conexão com a console do Gerenciador do Blockchain Platform:
    • Linux ou macOS: /etc/hosts
    • Janelas: C:\Windows\system32\drivers\etc\hosts
    <public_svc_ip> controlplane.<parentDomainName> openldap.<parentDomainName> auth.<parentDomainName>
    em que <public_svc_ip> é o endereço IP externo público da etapa anterior.

Pós-requisitos

Agora você está pronto para fazer log-on no Oracle Blockchain Platform pela primeira vez e provisionar uma instância.