Despliegue Oracle Blockchain Platform Enterprise Edition en minikube

Puede utilizar minikube para pruebas y desarrollo interno. No utilice minikube para entornos de producción.

Requisitos:
  • CPU: 8 o más
  • Memoria : 16 GB
  • Espacio libre en disco: 50 GB o más
  • Un usuario no root con privilegios de superusuario
  • Asegúrese de que el nodo de minikube tenga acceso a Internet, que es necesario para instalar códigos de cadenas en sus instancias de Oracle Blockchain Platform.
  • minikube v1.33.1 o posterior

Instalar minikube

En esta sección, se proporciona un ejemplo de cómo instalar la versión probada del minikube. Para obtener más información, consulte Herramientas de instalación 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

Completar la instalación de Istio

Oracle Blockchain Platform Enterprise Edition es compatible con la versión 1.20.2 y posteriores. Debe completar los pasos de Install Istio antes de ejecutar los siguientes comandos.


# 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)

Instalación de Oracle Blockchain Platform Enterprise Edition

Descargue e instale Oracle Blockchain Platform Enterprise Edition en su instancia de minikube:

  1. En la página Oracle Blockchain Platform Enterprise Edition, haga clic en Descargar y siga los pasos para descargar el paquete de Oracle Blockchain Platform Enterprise Edition. Extraiga el paquete del archivo .zip y, a continuación, extraiga el paquete del archivo de almacenamiento descargado.
    tar -xzf <distribution-package-file>
    # example tar -xzf obpee_package_24.1.3-20240723083137.tgz
  2. Actualice el archivo runme-input.yaml con los valores necesarios. El siguiente archivo runme-input.yaml de ejemplo se puede utilizar como referencia:
    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
    En el ejemplo anterior, las variables se definen como se muestra en la siguiente lista:
    • imageRegistryConfiguration.registry: servidor de registro de contenedor que se va a utilizar. Ejemplo: iad.ocir.io
    • imageRegistryConfiguration.imageTagPrefix: ruta de repositorio base de contenedor con el registro, donde se transferirán y extraerán las imágenes. Ejemplo: iad.ocir.io/obpee/bcs
    • imageRegistryConfiguration.username: nombre de usuario de conexión al registro de contenedor
    • imageReleaseVersion: versión de Oracle Blockchain Platform Enterprise Edition
    • controlPlaneStorage.storageClassName: clase de almacenamiento de Kubernetes que se utilizará para la PVC (PersistentVolumeClaim). Si está vacío, se utiliza el valor por defecto storageClass
    • controlPlaneStorage.size: tamaño de PVC para servicios de Blockchain Platform Manager (plano de control)
    • parentDomainName: nombre de dominio que se utilizará para los servicios de Blockchain Platform Manager. Ejemplo: example.com
    • imagePullTimeout: timeout de espera de extracción de imágenes en segundos durante la instalación de Oracle Blockchain Platform Enterprise Edition. El valor por defecto es 1800 segundos.
  3. Asegúrese de que el minikube está funcionando.
  4. Abra una nueva ventana de terminal y vaya al directorio del paquete de distribución. Ejecute el script runme_minikube.sh y siga los pasos que se indican en la salida del script:
    ./runme_minikube.sh [--publish-images]

    Note:

    El comando --publish-images opcional carga los contenedores en un registro de imágenes de contenedor, como Oracle Cloud Infrastructure Registry.
    • Introduzca la contraseña de administrador de LDAP por defecto (la contraseña no se mostrará): define la contraseña del administrador para el servidor de autenticación de LDAP incorporado.
    • Introduzca la contraseña de usuario administrador del plano de control por defecto (no se mostrará la contraseña): define la contraseña del administrador de Blockchain Platform Manager.
    • Si no se ha proporcionado StorageClass en el archivo runme-input.yaml, el sistema comprueba si la clase de almacenamiento por defecto está definida y le pregunta si desea utilizarla.
    • Confirme el puerto https del servicio de gateway de entrada de Istio: el valor por defecto es 443 para el tipo de servicio LoadBalancer.
    • Introduzca la contraseña del registro <nombre de registro>: esta contraseña se utiliza para conectarse al registro de imágenes de contenedor (como se especifica en el archivo runme-input.yaml) para descargar imágenes.
  5. Ejecute el siguiente comando en una ventana de terminal diferente:
    export KUBECONFIG=/<path_to>/.kube/minikube
  6. Asegúrese de que el túnel de minikube esté activo para acceder a Blockchain Platform Manager y a las instancias:
    minikube tunnel --bind-address 0.0.0.0
  7. La secuencia de comandos instala los siguientes servicios en el espacio de nombres obp-cp:
    • control-plane
    • openldap
    • obp-auth-server
    • obp-operator
    • hlf-operator
  8. El script muestra la URL de Blockchain Platform Manager, que puede usar para acceder a la interfaz de usuario del plano de control.

Acceso a Blockchain Platform Manager

Después de la instalación, configure la resolución de nombre de host para los nombres de host generados de Blockchain Platform Manager.
  1. Ejecute el siguiente comando para obtener la lista de nombres de host configurados:
    kubectl get virtualservice -n obp-cp -o json | jq -r '.items[].spec.hosts[0]'
  2. Utilice la dirección IPv4 del host minikube como dirección IP de asignación para los nombres de host generados.
  3. Asegúrese de que el túnel de minikube esté activo para acceder a las instancias de Blockchain Platform Manager y Oracle Blockchain Platform.