Despliegue nativo en la nube de Oracle BRM 12 con Minikube

Oracle BRM nativo en la nube

Compartir en

24/02/2020

Índice

En uno de nuestros artículos anteriores ya presentamos el despliegue de Oracle BRM 12 Despliegue nativo en la nube versión a Oracle Cloud. Oracle Cloud es un entorno en la nube muy bien diseñado, que además es asequible y está en constante evolución. Sin embargo, si desea desplegar Oracle BRM 12 a Oracle Cloud tendrá que utilizar algunas funciones y componentes no gratuitos de Oracle Cloud que puede probar gratuitamente sólo durante 30 días. Después tendrá que pasar a una cuenta de pago si quiere seguir utilizándolo.

Oracle BRM Arquitectura de despliegue nativo en la nube
Oracle BRM Arquitectura de despliegue nativo en la nube

También tiene otra opción si desea probar la implantación nativa en la nube de Oracle BRM 12. Puede optar por un despliegue in situ y desplegar BRM en sus servidores locales. El objetivo principal de este artículo es mostrarle cómo puede conseguirlo. Este artículo le mostrará cómo puede crear y ejecutar un clúster Kubernetes local utilizando Minikube y cómo puede desplegar Oracle BRM 12 en su recién creado y configurado cluster. Tenga en cuenta que Minikube sólo es adecuado para fines de prueba y desarrollo, y no debe utilizarlo en un entorno de producción. Echemos un vistazo a los componentes específicos de nuestro sistema que vamos a utilizar y cómo instalarlos.

Acerca de Oracle Linux 8

Basaremos nuestra solución en un sistema operativo Linux, concretamente Oracle Linux versión 8. Esta distribución de Linux es proporcionada por Oracle y está disponible de forma gratuita. Está basada en Red Hat Enterprise Linux. Para este sistema operativo también puede obtener un soporte técnico comercial si lo necesita. También cabe mencionar que Oracle Cloud está alimentado principalmente por servidores Oracle Linux.

Utilizaremos la versión 8 de Linux Oracle para los fines de este artículo. Por supuesto, también puede utilizar otras distribuciones de Linux, pero las instrucciones para preparar su entorno pueden variar en función de ello. Si desea utilizar Oracle Linux, puede descargarlo libremente desde Oracle Software Delivery Cloud o desde muchos sitios espejo disponibles en todo el mundo.

Puede instalar Oracle Linux directamente en sus servidores o dentro de una máquina virtual. En este último caso su software de virtualización tiene que soportar la virtualización anidada si quiere seguir al pie de la letra las instrucciones de este artículo.

Después de instalar Oracle Linux asegúrese de actualizar sus paquetes de software a las últimas versiones antes de continuar:

sudo yum update

A continuación, instale algunos otros paquetes necesarios:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

Ahora ya está listo para empezar a preparar su clúster Kubernetes. En primer lugar instalaremos Docker.

Instalación de Docker

Docker es un conjunto de productos que le permite desplegar y ejecutar software en contenedores. Los contenedores son paquetes de software que agrupan su propio software, la configuración y todas las bibliotecas necesarias en un solo paquete, denominado contenedor.

Aquí tiene las instrucciones para instalar Docker en Oracle Linux 8:

sudo curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo

sudo yum makecache

sudo yum remove podman-manpages

sudo dnf -y install docker-ce -nobest

systemctl start docker

systemctl enable docker

systemctl status docker

Para habilitar Docker para el usuario actual:

sudo usermod -aG docker

docker newgrp

Instalación de kubectl

Continuaremos ahora con la instalación de kubectl, que es una herramienta de línea de comandos que le permite controlar un clúster Kubernetes.

Descargue la última versión estable de kubectl y muévala a una carpeta del sistema:

curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl

chmod +x ./kubectl

sudo mv ./kubectl /usr/local/bin/kubectl

Puede comprobar si kubectl está funcionando emitiendo el siguiente comando:

versión de kubectl

Recibirá una salida similar a ésta:

