Déployer Oracle Blockchain Platform Enterprise Edition sur minikube

minikube peut être utilisé à des fins de test et de développement interne. Il n'est pas recommandé pour les environnements de production.

Conditions requises :
  • UC : 8 ou plus
  • Mémoire : 16 Go
  • Espace disque libre : 50 Go ou plus
  • Utilisateur non racine doté des privilèges de superutilisateur
  • Assurez-vous que le noeud minikube a accès à Internet, ce qui est requis pour l'installation de codes de chaîne sur vos instances Oracle Blockchain Platform.
  • minikube v1.33.1 ou version ultérieure

Installer minikube

Cette section fournit un exemple de présentation de l'installation de la version testée du minikube. Pour des informations supplémentaires, voir Outils d'installation de Kubernetes.

#Download the latest minikube binary
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64

#Install
sudo install minikube-linux-amd64 /usr/local/bin/minikube

#Verify Installation
minikube version

#Start Minikube
minikube start

#Verify Minikube Installation
minikube status
#Install Homebrew (if not already installed)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

#Install minikube using Homebrew
brew install minikube

#Start minikube
minikube start

#Verify minikube Installation
minikube status

Terminer l'installation Istio

Oracle Blockchain Platform Enterprise Edition prend en charge les versions 1.20.2 et ultérieures. Vous devez avoir terminé les étapes sous Installer Istio avant d'effectuer les opérations suivantes.


# Install
    istioctl install --set profile=default --set values.pilot.env.ENABLE_TLS_ON_SIDECAR_INGRESS=true --set components.cni.enabled=true --set values.cni.repair.deletePods="true"
    ## Enter "y" when prompted for "Proceed? (y/N)"
 
# Verify:
    $ istioctl version
    client version: 1.22.1
    control plane version: 1.22.1
    data plane version: 1.22.1 (1 proxies)

Installer Oracle Blockchain Platform Enterprise Edition

Pour télécharger et installer Oracle Blockchain Platform Enterprise Edition sur votre instance minikube :

  1. Dans la page Oracle Blockchain Platform Enterprise Edition, cliquez sur Télécharger et suivez les étapes pour télécharger l'ensemble Oracle Blockchain Platform Enterprise Edition. Décompressez l'ensemble, puis extrayez-le du fichier d'archives téléchargé.
    tar -xzf <distribution-package-file>
    # example tar -xzf obpee_package_24.1.3-20240723083137.tgz
  2. Mettez à jour runme-input.yaml avec les valeurs requises. Voici un exemple runme-input.yaml qui peut être utilisé comme référence :
    imageRegistryConfiguration:
      registry: <container_registry_name>
      imageTagPrefix: <container-image-repository-prefix>
      username: <container-registry-username>
     
    imageReleaseVersion: 24.1.3-20240723083137
     
    # storageClassName should be set to create a dynamic persistent volume. If empty, default storageClass is used.
     
    controlPlaneStorage:
      storageClassName: 
      # Example 500Mi, 5Gi
      size: 4Gi
      
    parentDomainName: example.com
    #imagePullTimeout: Use this field to customize the wait time (in seconds) for pulling the required container images from the repository. Default is 1800 seconds.
        imagePullTimeout: 1800
    Où :
    • imageRegistryConfiguration.registry : Serveur de registre de conteneur à utiliser. Exemple : iad.ocir.io
    • imageRegistryConfiguration.imageTagPrefix : Chemin du référentiel de base de conteneur avec le registre, où les images doivent être poussées (extraites) vers (de). Exemple : iad.ocir.io/obpee/bcs
    • imageRegistryConfiguration.username : Nom d'utilisateur de connexion au registre de conteneurs
    • imageReleaseVersion - Version d'Oracle Blockchain Platform Enterprise Edition
    • controlPlaneStorage.storageClassName : Classe de stockage Kubernetes à utiliser pour la revendication de volume persistant (PersistentVolumeClaim). Si vide, storageClass est utilisé par défaut
    • controlPlaneStorage.size : Taille de revendication de volume persistant pour les services de gestionnaire de plate-forme de chaîne de blocs (plan de contrôle)
    • parentDomainName : Nom de domaine à utiliser pour les services Blockchain Platform Manager. Exemple : example.com
    • imagePullTimeout : Temporisation d'attente d'extraction d'image en quelques secondes lors de l'installation d'Oracle Blockchain Platform Enterprise Edition. La valeur par défaut est 1800 secondes.
  3. Assurez-vous que minikube est en cours d'exécution.
  4. Ouvrez une nouvelle fenêtre de terminal et accédez au répertoire du package de distribution. Exécutez runme_minikube.sh et suivez les étapes indiquées par la sortie du script :
    ./runme_minikube.sh [--publish-image]

    Note :

    La commande --publish-image facultative charge les conteneurs dans un registre d'images de conteneur tel qu'Oracle Cloud Infrastructure Registry.
    • Entrez le mot de passe de l'administrateur LDAP par défaut (le mot de passe ne sera pas affiché) : il est utilisé pour définir le mot de passe de l'utilisateur administrateur pour le serveur d'authentification LDAP intégré.
    • Entrez le mot de passe de l'utilisateur administrateur du plan de contrôle par défaut (le mot de passe ne sera pas affiché) : il est utilisé pour définir le mot de passe de l'utilisateur administrateur Blockchain Platform Manager.
    • Si StorageClass n'a pas été fourni dans runme-input.yaml, le système vérifiera si la classe de stockage par défaut est définie et vous demandera si vous voulez l'utiliser.
    • Confirmez le port https du service de passerelle entrante Istio : la valeur par défaut est 443 pour le type de service LoadBalancer.
    • Entrez le mot de passe du registre <registry name> : Utilisé pour vous connecter au registre d'images de conteneur (tel que spécifié dans runme-input.yaml) afin de télécharger des images.
  5. Dans une autre fenêtre de terminal, exécutez la commande suivante :
    export KUBECONFIG=/<path_to>/.kube/minikube
  6. Assurez-vous que le tunnel minikube est actif pour accéder au gestionnaire de plate-forme de chaîne de blocs et aux instances :
    minikube tunnel --bind-address 0.0.0.0
  7. Le script doit continuer à installer les services ci-dessous sous l'espace de noms obp-cp :
    • control-plane
    • openldap
    • obp-auth-server
    • obp-operator
    • hlf-operator
  8. Le script affichera l'URL du gestionnaire de plate-forme de chaîne de blocs, à partir de laquelle l'interface utilisateur du plan de contrôle est accessible.

Accéder au gestionnaire de plate-forme de chaîne de blocs

Après l'installation, configurez la résolution du nom d'hôte pour les noms d'hôte Blockchain Platform Manager générés.
  1. Exécutez cette commande pour obtenir la liste des noms d'hôte configurés :
    kubectl get virtualservice -n obp-cp -o json | jq -r .items[].spec.hosts[0]
  2. Utilisez l'adresse IPv4 de l'hôte minikube comme adresse IP de mappage pour les noms d'hôte générés.
  3. Assurez-vous que le tunnel minikube est actif pour accéder aux instances Blockchain Platform Manager et Oracle Blockchain Platform.