Voraussetzungen

Dieses Thema enthält die Hardware- und Softwarevoraussetzungen für die Installation von Oracle Blockchain Platform Enterprise Edition.

Kubernetes-Plattformen

Folgende Plattformen werden unterstützt:
  • Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE) Version 1.29.1 oder höher
  • Red Hat OpenShift Local - Embedded OpenShift Version 4.15.3 oder höher kompatible Versionen, Code Ready Container Version 2.34.1 oder höher kompatible Versionen
  • Red Hat OpenShift auf Microsoft Azure v4.17.27 oder höher kompatiblen Versionen
  • Red Hat OpenShift On-Premises-Cluster v4.17 oder höher kompatible Versionen
  • minikube v1.33.1 oder höher - nur Testumgebung, nicht für Produktion

Sie benötigen einen gültigen Domainnamen, der von einem DNS-Server aufgelöst werden kann. Nur für Testumgebungen oder Nicht-Produktionsumgebungen können Sie die lokale Namensauflösung konfigurieren, indem Sie Einträge in der Datei /etc/hosts hinzufügen. Die spezifischen Hostnamen und IP-Adressen, die in der Datei /etc/hosts verwendet werden sollen, werden nach dem Deployment generiert. Weitere Informationen finden Sie im Abschnitt Zugriff auf Blockchain Platform Manager des Installationsthemas für Ihre Kubernetes-Version.

Andere erforderliche Software

Darüber hinaus benötigen Sie die folgenden Tools, um Ihre Kubernetes-Plattform zu verwalten und Ihren Oracle Blockchain Platform-Container zu installieren:
  • kubectl Version 1.29.3 oder höher - Befehlszeilentool von Kubernetes
  • Helm-Version 3.12.3 oder höher - ein Kubernetes-Packagemanager
  • Tools zur Verwaltung Ihrer Container und Pods - wählen Sie eine der folgenden Optionen:
    • Podman-Version 4.9.4-rhel oder höher
    • Docker Version 24.0.6 oder höher
  • yq-Version 4.42.1 - ein Befehlszeilen-YAML-Prozessor
  • jq v1.7.1 oder höher - ein Befehlszeilen-JSON-Prozessor
  • Istio - Sicherheits- und Verkehrsmanagement-Tool für Bereitstellungen
    • v1.20.2 oder höher für OKE oder minikube, auf dem Oracle Blockchain Platform Enterprise Edition-Patch 4 oder höher ausgeführt wird
    • v1.22.1 oder höher für OKE oder minikube, auf dem Oracle Blockchain Platform Enterprise Edition-Patch 5 oder höher ausgeführt wird
    • v1.22.1 für Red Hat OpenShift Local
    • v1.26.0 für Red Hat OpenShift auf Microsoft Azure
    • v1.26.0 für Red Hat OpenShift On Premise
  • istioctl - das Befehlszeilentool für Istio

Webbrowser

Alle administrativen Tools, die in Oracle Blockchain Platform enthalten sind, können mit den folgenden Browsern aufgerufen werden:
  • Mozilla Firefox
  • Microsoft Edge
  • Google Chrome
  • Apple Safari

Vorausgesetzte Software installieren

Dieser Abschnitt enthält einen Beispieldurchlauf für die Installation der getesteten Versionen der Voraussetzungen. Weitere Informationen und erforderliche Änderungen an den Installationsanweisungen finden Sie in der Dokumentation jedes Produkts.

kubectl installieren

Die kubectl-Version sollte immer innerhalb einer geringfügigen Versionsdifferenz des Clusters liegen. Beispiel: Wenn Ihre Kubernetes-Clusterversion v1.29.1 ist, können Sie kubectl v1.29.3 verwenden. Weitere Informationen finden Sie unter Kubernetes-Installationstools.

# 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

Helm installieren

Oracle Blockchain Platform Enterprise Edition wurde mit Helm v3.12.3 getestet. Weitere Informationen finden Sie unter 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"}

Podman installieren

Oracle Blockchain Platform Enterprise Edition wurde mit Podman v4.9.4-rhel getestet. Weitere Informationen finden Sie unter 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

yq installieren

Oracle Blockchain Platform Enterprise Edition wurde mit yq v4.42.1 getestet. Weitere Informationen finden Sie unter 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

jq installieren

Oracle Blockchain Platform Enterprise Edition wurde mit jq v1.7.1 getestet. Weitere Informationen finden Sie unter jq herunterladen.

# Install:
    sudo dnf install jq

# Verify:
   jq --version
   jq-1.7.1

kubectl installieren