Versión del cliente: version.Info{Major: "1″, Minor: "17″, GitVersion: "v1.17.3″, GitCommit: "06ad960bfd03b39c8310aaf92d1e7c12ce618213″, GitTreeState: "clean", BuildDate: "2020-02-11T18:14:22Z", GoVersion: "go1.13.6″, Compilador: "gc", Plataforma: "linux/amd64″}.

La conexión al servidor localhost:8080 ha sido rechazada - ¿ha especificado el host o el puerto correctos?

Por ahora puede ignorar el error en la última línea de entrada del comando.

Instalación de Oracle VirtualBox

VirtualBox es un producto de virtualización proporcionado por Oracle y lo utilizaremos como hipervisor para nuestro clúster minikube Kubernetes. Para instalar VirtualBox en nuestro sistema debemos añadir primero un repositorio adicional:

cd /etc/yum.repos.d/

sudo wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo

Instale algunos otros paquetes necesarios:

sudo yum install binutils gcc make patch libgomp glibc-headers glibc-devel kernel-headers kernel-devel elfutils-libelf-devel

Ahora ya está listo para instalar VirtualBox:

sudo yum install VirtualBox-6.1

En este punto estamos listos para instalar Minikube.

Instalación de Minikube

Minikube es un clúster Kubernetes basado en Docker que es adecuado para fines de prueba y desarrollo. Desplegaremos Oracle BRM 12 Cloud Native Deployment que es la versión en contenedores de Oracle BRM en el clúster Kubernetes Minikube.

Ahora instale minikube:

curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube

sudo mkdir -p /usr/local/bin/

sudo install minikube /usr/local/bin/

Ahora podemos iniciar minikube que preparará su entorno y creará una nueva máquina virtual. Los valores por defecto de minikube para el tamaño del disco virtual y la cantidad de memoria para la máquina virtual son demasiado bajos para Oracle BRM, por lo que los aumentaremos explícitamente (obviamente debe disponer de suficiente memoria física para ello, de lo contrario puede experimentar diversos problemas):

minikube start -disk-size='800g' -memory='8192m'

Puede comprobar si minikube se ha configurado correctamente:

kubectl -n kube-system get pod

Obtendrá una salida como ésta:

$ kubectl -n kube-system get pod

NOMBRE ESTADO LISTO REINICIA EDAD

coredns-6955765f44-d8wj4 1/1 En ejecución 0 7m54s

coredns-6955765f44-fd2lt 1/1 En ejecución 0 7m54s

etcd-minikube 1/1 En ejecución 0 7m46s

kube-apiserver-minikube 1/1 En ejecución 0 7m46s

kube-controller-manager-minikube 1/1 En ejecución 0 7m46s

kube-proxy-j575p 1/1 En ejecución 0 7m54s

kube-scheduler-minikube 1/1 En ejecución 0 7m46s

storage-provisioner 1/1 En ejecución 0 7m52s

Cargue las variables de entorno necesarias para trabajar con minikube y docker en su entorno:

eval $(minikube docker-env)

Necesitamos un componente adicional antes de desplegar BRM en nuestro clúster recién creado: Helm.

Instalación de Helm

Helm es un gestor de paquetes para Kubernetes. Las cartas Helm se utilizan para gestionar, instalar y actualizar su clúster Kubernetes. Oracle agrupa las cartas Helm necesarias para desplegar y configurar el despliegue Oracle BRM 12 en su versión Cloud Native Deployment de BRM.

Ahora vamos a instalar Helm:

curl -LO https://git.io/get_helm.sh

chmod +x ./helm.sh

./get_helm.sh

Realice la configuración inicial del timón:

helm init -history-max 200

Ahora su entorno está listo para empezar a desplegar Oracle BRM 12. Obviamente tiene que realizar algunos pasos de preparación en su instancia de Base de Datos Oracle para que Oracle BRM pueda utilizarla. La explicación detallada de estos pasos excede el alcance de este artículo, pero puede encontrar toda la información necesaria al respecto en la documentación de Oracle BRM o ponerse en contacto con nosotros y estaremos encantados de ayudarle.

