Pré-requisitos

Este tópico contém os pré-requisitos de hardware e software para instalar o Oracle Blockchain Platform Enterprise Edition.

Plataformas Kubernetes

As seguintes plataformas são suportadas:
  • Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE) v1.29.1 ou posterior
  • minikube v1.33.1 ou posterior - somente ambiente de teste, não para produção

Você deve ter um nome de domínio que possa ser resolvido por um servidor DNS.

Outro Software de Pré-requisito

Além disso, você precisará das seguintes ferramentas para ajudar a gerenciar sua plataforma Kubernetes e instalar seu contêiner do Oracle Blockchain Platform:
  • kubectl versão 1.29.3 ou posterior - Ferramenta de linha de comando do Kubernetes
  • Helm versão 3.12.3 ou posterior - um gerenciador de pacotes do Kubernetes
  • Ferramentas para gerenciar seus contêineres e pods - escolha uma das seguintes opções:
    • Podman versão 4.9.4-rhel ou posterior
    • Docker versão 24.0.6 ou posterior
  • yq versão 4.42.1 - um processador YAML de linha de comando
  • jq v1.7.1 ou posterior - um processador JSON de linha de comandos
  • Istio versão 1.20.2 ou posterior e istioctl - ferramenta de gerenciamento de segurança e tráfego para implantações e sua ferramenta de linha de comando

Web Browsers

Todas as ferramentas administrativas incluídas no Oracle Blockchain Platform podem ser acessadas usando os seguintes navegadores:
  • Mozilla Firefox
  • Microsoft Edge
  • Google Chrome
  • Apple Safari

Instalar Software de Pré-requisito

Esta seção fornece um exemplo de passo a passo da instalação das versões testadas dos pré-requisitos. Consulte a documentação de cada produto para obter informações adicionais e quaisquer modificações necessárias nas instruções de instalação.

Instalar o kubectl

A versão do kubectl sempre deve estar dentro de uma diferença de versão secundária do seu cluster. Por exemplo, se a versão do cluster do Oracle Kubernetes Engine for v1.29.1, você poderá usar o kubectl v1.29.3. Para obter informações adicionais, consulte Ferramentas de Instalação do Kubernetes.

# Download:
    curl -LO https://dl.k8s.io/release/v1.29.3/bin/linux/amd64/kubectl
 
# Setup:
    # Make binary file executable:
    chmod +x ./kubectl
    # Move the downloaded binary to /usr/local/bin or /usr/bin and make "root" as the owner of this binary
    sudo mv ./kubectl /usr/bin/kubectl
    sudo chown root: /usr/bin/kubectl
 
# Verify:
    $ kubectl version --client --output=yaml
    clientVersion:
        buildDate: "2024-03-15T00:08:19Z"
        compiler: gc
        gitCommit: 6813625b7cd706db5bc7388921be03071e1a492d
        gitTreeState: clean
        gitVersion: v1.29.3
        goVersion: go1.21.8
        major: "1"
        minor: "29"
        platform: linux/amd64
    kustomizeVersion: v5.0.4-0.20230601165947-6ce0bf390ce3

Instalar o Helm

O Oracle Blockchain Platform Enterprise Edition foi testado com o Helm v3.12.3. Para obter informações adicionais, consulte Instalando o Helm.

#Download install script:
    curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
 
# Provide execute permission and execute:
    chmod +x get_helm.sh
    ./get_helm.sh
 
# Verify:"
    $ helm version
    version.BuildInfo{Version:"v3.12.3", GitCommit:"3a31588ad33fe3b89af5a2a54ee1d25bfe6eaa5e", GitTreeState:"clean", GoVersion:"go1.20.7"}

Instalar Podman

O Oracle Blockchain Platform Enterprise Edition foi testado com Podman v4.9.4-rhel. Para obter informações adicionais, consulte Podman Installation Instructions.

# Update the package list:
    sudo yum update
 
# Install podman:
    sudo yum install podman -y
 
# create docker alias to run podman commands
    sudo yum install -y podman-docker
 
#Verify:
    $ podman --version
        podman version 4.9.4-rhel
    $ docker --version
        podman version 4.9.4-rhel

Instalar yq

O Oracle Blockchain Platform Enterprise Edition foi testado com yq v4.42.1. Para obter informações adicionais, consulte yq README.

# Download:
    wget https://github.com/mikefarah/yq/releases/download/v4.42.1/yq_linux_amd64.tar.gz -O - | tar xz
 
# Setup:
    sudo mv yq_linux_amd64 /usr/bin/yq
    sudo chmod +x /usr/bin/yq
 
# Verify:
    yq --version

Instalar jq

O Oracle Blockchain Platform Enterprise Edition foi testado com jq v1.7.1. Para obter informações adicionais, consulte Fazer download do jq.

# Install:
    sudo dnf install jq

# Verify:
   jq --version
   jq-1.7.1

Instalar o kubectl

A versão do kubectl sempre deve estar dentro de uma diferença de versão secundária do seu cluster. Por exemplo, se a versão do cluster do Oracle Kubernetes Engine for v1.29.1, você poderá usar o kubectl v1.29.3. Para obter informações adicionais, consulte Ferramentas de Instalação do Kubernetes.

curl -LO https://dl.k8s.io/release/v1.29.3/bin/darwin/amd64/kubectl

# Setup:
    # Make binary file executable:
    chmod +x ./kubectl
    # Move the downloaded binary to /usr/local/bin and make "root" as the owner of this binary
    sudo mv ./kubectl /usr/local/bin/kubectl
    sudo chown root: /usr/local/bin/kubectl
 
