Voraussetzungen

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

Kubernetes-Plattformen

Die folgenden Plattformen werden unterstützt:
  • Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE) v1.29.1 oder höher
  • minikube v1.33.1 oder höher - nur Testumgebung, nicht für Produktion

Sie benötigen einen Domainnamen, der von einem DNS-Server aufgelöst werden kann.

Weitere erforderliche Software

Darüber hinaus benötigen Sie die folgenden Tools, um die Verwaltung Ihrer Kubernetes-Plattform und die Installation Ihres Oracle Blockchain Platform-Containers zu unterstützen:
  • kubectl Version 1.29.3 oder höher - Kubernetes-Befehlszeilentool
  • 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-Version 1.20.2 oder höher und istioctl - Sicherheits- und Verkehrsmanagement-Tool für Deployments und sein Befehlszeilentool

Webbrowser

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

Erforderliche Software installieren

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

kubectl installieren

Die kubectl-Version sollte sich immer innerhalb eines geringfügigen Versionsunterschieds Ihres Clusters befinden. Beispiel: Wenn Ihre Oracle Kubernetes Engine-Clusterversion v1.29.1 ist, können Sie kubectl v1.29.3 verwenden. Zusätzliche 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. Zusätzliche 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. Zusätzliche Informationen finden Sie in der 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. Zusätzliche Informationen finden Sie unter JQ herunterladen.

# Install:
    sudo dnf install jq

# Verify:
   jq --version
   jq-1.7.1

kubectl installieren

Die kubectl-Version sollte sich immer innerhalb eines geringfügigen Versionsunterschieds Ihres Clusters befinden. Beispiel: Wenn Ihre Oracle Kubernetes Engine-Clusterversion v1.29.1 ist, können Sie kubectl v1.29.3 verwenden. Zusätzliche 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. Zusätzliche 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. Zusätzliche Informationen finden Sie in der 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. Zusätzliche 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). Istio-Version 1.20.2 und höher wird unterstützt.

So laden Sie Istio herunter:

# 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. Sie ist von der Datei .kube/config abhängig.

Der ingressgateway-Service von Istio kann in Kubernetes für die Ausführung mit den Servicetypen LoadBalancer oder NodePort konfiguriert werden. Weitere Informationen 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-Gatewayservice mit dem Oracle Blockchain Platform Enterprise Edition-Skript runme, das Sie beim Deployment verwenden, als Load Balancer zu konfigurieren. 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-Gatewaydienst 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 (basierend auf dem zulässigen nodePort-Bereich) während der Installation von Oracle Blockchain Platform Enterprise Edition mit dem Skript runme angepasst werden. 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 dies sich auf die Funktion auswirkt.

Hostnamenauflö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. Je nach ausgewähltem Servicetyp für istio-ingressgateway müssen diese Hostnamen wie folgt in eine IPv4-Adresse aufgelöst werden:
  • Wenn LoadBalancer, werden sie in die externe IP-Adresse aufgelöst, die für den istio-ingressgateway-Service generiert wurde
  • Wenn NodePort, werden sie in die IP-Adressen der Worker-Knoten aufgelöst