Requisitos

En este tema se incluyen los requisitos de hardware y software para instalar Oracle Blockchain Platform Enterprise Edition.

Plataformas de Kubernetes

Se admiten las siguientes plataformas:
  • Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE) v1.29.1 o posterior
  • minikube v1.33.1 o posterior: entorno de prueba únicamente, no para producción

Debe tener un nombre de dominio que pueda resolver un servidor DNS.

Otro software necesario

Además, necesitará las siguientes herramientas para ayudar con la gestión de su plataforma Kubernetes y la instalación del contenedor de Oracle Blockchain Platform:
  • kubectl versión 1.29.3 o posterior: herramienta de línea de comandos de Kubernetes
  • Helm versión 3.12.3 o posterior: un gestor de paquetes de Kubernetes
  • Herramientas para gestionar los contenedores y los pods: elija una de las siguientes opciones:
    • Podman versión 4.9.4-rhel o posterior
    • Docker versión 24.0.6 o posterior
  • yq versión 4.42.1: un procesador YAML de línea de comandos
  • jq v1.7.1 o posterior: un procesador JSON de línea de comandos
  • Istio versión 1.20.2 o posterior e istioctl - herramienta de gestión de tráfico y seguridad para despliegues y su herramienta de línea de comandos

Exploradores Web

Se puede acceder a todas las herramientas administrativas incluidas en Oracle Blockchain Platform mediante los siguientes exploradores:
  • Mozilla Firefox
  • Microsoft Edge
  • Google Chrome
  • Apple Safari

Instalar software de requisitos previos

En esta sección, se proporciona un ejemplo de guía para instalar las versiones probadas de los requisitos previos. Consulte la documentación de cada producto para obtener información adicional y cualquier modificación necesaria en las instrucciones de instalación.

Instalar kubectl

La versión de kubectl siempre debe estar dentro de una diferencia de versión menor del cluster. Por ejemplo, si la versión del cluster de Oracle Kubernetes Engine es v1.29.1, puede utilizar kubectl v1.29.3. Para obtener más información, consulte Herramientas de instalación de 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 Helm

Oracle Blockchain Platform Enterprise Edition se probó con Helm v3.12.3. Para obtener información adicional, consulte Installing 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

Oracle Blockchain Platform Enterprise Edition se probó con Podman v4.9.4-rhel. Para obtener más información, consulte Instrucciones de instalación de 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

Oracle Blockchain Platform Enterprise Edition se probó con yq v4.42.1. Para obtener información adicional, 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

Oracle Blockchain Platform Enterprise Edition se probó con jq v1.7.1. Para obtener información adicional, consulte Download jq.

# Install:
    sudo dnf install jq

# Verify:
   jq --version
   jq-1.7.1

Instalar kubectl

La versión de kubectl siempre debe estar dentro de una diferencia de versión menor del cluster. Por ejemplo, si la versión del cluster de Oracle Kubernetes Engine es v1.29.1, puede utilizar kubectl v1.29.3. Para obtener más información, consulte Herramientas de instalación de 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 Helm

Oracle Blockchain Platform Enterprise Edition se probó con Helm v3.12.3. Para obtener información adicional, consulte Installing 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

Oracle Blockchain Platform Enterprise Edition se probó con Podman v4.9.4-rhel. Para obtener más información, consulte Instrucciones de instalación de 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

Oracle Blockchain Platform Enterprise Edition se probó con yq v4.44.1. Para obtener información adicional, consulte yq README.

# Install:
    brew install yq

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

Instalar jq

Oracle Blockchain Platform Enterprise Edition se probó con jq v1.7.1. Para obtener información adicional, consulte Download jq.

# Install:
    brew install jq

# Verify:
   jq --version
   jq-1.7.1

Instalar Istio

Istio amplía Kubernetes para proporcionar seguridad y gestión del tráfico a despliegues complejos. Oracle Blockchain Platform Enterprise Edition utiliza Istio como servicio de gateway de entrada para aceptar el tráfico entrante en varios servicios.

Recomendamos instalar Istio e istioctl (utilidad de línea de comandos de configuración de Istio). Se admite Istio versión 1.20.2 y posteriores.

Para descargar 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

Note:

La instalación de Istio se completará después de crear el cluster de Kubernetes. Tiene una dependencia en el archivo .kube/config.

El servicio ingressgateway de Istio se puede configurar en Kubernetes para que se ejecute con los tipos de servicio LoadBalancer o NodePort. Consulte la documentación de Istio para obtener más información: Gateways de entrada de Istio

Equilibrador de Carga

Si el cluster de Kubernetes soporta un equilibrador de carga externo, se recomienda configurar el servicio de gateway de entrada Istio como equilibrador de carga mediante el script runme de Oracle Blockchain Platform Enterprise Edition que utilizará durante el despliegue. Oracle Blockchain Platform Enterprise Edition utilizará el puerto https (443) del gateway de entrada de Istio como puerto público para aceptar el tráfico entrante. Este valor de puerto se puede personalizar opcionalmente durante la instalación de Oracle Blockchain Platform Enterprise Edition mediante el script runme.

Puerto del nodo

En los casos en los que no se puede utilizar el tipo de servicio del equilibrador de carga, el servicio de gateway de entrada Istio se puede configurar con el tipo de servicio de puerto de nodo. Oracle Blockchain Platform Enterprise Edition utilizará el valor nodePort del puerto https en el gateway de entrada Istio para enrutar el tráfico externo a Oracle Blockchain Platform Enterprise Edition dentro del cluster de Kubernetes. El valor de nodePort para el puerto https se puede personalizar opcionalmente (según el rango de nodePort permitido) durante la instalación de Oracle Blockchain Platform Enterprise Edition mediante el script runme. Por defecto, el rango de nodePort permitido en el cluster de Kubernetes es 30000-32767.

Note:

No actualice el valor de https port o nodePort después de la instalación de Oracle Blockchain Platform Enterprise Edition, ya que afectará a su función.

Resolución de nombre de host para servicios de Oracle Blockchain Platform Enterprise Edition

Los servicios de Oracle Blockchain Platform Enterprise Edition utilizan nombres de host generados de forma única que se configuran en los gateways/servicios virtuales de Istio. Para comunicarse con los servicios de Oracle Blockchain Platform Enterprise Edition dentro del cluster de Kubernetes, debe utilizar estos nombres de host únicos de sus exploradores o aplicaciones. Según el tipo de servicio elegido para istio-ingressgateway, estos nombres de host deben resolverse en una dirección IPv4 de la siguiente forma:
  • Si LoadBalancer, se resuelven en la dirección IP externa generada para el servicio istio-ingressgateway
  • Si NodePort, se resuelven en las direcciones IP de los nodos de trabajador