Prérequis

Cette rubrique décrit les prérequis matériels et logiciels pour l'installation d'Oracle Blockchain Platform Enterprise Edition.

Plateformes Kubernetes

Les plates-formes suivantes sont prises en charge :
  • Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE) v1.29.1 ou version ultérieure
  • minikube version 1.33.1 ou ultérieure - environnement de test uniquement, pas pour la production

Vous devez disposer d'un nom de domaine pouvant être résolu par un serveur DNS.

Autres logiciels prérequis

De plus, vous aurez besoin des outils suivants pour vous aider à gérer votre plate-forme Kubernetes et à installer votre conteneur Oracle Blockchain Platform :
  • kubectl version 1.29.3 ou ultérieure - outil de ligne de commande de Kubernetes
  • Helm version 3.12.3 ou ultérieure - un gestionnaire de packages Kubernetes
  • Outils pour gérer vos conteneurs et pods - choisissez l'une des options suivantes :
    • Podman version 4.9.4-rhel ou ultérieure
    • Docker version 24.0.6 ou ultérieure
  • yq version 4.42.1 - un processeur de ligne de commande YAML
  • jq v1.7.1 ou version ultérieure - processeur JSON de ligne de commande
  • Istio version 1.20.2 ou ultérieure et istioctl - outil de gestion de la sécurité et du trafic pour les déploiements, et son outil de ligne de commande

Navigateurs Web

Vous pouvez accéder à tous les outils d'administration inclus dans Oracle Blockchain Platform à l'aide des navigateurs suivants :
  • Mozilla Firefox
  • Microsoft Edge
  • Google Chrome
  • Safari d'Apple

Installation du logiciel prérequis

Cette section fournit un exemple de procédure pas à pas pour installer les versions testées des prérequis. Reportez-vous à la documentation de chaque produit pour obtenir des informations supplémentaires et toute modification requise des instructions d'installation.

Installation de kubectl

La version de kubectl doit toujours être comprise dans une différence de version mineure de votre cluster. Par exemple, si la version de cluster d'Oracle Kubernetes Engine est v1.29.1, vous pouvez utiliser kubectl v1.29.3. Pour plus d'informations, reportez-vous à Outils d'installation 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

Installer Helm

Oracle Blockchain Platform Enterprise Edition a été testé avec Helm version 3.12.3. Pour plus d'informations, reportez-vous à Installation de 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"}

Installation de Podman

Oracle Blockchain Platform Enterprise Edition a été testé avec Podman v4.9.4-rhel. Pour plus d'informations, reportez-vous à la section 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

Installer yq

Oracle Blockchain Platform Enterprise Edition a été testé avec la version 4.42.1 de yq. Pour plus d'informations, reportez-vous à 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

Installer jq

Oracle Blockchain Platform Enterprise Edition a été testé avec jq v1.7.1. Pour plus d'informations, reportez-vous à Téléchargement de jq.

# Install:
    sudo dnf install jq

# Verify:
   jq --version
   jq-1.7.1

Installation de kubectl

La version de kubectl doit toujours être comprise dans une différence de version mineure de votre cluster. Par exemple, si la version de cluster d'Oracle Kubernetes Engine est v1.29.1, vous pouvez utiliser kubectl v1.29.3. Pour plus d'informations, reportez-vous à Outils d'installation 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

Installer Helm

Oracle Blockchain Platform Enterprise Edition a été testé avec Helm version 3.12.3. Pour plus d'informations, reportez-vous à Installation de 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"}

Installation de Podman

Oracle Blockchain Platform Enterprise Edition a été testé avec Podman v4.9.4-rhel. Pour plus d'informations, reportez-vous à la section 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 

Installer yq

Oracle Blockchain Platform Enterprise Edition a été testé avec la version 4.44.1 de yq. Pour plus d'informations, reportez-vous à yq README.

# Install:
    brew install yq

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

Installer jq

Oracle Blockchain Platform Enterprise Edition a été testé avec jq v1.7.1. Pour plus d'informations, reportez-vous à Téléchargement de jq.

# Install:
    brew install jq

# Verify:
   jq --version
   jq-1.7.1

Installer Istio

Istio étend Kubernetes pour assurer la gestion du trafic et la sécurité des déploiements complexes. Oracle Blockchain Platform Enterprise Edition utilise Istio comme service de passerelle entrante pour accepter le trafic entrant dans divers services.

Nous vous recommandons d'installer Istio et istioctl (utilitaire de ligne de commande de configuration Istio). Les versions 1.20.2 et ultérieures d'Istio sont prises en charge.

Pour télécharger 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

Remarques :

L'installation Istio sera terminée une fois le cluster Kubernetes créé. Il a une dépendance sur le fichier .kube/config.

Le service ingressgateway d'Istio peut être configuré dans Kubernetes pour être exécuté avec les types de service LoadBalancer ou NodePort. Pour plus d'informations, reportez-vous à la documentation Istio : Passerelles entrantes Istio

équilibreur de charge

Si votre cluster Kubernetes prend en charge un équilibreur de charge externe, il est recommandé de configurer le service de passerelle entrante Istio en tant qu'équilibreur de charge à l'aide du script runme Oracle Blockchain Platform Enterprise Edition que vous utiliserez lors du déploiement. Oracle Blockchain Platform Enterprise Edition utilisera le port HTTPS (443) de la passerelle entrante Istio comme port public pour accepter le trafic entrant. Cette valeur de port peut éventuellement être personnalisée lors de l'installation d'Oracle Blockchain Platform Enterprise Edition à l'aide du script runme.

Port du noeud

Dans les cas où le type de service d'équilibreur de charge ne peut pas être utilisé, le service de passerelle entrante Istio peut être configuré avec le type de service de port de noeud. Oracle Blockchain Platform Enterprise Edition utilisera la valeur nodePort du port HTTPS dans la passerelle entrante Istio pour acheminer le trafic externe vers Oracle Blockchain Platform Enterprise Edition dans le cluster Kubernetes. La valeur de nodePort pour le port HTTPS peut éventuellement être personnalisée (en fonction de la plage nodePort autorisée) lors de l'installation d'Oracle Blockchain Platform Enterprise Edition à l'aide du script runme. Par défaut, la plage nodePort autorisée dans le cluster Kubernetes est comprise entre 30000 et 32767.

Remarques :

Ne mettez pas à jour la valeur de https port ou nodePort après l'installation d'Oracle Blockchain Platform Enterprise Edition, car cela affectera sa fonction.

Résolution du nom d'hôte pour les services Oracle Blockchain Platform Enterprise Edition

Les services Oracle Blockchain Platform Enterprise Edition utilisent des noms d'hôte générés de manière unique et configurés dans les passerelles/services virtuels Istio. Pour communiquer avec les services Oracle Blockchain Platform Enterprise Edition dans le cluster Kubernetes, vous devez utiliser ces noms d'hôte uniques à partir de vos navigateurs ou applications. En fonction du type de service choisi pour istio-ingressgateway, ces noms d'hôte doivent être résolus en une adresse IPv4 de la manière suivante :
  • Si la valeur est LoadBalancer, elle est résolue en adresse IP externe générée pour le service istio-ingressgateway.
  • Si la valeur est NodePort, elles sont résolues en adresses IP des noeuds de processus actif.