Déployer Oracle Blockchain Platform Enterprise Edition sur Azure Red Hat OpenShift

Vous pouvez installer Oracle Blockchain Platform Enterprise Edition sur Azure Red Hat OpenShift. OpenShift est la plate-forme Kubernetes d'entreprise de Red Hat qui améliore Kubernetes standard avec une suite d'outils pour créer, déployer et gérer des applications conteneurisées à grande échelle. Azure Red Hat OpenShift est un service OpenShift entièrement géré sur Microsoft Azure.

Les instructions de cette rubrique vous indiquent comment déployer Oracle Blockchain Platform Enterprise Edition sur Azure Red Hat OpenShift. Avant de tenter cela, en particulier pour les environnements de production, vous devez vous familiariser avec la documentation Azure Red Hat OpenShift qui remplace toutes les informations de cette rubrique.

Créer une grappe Red Hat OpenShift sur Microsoft Azure

Spécifications minimales recommandées pour votre grappe Azure Red Hat OpenShift.

Créer une grappe Azure Red Hat OpenShift à l'aide de la documentation Azure comme guide : Créer une grappe Azure Red Hat OpenShift

Vous devrez créer les éléments suivants :
  • Machines virtuelles de plan de contrôle : trois Standard_D8s_v3
  • Machines virtuelles de noeud de travail : quatre Standard_D4s_v3
  • Générez une clé secrète d'extraction Red Hat.

Installer Oracle Blockchain Platform Enterprise Edition

Les images nécessaires au déploiement d'Oracle Blockchain Platform sont stockées dans un référentiel Docker avant d'être poussées vers les machines virtuelles Microsoft Azure. Nous vous recommandons d'installer une machine virtuelle Cloud Linux aussi près géographiquement que possible de la région où votre logiciel sera installé. Le stockage local pour les images Docker doit être d'environ 100 Go.

  1. Ouvrez la console de la grappe OpenShift.
  2. Sélectionnez kube:admin, puis Copy login command. Vous serez invité à entrer votre ID utilisateur et votre mot de passe.
    Cliquez sur Jeton d'affichage. Copiez la commande Connectez-vous avec ce jeton et collez-la dans l'interface de ligne de commande OpenShift.
    $ oc login --token=<token> --server=<openshift_cluster_url>
  3. Vérifiez que vous êtes connecté à OpenShift.
    oc get nodes
    Cette commande doit retourner la liste des noeuds principaux et de travail et leur statut.
  4. Définissez le profil istio. Vous devez avoir terminé les étapes sous Installer Istio avant d'exécuter les commandes suivantes.
    istioctl install --set profile=openshift --set
    values.pilot.env.ENABLE_TLS_ON_SIDECAR_INGRESS=true --set components.cni.enabled=true --set
    values.cni.repair.deletePods="true"
  5. Télécharger Oracle Blockchain Platform : Oracle Blockchain Platform.
  6. Extrayez l'ensemble zip et recherchez le script runme pour OpenShift.
  7. Mettez à jour le fichier runme-input.yaml avec les valeurs requises. L'exemple de fichier runme-input.yaml suivant peut être utilisé comme référence :
    imageRegistryConfiguration:
      registry: <container_registry_name.azurecr.io>
      imageTagPrefix: <container-image-repository-prefix.azurecr.io/bcs-k8s-dev  >
      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: 10Gi
      
    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
    Dans l'exemple précédent, les variables sont définies comme indiqué dans la liste suivante :
    • imageRegistryConfiguration.registry : Serveur de registre de conteneur à utiliser.
    • imageRegistryConfiguration.imageTagPrefix : Chemin du référentiel de base de conteneur avec le registre, où les images seront poussées et extraites. Exemple : registryname.azurecr.io/obpee/bcs
    • imageRegistryConfiguration.username : Nom d'utilisateur de connexion au registre de conteneurs. Pour Azure, il s'agit du jeton de registre de conteneur.
    • imageReleaseVersion - Version d'Oracle Blockchain Platform Enterprise Edition
    • controlPlaneStorage.storageClassName : Classe de stockage Kubernetes à utiliser pour la revendication de volume persistant (PersistentVolumeClaim). Si vide, la valeur par défaut storageClass est utilisée
    • controlPlaneStorage.size : Taille de la revendication de volume persistant pour les services de gestionnaire de plate-forme Blockchain (plan de contrôle)
    • parentDomainName : Nom de domaine à utiliser pour les services Blockchain Platform Manager. Exemple : example.com
    • imagePullTimeout : Temporisation d'attente de l'extraction d'image en secondes lors de l'installation d'Oracle Blockchain Platform Enterprise Edition. La valeur par défaut est 1800 secondes.
  8. Ouvrez runme_openshift.sh dans un éditeur et mettez en commentaire les deux lignes suivantes :
    • openshift_status_check
    • check_software_exists "crc"
  9. Exécutez runme_openshift.sh et procédez comme indiqué :
    chmod +x runme_openshift.sh
    
    ./runme_openshift.sh --publish-images
    # The publish-images option uploads the containers to the container image registry specified in runme-input.yaml
    # Running the script without this option pulls images you've already pre-uploaded from the repository specified in runme-input.yaml
    Les invites que vous rencontrerez :
    • Entrez le mot de passe de l'administrateur OpenLDAP - Il sera utilisé par Blockchain Platform Manager et les utilisateurs seront créés sur ce serveur OpenLDAP.
    • Entrez le mot de passe de l'administrateur du plan de contrôle - Ce mot de passe sera destiné à l'utilisateur administrateur d'Oracle Blockchain Platform et sera utilisé pour la première connexion à la console Blockhain Platform Manager.
    • Entrez le mot de passe de connexion au registre pour l'utilisateur spécifié dans run-input.yaml - Permet de se connecter au référentiel de conteneur.
    • Le script installe les services suivants sous l'espace de noms obp-cp :
      • control-plane
      • openldap
      • obp-auth-server
      • obp-operator
      • hlf-operator
  10. Obtenez l'adresse IP externe du service de passerelle de trafic entrant Istio :
    kubectl get svc/istio-ingressgateway -n istio-system
  11. Ajoutez la ligne suivante, si nécessaire, à l'un de ces fichiers sur l'hôte utilisé pour la connexion à la console Blockchain Platform Manager :
    • Linux ou macOS : /etc/hosts
    • Windows : C:\Windows\system32\drivers\etc\hosts
    <public_svc_ip> controlplane.<parentDomainName> openldap.<parentDomainName> auth.<parentDomainName>
    <public_svc_ip> est l'adresse IP externe publique de l'étape précédente.

Préalables

Vous êtes maintenant prêt à vous connecter à Oracle Blockchain Platform pour la première fois et à provisionner une instance.