Implante o Oracle Blockchain Platform Enterprise Edition no Azure Red Hat OpenShift

Você pode instalar o Oracle Blockchain Platform Enterprise Edition no Azure Red Hat OpenShift. OpenShift é a plataforma corporativa de Kubernetes da Red Hat que aprimora o Kubernetes padrão com um conjunto de ferramentas para criar, implementar e gerenciar aplicativos em contêineres em escala. Azure Red Hat OpenShift é um serviço OpenShift totalmente gerenciado no Microsoft Azure.

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

Criar um Cluster Red Hat OpenShift no Microsoft Azure

Especificações mínimas recomendadas para o seu Cluster Azure Red Hat OpenShift.

Crie um cluster OpenShift do Azure Red Hat usando a documentação do Azure como guia: Crie um cluster Azure Red Hat OpenShift

Você precisará criar os seguintes itens:
  • VMs do plano de controle: três Standard_D8s_v3
  • VMs do nó de trabalho: quatro Standard_D4s_v3
  • Gerar um segredo de extração do Red Hat.

Instalar o Oracle Blockchain Platform Enterprise Edition

As imagens necessárias para a implantação do Oracle Blockchain Platform são armazenadas em um repositório do Docker antes de serem enviadas para as VMs do Microsoft Azure. Recomendamos a instalação de uma VM do Cloud Linux que seja o mais próximo possível geograficamente da região onde seu software será instalado. O armazenamento local para as imagens do Docker deve ser de aproximadamente 100 GB.

  1. Abra a console de cluster OpenShift.
  2. Selecione kube:admin e depois Copy login command. Você será solicitado a fornecer seu ID de usuário e senha.
    Clique em Exibir Token. Copie o comando Fazer log-in com esse token e cole-o na interface da linha de comando OpenShift.
    $ oc login --token=<token> --server=<openshift_cluster_url>
  3. 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.
  4. 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"
  5. Faça o download do Oracle Blockchain Platform: Oracle Blockchain Platform.
  6. Extraia o pacote zip e localize o script runme para OpenShift.
  7. 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.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
    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.azurecr.io/obpee/bcs
    • imageRegistryConfiguration.username: Nome do usuário de log-in do registro do contêiner. Para o Azure, é o token de 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
    • 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.
  8. Abra runme_openshift.sh em um editor e comente as duas linhas a seguir:
    • openshift_status_check
    • check_software_exists "crc"
  9. 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
  10. Obtenha o endereço IP externo do serviço de gateway de entrada Istio:
    kubectl get svc/istio-ingressgateway -n istio-system
  11. 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.