Implemente o Oracle Blockchain Platform Enterprise Edition no minikube

Você pode usar o minikube para fins de teste e desenvolvimento interno. Não use o minikube para ambientes de produção.

Pré-requisitos:
  • CPUs: 8 ou superior
  • Memória : 16 GB
  • 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, que é necessário para instalar 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. Conclua as etapas em Instalar Istio antes de executar os comandos a seguir.


# 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

Faça download do Oracle Blockchain Platform Enterprise Edition e instale-o 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. Extraia o pacote do arquivo .zip e, em seguida, extraia o pacote do arquivo baixado.
    tar -xzf <distribution-package-file>
    # example tar -xzf obpee_package_24.1.3-20240723083137.tgz
  2. 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
     
    # 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
    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. Exemplo: iad.ocir.io
    • imageRegistryConfiguration.imageTagPrefix: Caminho do repositório base do contêiner com o registro, no qual as imagens serão enviadas e extraídas. Exemplo: iad.ocir.io/obpee/bcs
    • imageRegistryConfiguration.username: Nome do usuário de log-in no registro do contêiner
    • imageReleaseVersion: Oracle Blockchain Platform Enterprise Edition versão da release
    • 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. Certifique-se de que o minikube esteja em execução.
  4. Abra uma nova janela de terminal e vá para o diretório do pacote de distribuição. Execute o script runme_minikube.sh e siga as etapas conforme solicitado pela saída do script:
    ./runme_minikube.sh [--publish-images]

    Observação:

    O comando --publish-images opcional faz upload dos contêineres para um registro de imagem do contêiner, como o Oracle Cloud Infrastructure Registry.
    • Informe a senha de administrador LDAP padrão (a senha não será exibida): define a senha do administrador para o servidor de autenticação LDAP incorporado.
    • Informe a senha do usuário administrador do plano de controle padrão (a senha não será exibida): define a senha do administrador do Gerenciador do Blockchain Platform.
    • Se StorageClass não tiver sido fornecido no arquivo 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 <nome do registro>: essa senha é usada para estabelecer conexão com o registro de imagens do contêiner (conforme especificado no arquivo 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 instala os seguintes serviços no namespace obp-cp:
    • control-plane
    • openldap
    • obp-auth-server
    • obp-operator
    • hlf-operator
  8. O script exibe o URL do Gerenciador do Blockchain Platform, que você pode usar para acessar a interface do usuário do plano de controle.

Acessar o Blockchain Platform Manager

Após a instalação, configure a resolução do nome do host para os nomes de host gerados do Gerenciador do Blockchain Platform.
  1. Execute o seguinte 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.