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 mais recente
  • Red Hat OpenShift Local - Embedded OpenShift versão 4.15.3 ou versões compatíveis posteriores, Code Ready Container versão 2.34.1 ou versões compatíveis posteriores
  • Red Hat OpenShift no Microsoft Azure v4.17.27 ou versões compatíveis posteriores
  • Red Hat OpenShift no cluster local v4.17 ou versões compatíveis posteriores
  • minikube v1.33.1 ou posterior - ambiente de teste apenas, não para produção

Você deve ter um nome de domínio válido que possa ser resolvido por um servidor DNS. Somente para ambientes de teste ou de não produção, você pode configurar a resolução de nomes locais adicionando entradas no arquivo /etc/hosts. Os nomes de host e endereços IP específicos a serem usados no arquivo /etc/hosts são gerados após a implantação. Para obter mais informações, consulte a seção Access Blockchain Platform Manager do tópico de instalação da sua versão do Kubernetes.

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 - uma linha de comando do processador YAML
  • jq v1.7.1 ou posterior - uma linha de comando do processador JSON
  • Istio - ferramenta de gerenciamento de segurança e tráfego para implantações
    • v1.20.2 ou posterior para OKE ou minikube executando o patch 4 ou anterior do Oracle Blockchain Platform Enterprise Edition
    • v1.22.1 ou posterior para OKE ou minikube executando o patch 5 ou posterior do Oracle Blockchain Platform Enterprise Edition
    • v1.22.1 para Red Hat OpenShift Local
    • v1.26.0 para Red Hat OpenShift no Microsoft Azure
    • v1.26.0 para Red Hat OpenShift On Premises
  • istioctl - a ferramenta de linha de comando para Istio

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 kubectl

A versão do kubectl deve estar sempre dentro de uma diferença de versão secundária do seu cluster. Por exemplo, se a versão do cluster do Kubernetes for v1.29.1, você poderá usar a versã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 o Podman v4.9.4-rhel. Para obter informações adicionais, consulte Instruções de Instalação do Podman.

# 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 o 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 o jq v1.7.1. Para obter informações adicionais, consulte Download de jq.

# Install:
    sudo dnf install jq

# Verify:
   jq --version
   jq-1.7.1

Instalar kubectl

A versão do kubectl deve estar sempre 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 a versã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 o Podman v4.9.4-rhel. Para obter informações adicionais, consulte Instruções de Instalação do Podman.

# 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 o 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 o jq v1.7.1. Para obter informações adicionais, consulte Download de jq.

# Install:
    brew install jq

# Verify:
   jq --version
   jq-1.7.1

Instalar Istio

O Istio estende o Kubernetes para fornecer gerenciamento e segurança de tráfego a implementações complexas. O Oracle Blockchain Platform Enterprise Edition usa o Istio como 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).

Para fazer download do 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

Recomendamos a instalação do Istio e do istioctl (utilitário de linha de comando de configuração do Istio).

Para fazer download do 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. Tem uma dependência do 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

Balanceador de Carga

Se o seu cluster do Kubernetes suportar um balanceador de carga externo, é recomendável configurar o serviço de gateway de entrada do 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 (443) do gateway de entrada do Istio como porta pública para aceitar o tráfego de entrada. Este 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 Istio pode ser configurado com o tipo de serviço de porta de 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 de 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 que são configurados nos gateways/serviços virtuais 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