Die kubectl-Version sollte immer innerhalb einer geringfügigen Versionsdifferenz des Clusters liegen. Beispiel: Wenn die Oracle Kubernetes Engine-Clusterversion v1.29.1 ist, können Sie kubectl v1.29.3 verwenden. Weitere Informationen finden Sie unter Kubernetes-Installationstools.

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

Helm installieren

Oracle Blockchain Platform Enterprise Edition wurde mit Helm v3.12.3 getestet. Weitere Informationen finden Sie unter 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"}

Podman installieren

Oracle Blockchain Platform Enterprise Edition wurde mit Podman v4.9.4-rhel getestet. Weitere Informationen finden Sie unter 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 

yq installieren

Oracle Blockchain Platform Enterprise Edition wurde mit yq v4.44.1 getestet. Weitere Informationen finden Sie unter yq README.

# Install:
    brew install yq

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

jq installieren

Oracle Blockchain Platform Enterprise Edition wurde mit jq v1.7.1 getestet. Weitere Informationen finden Sie unter jq herunterladen.

# Install:
    brew install jq

# Verify:
   jq --version
   jq-1.7.1

Istio installieren

Istio erweitert Kubernetes, um Trafficmanagement und Sicherheit für komplexe Deployments bereitzustellen. Oracle Blockchain Platform Enterprise Edition verwendet Istio als Ingress-Gateway-Service, um eingehenden Traffic in verschiedene Services zu akzeptieren.

Wir empfehlen die Installation von Istio und istioctl (Istio configuration command line Utility).

Zum Herunterladen 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

Wir empfehlen die Installation von Istio und istioctl (Istio configuration command line Utility).

Zum Herunterladen 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

Hinweis:

Die Istio-Installation wird abgeschlossen, nachdem Ihr Kubernetes-Cluster erstellt wurde. Er hat eine Abhängigkeit von der Datei .kube/config.

Der ingressgateway-Service von Istio kann in Kubernetes für die Ausführung mit den Servicetypen LoadBalancer oder NodePort konfiguriert werden. Einzelheiten finden Sie in der Istio-Dokumentation: Istio-Ingress-Gateways

Load Balancer

Wenn Ihr Kubernetes-Cluster einen externen Load Balancer unterstützt, wird empfohlen, den Istio-Ingress-Gateway-Service als Load Balancer mit dem Oracle Blockchain Platform Enterprise Edition-Skript runme zu konfigurieren, das Sie beim Deployment verwenden. Oracle Blockchain Platform Enterprise Edition verwendet den HTTPS-Port (443) des Istio-Ingress-Gateways als öffentlichen Port, um den eingehenden Traffic zu akzeptieren. Dieser Portwert kann optional während der Installation von Oracle Blockchain Platform Enterprise Edition mit dem Skript runme angepasst werden.

Knotenport

Wenn der Load-Balancer-Servicetyp nicht verwendet werden kann, kann der Istio-Ingress-Gatewayservice mit dem Knotenportservicetyp konfiguriert werden. Oracle Blockchain Platform Enterprise Edition verwendet den Wert nodePort des HTTPS-Ports im Istio-Ingress-Gateway, um externen Traffic an Oracle Blockchain Platform Enterprise Edition im Kubernetes-Cluster weiterzuleiten. Der Wert von nodePort für den HTTPS-Port kann optional angepasst werden (basierend auf dem zulässigen nodePort-Bereich) während der Installation von Oracle Blockchain Platform Enterprise Edition mit dem Skript runme. Standardmäßig ist der zulässige nodePort-Bereich im Kubernetes-Cluster 30000-32767.

Hinweis:

Aktualisieren Sie den Wert von https port oder nodePort nach der Installation von Oracle Blockchain Platform Enterprise Edition nicht, da er sich auf seine Funktion auswirkt.

Hostnamensauflösung für Oracle Blockchain Platform Enterprise Edition-Services

Oracle Blockchain Platform Enterprise Edition-Services verwenden eindeutig generierte Hostnamen, die in den Istio-Gateways/Virtualservices konfiguriert sind. Um mit den Oracle Blockchain Platform Enterprise Edition-Services im Kubernetes-Cluster zu kommunizieren, müssen Sie diese eindeutigen Hostnamen aus Ihren Browsern oder Anwendungen verwenden. Basierend auf dem ausgewählten Servicetyp für istio-ingressgateway müssen diese Hostnamen wie folgt in eine IPv4-Adresse aufgelöst werden:
  • Wenn LoadBalancer angegeben ist, werden sie in die externe IP-Adresse aufgelöst, die für den istio-ingressgateway-Service generiert wurde.
  • Wenn NodePort, werden die IP-Adressen der Worker-Knoten aufgelöst