Prerequisiti

Questo argomento contiene i prerequisiti hardware e software per l'installazione di Oracle Blockchain Platform Enterprise Edition.

Piattaforme Kubernetes

Sono supportate le piattaforme seguenti:
  • Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE) v1.29.1 o versione successiva
  • minikube v1.33.1 o versione successiva - solo ambiente di prova, non per la produzione

È necessario disporre di un nome di dominio che possa essere risolto da un server DNS.

Altro software prerequisito

Inoltre, avrai bisogno dei seguenti strumenti per aiutarti a gestire la tua piattaforma Kubernetes e installare il tuo container Oracle Blockchain Platform:
  • kubectl versione 1.29.3 o successiva: strumento della riga di comando di Kubernetes
  • Helm versione 3.12.3 o successiva: un gestore di pacchetti Kubernetes
  • Strumenti per gestire i tuoi contenitori e pod - scegli uno dei seguenti:
    • Podman versione 4.9.4-rhel o successiva
    • Docker versione 24.0.6 o successiva
  • yq versione 4.42.1 - un processore YAML a riga di comando
  • jq v1.7.1 o versione successiva: processore JSON della riga di comando
  • Istio versione 1.20.2 o successiva e istioctl - strumento di gestione della sicurezza e del traffico per le distribuzioni e il relativo strumento della riga di comando

Browser Web

Tutti gli strumenti amministrativi inclusi in Oracle Blockchain Platform sono accessibili utilizzando i seguenti browser:
  • Mozilla Firefox
  • Microsoft Edge
  • Google Chrome
  • Apple Safari

Installa software prerequisiti

In questa sezione viene fornita una descrizione dettagliata di esempio dell'installazione delle versioni testate dei prerequisiti. Per ulteriori informazioni e per le eventuali modifiche richieste alle istruzioni di installazione, consultare la documentazione di ciascun prodotto.

Installa kubectl

La versione di kubectl deve sempre rientrare in una differenza di versione secondaria del cluster. Ad esempio, se la versione del cluster di Oracle Kubernetes Engine è la v1.29.1, è possibile utilizzare kubectl v1.29.3. Per ulteriori informazioni, vedere Strumenti di installazione di 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

Installa Helm

Oracle Blockchain Platform Enterprise Edition è stato testato con Helm v3.12.3. Per ulteriori informazioni, vedere Installazione di 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"}

Installa Podman

Oracle Blockchain Platform Enterprise Edition è stato testato con Podman v4.9.4-rhel. Per ulteriori informazioni, vedere le istruzioni per l'installazione di 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

Installa yq

Oracle Blockchain Platform Enterprise Edition è stato testato con yq v4.42.1. Per ulteriori informazioni, vedere 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

Installa jq

Oracle Blockchain Platform Enterprise Edition è stato testato con jq v1.7.1. Per ulteriori informazioni, vedere Scaricare jq.

# Install:
    sudo dnf install jq

# Verify:
   jq --version
   jq-1.7.1

Installa kubectl

La versione di kubectl deve sempre rientrare in una differenza di versione secondaria del cluster. Ad esempio, se la versione del cluster di Oracle Kubernetes Engine è la v1.29.1, è possibile utilizzare kubectl v1.29.3. Per ulteriori informazioni, vedere Strumenti di installazione di 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

Installa Helm

Oracle Blockchain Platform Enterprise Edition è stato testato con Helm v3.12.3. Per ulteriori informazioni, vedere Installazione di 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"}

Installa Podman

Oracle Blockchain Platform Enterprise Edition è stato testato con Podman v4.9.4-rhel. Per ulteriori informazioni, vedere le istruzioni per l'installazione di 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 

Installa yq

Oracle Blockchain Platform Enterprise Edition è stato testato con yq v4.44.1. Per ulteriori informazioni, vedere yq README.

# Install:
    brew install yq

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

Installa jq

Oracle Blockchain Platform Enterprise Edition è stato testato con jq v1.7.1. Per ulteriori informazioni, vedere Scaricare jq.

# Install:
    brew install jq

# Verify:
   jq --version
   jq-1.7.1

Installa Istio

Istio estende Kubernetes per fornire gestione del traffico e sicurezza a implementazioni complesse. Oracle Blockchain Platform Enterprise Edition utilizza Istio come servizio gateway in entrata per accettare il traffico in entrata in vari servizi.

Si consiglia di installare Istio e istioctl (utility della riga di comando di configurazione Istio). Istio versione 1.20.2 e successive è supportato.

Per scaricare 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

Nota

L'installazione di Istio verrà completata dopo la creazione del cluster Kubernetes. È dipendente dal file .kube/config.

Il servizio ingressgateway di Istio può essere configurato in Kubernetes per essere eseguito con i tipi di servizio LoadBalancer o NodePort. Per ulteriori informazioni, consultare la documentazione di Istio: Istio Ingress Gateway

Load Balancer

Se il cluster Kubernetes supporta un load balancer esterno, si consiglia di configurare il servizio gateway di entrata Istio come load balancer utilizzando lo script Oracle Blockchain Platform Enterprise Edition runme che verrà utilizzato durante la distribuzione. Oracle Blockchain Platform Enterprise Edition utilizzerà la porta https (443) del gateway di entrata Istio come porta pubblica per accettare il traffico in entrata. Questo valore di porta può essere personalizzato facoltativamente durante l'installazione di Oracle Blockchain Platform Enterprise Edition utilizzando lo script runme.

Porta nodo

Nei casi in cui non è possibile utilizzare il tipo di servizio load balancer, il servizio gateway di entrata Istio può essere configurato con il tipo di servizio porta nodo. Oracle Blockchain Platform Enterprise Edition utilizzerà il valore nodePort della porta https nel gateway di entrata Istio per instradare il traffico esterno a Oracle Blockchain Platform Enterprise Edition all'interno del cluster Kubernetes. Il valore di nodePort per la porta https può essere personalizzato facoltativamente (in base all'intervallo nodePort consentito) durante l'installazione di Oracle Blockchain Platform Enterprise Edition utilizzando lo script runme. Per impostazione predefinita, l'intervallo nodePort consentito nel cluster Kubernetes è 30000-32767.

Nota

Non aggiornare il valore dell'https port o nodePort dopo l'installazione di Oracle Blockchain Platform Enterprise Edition in quanto influirà sulla sua funzione.

Risoluzione del nome host per i servizi Oracle Blockchain Platform Enterprise Edition

I servizi Oracle Blockchain Platform Enterprise Edition utilizzano nomi host generati in modo univoco configurati nei gateway e nei servizi virtuali Istio. Per comunicare con i servizi Oracle Blockchain Platform Enterprise Edition all'interno del cluster Kubernetes, è necessario utilizzare questi nomi host univoci dai browser o dalle applicazioni. In base al tipo di servizio scelto per istio-ingressgateway, questi nomi host devono essere risolti in un indirizzo IPv4 nel modo seguente:
  • Se LoadBalancer, restituisce l'indirizzo IP esterno generato per il servizio istio-ingressgateway.
  • Se NodePort, restituisce gli indirizzi IP dei nodi di lavoro