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.

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.
Índice
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.

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.