Despliegue de Oracle BRM 12 en un clúster Kubernetes

En primer lugar, tiene que cargar en su entorno docker todas las imágenes BRM proporcionadas. Oracle le proporciona dos cartas Helm - la primera (oc-cn-init-db-helm-chart) inicializa su esquema DB para prepararlo para BRM, y la otra (oc-cn-helm-chart) despliega varios componentes BRM que usted elija.

Tiene que empezar por desplegar oc-cn-init-db-helm-chart. Primero tiene que cargar la imagen Docker init_db en el repositorio Docker:

docker load -input oc-cn-brm-init-db-12.0.0.2.0.tar

Una vez que la imagen se haya cargado correctamente, extraiga oc-cn-init-db-helm-chart y copie values.yaml en override-values.yaml. A continuación, edite override-values.yaml de acuerdo con la documentación de Oracle BRM 12 Cloud Native Deployment. Deje en blanco el valor "imageRepository". En la sección "wallet" establezca las credenciales para el monedero Oracle. En una sección "db" configure la conexión a la base de datos. Después de configurar todos los valores necesarios en el archivo override-values.yaml, puede desplegar la imagen init_db en su clúster Kubernetes utilizando el gráfico Helm:

helm install oc-cn-init-db-helm-chart -name initdb -values oc-cn-init-db-helm- chart/override-values.yaml

Ahora helm desplegará la imagen de inicialización de BRM DB en el cluster Kubernetes y empezará a preparar su base de datos para BRM.
Puede comprobar el estado de su despliegue con:

helm status initdb

Al cabo de un rato, el pod initdb terminará de preparar su base de datos y podrá eliminar el despliegue actual de la imagen initdb:

helm delete initdb

Ahora desempaquete oc-cn-helm-chart.tgz y copie values.yaml en override-values.yaml. Ahora edite varios campos en override-values.yaml de acuerdo con las instrucciones que se encuentran en Oracle BRM 12 Despliegue nativo en la nube. Puede copiar algunos campos (como las secciones "wallet" y "db") del gráfico init-db que utilizó anteriormente.

Utilice el comando "docker load -input" para cargar todas las imágenes docker que desee desplegar en el repositorio Docker.

Entonces podrá desplegar la carta Helm:

helm install oc-cn-helm-chart -name occn-ps2 -namespace ocgbu -values oc-cn-helm-chart/override-values.yaml

Ahora BRM se desplegará en su cluster local de Kubernetes. Puede encontrar más consejos sobre la monitorización del clúster y el diagnóstico de problemas en nuestro artículo anterior.

También puede supervisar su clúster Kubernetes con Kubernetes Dashboard:

tablero minikube

El panel de control se abrirá en una nueva ventana del navegador.

Panel de control de Kubernetes

Conclusión

Este artículo le guiará a través de los pasos principales para desplegar Oracle BRM Cloud Native Deployment en un cluster local minikube Kubernetes. Puede utilizar este despliegue con fines de prueba y desarrollo. Si necesita ayuda adicional para desplegar Oracle BRM a minikube, necesita sugerencias o si está buscando un proveedor de soluciones fiable para todas sus necesidades de facturación, no dude en ponerse en contacto con nosotros.

Imagen de Aleš Pristovnik
Aleš Pristovnik
Ales Pristovnik es el director general de Tridens, una empresa de software especializada en recarga de vehículos eléctricos, suscripción y facturación Oracle BRM. Tiene una larga trayectoria en el sector de las TI, habiendo trabajado para varias grandes empresas. Le apasionan la tecnología y la innovación, y su objetivo actual es desarrollar soluciones que mejoren la seguridad y la eficiencia de la industria automovilística.

Visite noticias en su bandeja de entrada


    0 0 vota
    Article Rating
    Suscríbase a
    Notificar a
    invitado

    2 Comments
    El más antiguo
    Más reciente Más votados
    Feedbacks en línea
    Ver todos los comentarios