Conditions requises

Cette rubrique contient les préalables 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) version 1.29.1 ou ultérieure
  • minikube v1.33.1 ou version ultérieure - environnement de test uniquement, pas pour la production

Vous devez avoir un nom de domaine qui peut être résolu par un serveur DNS.

Autres logiciels préalables

Vous aurez également besoin des outils suivants pour 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 d'ensembles 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 YAML de ligne de commande
  • jq v1.7.1 ou version ultérieure - un processeur JSON de ligne de commande
  • Istio version 1.20.2 ou ultérieure et istioctl - outil de sécurité et de gestion du trafic pour les déploiements, et son outil de ligne de commande

Navigateurs Web

Tous les outils d'administration inclus dans Oracle Blockchain Platform sont accessibles à l'aide des navigateurs suivants :
  • Mozilla Firefox
  • Microsoft Edge
  • Google Chrome
  • Safari d'Apple

Installer le logiciel préalable

Cette section fournit un exemple de présentation de l'installation des versions testées des préalables. Reportez-vous à la documentation de chaque produit pour plus d'informations et pour toute modification requise des instructions d'installation.

Installer kubectl

La version de kubectl doit toujours être à l'intérieur d'une différence de version mineure de votre cluster. Par exemple, si la version de votre grappe Oracle Kubernetes Engine est v1.29.1, vous pouvez utiliser kubectl v1.29.3. Pour des informations supplémentaires, voir 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 v3.12.3. Pour plus d'informations, voir 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"}

Installer Podman

Oracle Blockchain Platform Enterprise Edition a été testé sur Podman v4.9.4-rhel. Pour des informations supplémentaires, voir Instructions d'installation 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

Installer yq

Oracle Blockchain Platform Enterprise Edition a été testé avec la version yq v4.42.1. Pour des informations supplémentaires, voir 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 la version 1.7.1 de jq. Pour des informations supplémentaires, voir Télécharger jq.

# Install:
    sudo dnf install jq

# Verify:
   jq --version
   jq-1.7.1

Installer kubectl

La version de kubectl doit toujours être à l'intérieur d'une différence de version mineure de votre cluster. Par exemple, si la version de votre grappe Oracle Kubernetes Engine est v1.29.1, vous pouvez utiliser kubectl v1.29.3. Pour des informations supplémentaires, voir 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 v3.12.3. Pour plus d'informations, voir 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"}

Installer Podman

Oracle Blockchain Platform Enterprise Edition a été testé sur Podman v4.9.4-rhel. Pour des informations supplémentaires, voir Instructions d'installation 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 

Installer yq

Oracle Blockchain Platform Enterprise Edition a été testé avec la version yq v4.44.1. Pour des informations supplémentaires, voir 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 la version 1.7.1 de jq. Pour des informations supplémentaires, voir Télécharger jq.

# Install:
    brew install jq

# Verify:
   jq --version
   jq-1.7.1

Installer Istio

Istio étend Kubernetes pour fournir la gestion et la sécurité du trafic aux 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

Note :

L'installation d'Istio sera terminée après la création de votre grappe Kubernetes. Dépend du fichier .kube/config.

Le service ingressgateway d'Istio peut être configuré dans Kubernetes pour s'exécuter avec les types de service LoadBalancer ou NodePort. Pour plus de détails, consultez la documentation Istio : Passerelles entrantes Istio

équilibreur de charge

Si votre grappe 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 d'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 ê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 la grappe Kubernetes. La valeur de nodePort pour le port https peut être personnalisée (en fonction de l'intervalle nodePort autorisé) lors de l'installation d'Oracle Blockchain Platform Enterprise Edition à l'aide du script runme. Par défaut, l'intervalle nodePort autorisé dans la grappe Kubernetes est 30000-32767.

Note :

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 la grappe Kubernetes, vous devez utiliser ces noms d'hôte uniques à partir de vos navigateurs ou applications. Selon le type de service sélectionné pour istio-ingressgateway, ces noms d'hôte doivent être résolus en adresse IPv4 de la manière suivante :
  • Si LoadBalancer, ils se résolvent à l'adresse IP externe générée pour le service istio-ingressgateway
  • Si NodePort, ils sont résolus en adresses IP des noeuds de travail