# Verify:
    $ kubectl version --client --output=yaml

    clientVersion:
        buildDate: "2024-03-15T00:08:19Z"
        compiler: gc
        gitCommit: 6813625b7cd706db5bc7388921be03071e1a492d
        gitTreeState: clean
        gitVersion: v1.29.3
        goVersion: go1.21.8
        major: "1"
        minor: "29"
        platform: darwin/amd64
    kustomizeVersion: v5.0.4-0.20230601165947-6ce0bf390ce3

Instalar o Helm

O Oracle Blockchain Platform Enterprise Edition foi testado com o Helm v3.12.3. Para obter informações adicionais, consulte Instalando o Helm.

#Download install script:
    curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
 
# Provide execute permission and execute:
    chmod +x get_helm.sh
    ./get_helm.sh
 
# Verify:"
    $ helm version
    version.BuildInfo{Version:"v3.12.3", GitCommit:"3a31588ad33fe3b89af5a2a54ee1d25bfe6eaa5e", GitTreeState:"clean", GoVersion:"go1.20.7"}

Instalar Podman

O Oracle Blockchain Platform Enterprise Edition foi testado com Podman v4.9.4-rhel. Para obter informações adicionais, consulte Podman Installation Instructions.

# Install:
     brew install podman

# After installing, you need to create and start your first Podman machine:

     podman machine init
     podman machine start

# Verify:
     podman info
     host: arch: amd64 buildahVersion: 1.36.0 cgroupControllers: - cpu - io - memory - pids cgroupManager: systemd

# Make docker commands available via podman by creating a symlink:
     sudo ln -s /usr/local/bin/podman /usr/local/bin/docker 

Instalar yq

O Oracle Blockchain Platform Enterprise Edition foi testado com yq v4.44.1. Para obter informações adicionais, consulte yq README.

# Install:
    brew install yq

# Verify:
   yq--version
   yq (https://github.com/mikefarah/yq/) version v4.44.1

Instalar jq

O Oracle Blockchain Platform Enterprise Edition foi testado com jq v1.7.1. Para obter informações adicionais, consulte Fazer download do jq.

# Install:
    brew install jq

# Verify:
   jq --version
   jq-1.7.1

Instalar Istio

O Istio estende o Kubernetes para fornecer gerenciamento de tráfego e segurança a implantações complexas. O Oracle Blockchain Platform Enterprise Edition usa o Istio como o serviço de gateway de entrada para aceitar o tráfego de entrada em vários serviços.

Recomendamos a instalação do Istio e do istioctl (utilitário de linha de comando de configuração do Istio). O Istio versão 1.20.2 e posterior é suportado.

Para baixar o Istio:

# Download istioctl tool
   curl -L https://istio.io/downloadIstio | sh -

# (optional) You can move the downloaded "istio-1.22.1" directory     
   mv ./istio-1.22.1 $HOME/istioctl

# Add the istioctl client to your path     
export PATH=$HOME/istioctl/bin:$PATH

Observação:

A instalação do Istio será concluída após a criação do cluster do Kubernetes. Ele tem uma dependência no arquivo .kube/config.

O serviço ingressgateway do Istio pode ser configurado no Kubernetes para ser executado com os tipos de serviço LoadBalancer ou NodePort. Consulte a documentação do Istio para obter detalhes: Gateways de Entrada do Istio

Serviço Load Balancer

Se o cluster do Kubernetes suportar um balanceador de carga externo, é recomendável configurar o serviço de gateway de entrada Istio como balanceador de carga usando o script runme do Oracle Blockchain Platform Enterprise Edition que você usará durante a implantação. O Oracle Blockchain Platform Enterprise Edition usará a porta https do gateway de entrada Istio (443) como porta pública para aceitar o tráfego de entrada. Esse valor de porta pode ser opcionalmente personalizado durante a instalação do Oracle Blockchain Platform Enterprise Edition usando o script runme.

Porta do Nó

Nos casos em que o tipo de serviço do balanceador de carga não pode ser usado, o serviço de gateway de entrada do Istio pode ser configurado com o tipo de serviço de porta do nó. O Oracle Blockchain Platform Enterprise Edition usará o valor nodePort da porta https no gateway de entrada do Istio para rotear o tráfego externo para o Oracle Blockchain Platform Enterprise Edition dentro do cluster do Kubernetes. O valor do nodePort para a porta https pode ser opcionalmente personalizado (com base na faixa nodePort permitida) durante a instalação do Oracle Blockchain Platform Enterprise Edition usando o script runme. Por padrão, a faixa nodePort permitida no cluster do Kubernetes é 30000-32767.

Observação:

Não atualize o valor do https port ou nodePort após a instalação do Oracle Blockchain Platform Enterprise Edition, pois isso afetará sua função.

Resolução de Nome de Host para Serviços do Oracle Blockchain Platform Enterprise Edition

Os serviços do Oracle Blockchain Platform Enterprise Edition usam nomes de host gerados exclusivamente configurados nos gateways/virtualservices do Istio. Para se comunicar com os serviços do Oracle Blockchain Platform Enterprise Edition dentro do cluster do Kubernetes, você deve usar esses nomes de host exclusivos de seus navegadores ou aplicativos. Com base no tipo de serviço escolhido para istio-ingressgateway, esses nomes de host devem ser resolvidos para um endereço IPv4 da seguinte maneira:
  • Se LoadBalancer, eles serão resolvidos para o endereço IP externo gerado para o serviço istio-ingressgateway
  • Se NodePort, eles serão resolvidos para os endereços IP dos nós de trabalho