Implemente o Oracle Blockchain Platform Enterprise Edition no minikube

O minikube pode ser usado para fins de teste e desenvolvimento interno. Não é recomendado para ambientes de produção.

Pré-requisitos:
  • CPUs: 8 ou superior
  • Memória: 16GB
  • Espaço livre em disco: 50 GB ou mais
  • Um usuário não raiz com privilégios de superusuário
  • Certifique-se de que o nó do minikube tenha acesso à internet, o que é necessário para a instalação de chaincodes em suas Instâncias do Oracle Blockchain Platform.
  • minikube v1.33.1 ou posterior

Instalar minikube

Esta seção fornece um exemplo de passo a passo da instalação da versão testada do minikube. Para obter informações adicionais, consulte Ferramentas de Instalação do Kubernetes.

#Download the latest minikube binary
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64

#Install
sudo install minikube-linux-amd64 /usr/local/bin/minikube

#Verify Installation
minikube version

#Start Minikube
minikube start

#Verify Minikube Installation
minikube status
#Install Homebrew (if not already installed)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

#Install minikube using Homebrew
brew install minikube

#Start minikube
minikube start

#Verify minikube Installation
minikube status

Concluir a Instalação do Istio

O Oracle Blockchain Platform Enterprise Edition suporta a versão 1.20.2 e posterior. Você deve ter concluído as etapas em Instalar Istio antes de concluir o seguinte.


# Install
    istioctl install --set profile=default --set values.pilot.env.ENABLE_TLS_ON_SIDECAR_INGRESS=true --set components.cni.enabled=true --set values.cni.repair.deletePods="true"
    ## Enter "y" when prompted for "Proceed? (y/N)"
 
# Verify:
    $ istioctl version
    client version: 1.22.1
    control plane version: 1.22.1
    data plane version: 1.22.1 (1 proxies)

Instalar o Oracle Blockchain Platform Enterprise Edition

Para fazer download e instalar o Oracle Blockchain Platform Enterprise Edition em sua instância do minikube:

  1. Na página Oracle Blockchain Platform Enterprise Edition, clique em Fazer Download e siga as etapas para fazer download do pacote Oracle Blockchain Platform Enterprise Edition. Descompacte o pacote e extraia-o do arquivo baixado.
    tar -xzf <distribution-package-file>
    # example tar -xzf obpee_package_24.1.3-20240723083137.tgz
  2. Atualize runme-input.yaml com os valores necessários. Este é um exemplo de runme-input.yaml que 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
     
    # storageClassName should be set to create a dynamic persistent volume. If empty, default storageClass is used.
     
    controlPlaneStorage:
      storageClassName: 
      # Example 500Mi, 5Gi
      size: 4Gi
      
    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
    em que:
    • imageRegistryConfiguration.registry: servidor de registro de contêiner a ser usado. Exemplo: iad.ocir.io
    • imageRegistryConfiguration.imageTagPrefix: caminho do repositório base do contêiner com o registro, no qual as imagens devem ser enviadas (extraídas) para (de). Exemplo: iad.ocir.io/obpee/bcs
    • imageRegistryConfiguration.username: nome de 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 de 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.
  3. Verifique se o minikube está em execução.
  4. Abra uma nova janela de terminal e vá para o diretório do pacote de distribuição. Execute runme_minikube.sh e siga as etapas conforme solicitado pela saída do script:
    ./runme_minikube.sh [--publish-image]

    Observação:

    O comando --publish-image opcional faz upload dos contêineres para um registro de imagem de contêiner, como o Oracle Cloud Infrastructure Registry.
    • Informe a senha do administrador LDAP padrão (a senha não será exibida): ela é usada para definir a senha do usuário administrador para o servidor de autenticação LDAP incorporado.
    • Digite a senha padrão do usuário administrador do plano de controle (a senha não será exibida): ela é usada para definir a senha do usuário administrador do Blockchain Platform Manager.
    • Se StorageClass não tiver sido fornecido em runme-input.yaml, o sistema verificará se a classe de armazenamento padrão está definida e perguntará se você deseja usá-la.
    • Confirme a porta https do serviço de gateway de entrada do Istio: o padrão é 443 para o tipo de serviço LoadBalancer.
    • Informe a senha do registro <registry name>: usada para estabelecer conexão com o registro de imagem do contêiner (conforme especificado em runme-input.yaml) para fazer download de imagens.
  5. Em outra janela de terminal, execute os seguintes comandos:
    export KUBECONFIG=/<path_to>/.kube/minikube
  6. Certifique-se de que o túnel do minikube esteja ativo para acessar o Blockchain Platform Manager e as instâncias:
    minikube tunnel --bind-address 0.0.0.0
  7. O script deve continuar a instalar os serviços abaixo no namespace obp-cp:
    • control-plane
    • openldap
    • obp-auth-server
    • obp-operator
    • hlf-operator
  8. O script produzirá o URL do Gerenciador da Plataforma Blockchain, do qual a interface do usuário do plano de controle está acessível.

Acessar o Blockchain Platform Manager

Após a instalação, configure a resolução do nome do host para os nomes de host do Blockchain Platform Manager gerados.
  1. Execute este comando para obter a lista de nomes de host configurados:
    kubectl get virtualservice -n obp-cp -o json | jq -r .items[].spec.hosts[0]
  2. Use o endereço IPv4 do host do minikube como o endereço IP de mapeamento para os nomes de host gerados.
  3. Certifique-se de que o túnel do minikube esteja ativo para acessar instâncias do Blockchain Platform Manager e do Oracle Blockchain Platform.