Déploiement d'Oracle BRM 12 Cloud-Native avec Minikube

Oracle BRM cloud native

Partager sur

24/02/2020

Table des matières

Dans l'un de nos précédents articles, nous avons déjà présenté le déploiement de Oracle BRM 12 Déploiement natif dans le nuage à Oracle Cloud. Oracle Cloud est un environnement en nuage très bien conçu, abordable et en constante évolution. Cependant, si vous souhaitez déployer Oracle BRM 12 vers Oracle Cloud, vous devez utiliser certaines fonctionnalités et certains composants non gratuits de Oracle Cloud, que vous pouvez tester gratuitement pendant 30 jours seulement. Après cela, vous devrez passer à un compte payant si vous souhaitez continuer à l'utiliser.

Oracle BRM Cloud Native Deployment Architecture (Architecture de déploiement natif dans le nuage)
Oracle BRM Architecture de déploiement cloud-native

Une autre option s'offre à vous si vous souhaitez tester Oracle BRM 12 Cloud Native Deployment. Vous pouvez opter pour un déploiement sur site et déployer le BRM sur vos serveurs locaux. L'objectif principal de cet article est de vous montrer comment y parvenir. Cet article vous montrera comment créer et exécuter un cluster Kubernetes local à l'aide de Minikube et comment vous pouvez déployer. Oracle BRM 12 dans votre cluster nouvellement créé et configuré. Veuillez noter que Minikube ne convient qu'à des fins de test et de développement, et que vous ne devez pas l'utiliser dans un environnement de production. Voyons maintenant les composants spécifiques de notre système que nous allons utiliser et comment les installer.

À propos de Oracle Linux 8

Nous baserons notre solution sur un système d'exploitation Linux, à savoir Oracle Linux version 8. Cette distribution Linux est fournie par Oracle et disponible gratuitement. Elle est basée sur Red Hat Enterprise Linux. Pour ce système d'exploitation, vous pouvez également bénéficier d'une assistance technique commerciale si vous en avez besoin. Il convient également de mentionner que Oracle Cloud est principalement alimenté par des serveurs Oracle Linux.

Nous utiliserons la version 8 de Linux Oracle dans le cadre de cet article. Vous pouvez bien entendu utiliser d'autres distributions Linux, mais les instructions relatives à la préparation de votre environnement peuvent varier en fonction de celles-ci. Si vous souhaitez utiliser Oracle Linux, vous pouvez le télécharger gratuitement à partir de Oracle Software Delivery Cloud ou de nombreux sites miroirs disponibles dans le monde entier.

Vous pouvez installer Oracle Linux directement sur vos serveurs ou dans une machine virtuelle. Dans ce dernier cas, votre logiciel de virtualisation doit prendre en charge la virtualisation imbriquée si vous voulez suivre de près les instructions de cet article.

Après avoir installé Oracle Linux, assurez-vous de mettre à jour vos logiciels avec les dernières versions avant de continuer :

sudo yum update

Installez ensuite les autres paquets nécessaires :

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

Vous êtes maintenant prêt à préparer votre cluster Kubernetes. Nous allons d'abord installer Docker.

Installation de Docker

Docker est un ensemble de produits qui vous permet de déployer et d'exécuter des logiciels conteneurisés. Les conteneurs sont des ensembles de logiciels qui regroupent leur propre logiciel, leur configuration et toutes les bibliothèques nécessaires dans un seul paquet, appelé conteneur.

Voici les instructions pour installer Docker sur 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

Pour activer Docker pour l'utilisateur actuel :

sudo usermod -aG docker

newgrp docker

Installation de kubectl

Nous allons maintenant poursuivre avec l'installation de kubectl, qui est un outil en ligne de commande qui vous permet de contrôler un cluster Kubernetes.

Téléchargez la dernière version stable de kubectl et placez-la dans un dossier système :

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

Vous pouvez vérifier si kubectl fonctionne en lançant la commande suivante :

version de kubectl

Vous obtiendrez un résultat similaire à celui-ci :

Version du client : version.Info{Major : "1″, Minor : "17″, GitVersion : "v1.17.3″, GitCommit : "06ad960bfd03b39c8310aaf92d1e7c12ce618213″, GitTreeState : "clean", BuildDate : "2020-02-11T18:14:22Z", GoVersion : "go1.13.6″, Compiler : "gc", Platform : "linux/amd64″}}.

La connexion au serveur localhost:8080 a été refusée - avez-vous spécifié le bon hôte ou le bon port ?

Pour l'instant, vous pouvez ignorer l'erreur dans la dernière ligne d'entrée de la commande.

Installation de Oracle VirtualBox

VirtualBox est un produit de virtualisation fourni par Oracle et nous allons l'utiliser comme hyperviseur pour notre cluster Kubernetes minikube. Pour installer VirtualBox sur notre système, nous devons d'abord ajouter un dépôt supplémentaire :

cd /etc/yum.repos.d/

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

Installez les autres paquets nécessaires :

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

Vous êtes maintenant prêt à installer VirtualBox :

sudo yum install VirtualBox-6.1

À ce stade, nous sommes prêts à installer Minikube.

Installation de Minikube

Minikube est un cluster Kubernetes basé sur Docker qui convient aux tests et au développement. Nous allons déployer Oracle BRM 12 Cloud Native Deployment qui est une version conteneurisée de Oracle BRM sur le cluster Kubernetes Minikube.

Installez maintenant 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/

Nous pouvons maintenant lancer minikube qui va préparer son environnement et créer une nouvelle machine virtuelle. Les valeurs par défaut de minikube pour la taille du disque virtuel et la quantité de mémoire pour la machine virtuelle sont trop faibles pour Oracle BRM, c'est pourquoi nous les augmenterons explicitement (vous devez évidemment disposer de suffisamment de mémoire physique pour cela, sinon vous risquez de rencontrer divers problèmes) :

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

Vous pouvez vérifier si minikube a été configuré avec succès :

kubectl -n kube-system get pod

Vous obtiendrez un résultat comme celui-ci :

$ kubectl -n kube-system get pod

NOM PRÊT ÉTAT REDÉMARRAGE ÂGE

coredns-6955765f44-d8wj4 1/1 En cours d'exécution 0 7m54s

coredns-6955765f44-fd2lt 1/1 En cours d'exécution 0 7m54s

etcd-minikube 1/1 En cours d'exécution 0 7m46s

kube-apiserver-minikube 1/1 Running 0 7m46s

kube-controller-manager-minikube 1/1 En cours d'exécution 0 7m46s

kube-proxy-j575p 1/1 En cours d'exécution 0 7m54s

kube-scheduler-minikube 1/1 En cours d'exécution 0 7m46s

storage-provisioner 1/1 En cours d'exécution 0 7m52s

Chargez les variables d'environnement nécessaires pour travailler avec minikube et docker dans votre environnement :

eval $(minikube docker-env)

Nous avons besoin d'un composant supplémentaire avant de déployer BRM sur notre cluster nouvellement créé - Helm.

Installation du Helm

Helm est un gestionnaire de paquets pour Kubernetes. Les cartes Helm sont utilisées pour gérer, installer et mettre à jour votre cluster Kubernetes. Oracle regroupe les tableaux Helm nécessaires au déploiement et à la configuration de Oracle BRM 12 dans leur version Cloud Native Deployment de BRM.

Installons maintenant Helm :

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

chmod +x ./helm.sh

./get_helm.sh

Effectuez la configuration initiale de la barre :

helm init -history-max 200

Votre environnement est maintenant prêt à déployer Oracle BRM 12. Il est évident que vous devez effectuer certaines étapes de préparation sur votre instance de base de données Oracle afin que Oracle BRM puisse l'utiliser. L'explication détaillée de ces étapes dépasse le cadre de cet article, mais vous pouvez trouver toutes les informations nécessaires à ce sujet dans la documentation de Oracle BRM ou nous contacter et nous nous ferons un plaisir de vous aider.

Déploiement de Oracle BRM 12 dans un cluster Kubernetes

Tout d'abord, vous devez charger toutes les images docker BRM fournies dans votre environnement docker. Oracle vous fournit deux graphiques Helm - le premier (oc-cn-init-db-helm-chart) initialise votre schéma de base de données pour le préparer au BRM, et l'autre (oc-cn-helm-chart) déploie divers composants BRM que vous choisissez.

Vous devez commencer par déployer oc-cn-init-db-helm-chart. Tout d'abord, vous devez charger l'image Docker init_db dans le dépôt Docker :

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

Une fois l'image chargée, extrayez oc-cn-init-db-helm-chart et copiez values.yaml dans override-values.yaml. Editez ensuite override-values.yaml conformément à la documentation Oracle BRM 12 Cloud Native Deployment. Laissez la valeur "imageRepository" vide. Dans la section "wallet", définissez les informations d'identification pour le portefeuille Oracle. Vous devez définir les paramètres de connexion à la base de données dans la section "db". Après avoir configuré toutes les valeurs nécessaires dans le fichier override-values.yaml, vous pouvez déployer l'image init_db sur votre cluster Kubernetes à l'aide de la carte Helm :

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

Maintenant, helm va déployer l'image d'initialisation de BRM DB sur le cluster Kubernetes et commencer à préparer votre base de données pour BRM.
Vous pouvez vérifier l'état de votre déploiement à l'aide de :

helm status initdb

Après un certain temps, le pod initdb finira de préparer votre base de données et vous pourrez supprimer le déploiement actuel de l'image initdb :

helm delete initdb

Décompressez oc-cn-helm-chart.tgz et copiez values.yaml dans override-values.yaml. Modifiez les différents champs de override-values.yaml en suivant les instructions données dans Oracle BRM 12 Cloud Native Deployment (Déploiement natif dans le nuage). Vous pouvez copier certains champs (comme les sections "wallet" et "db") du tableau init-db que vous avez utilisé précédemment.

Utilisez la commande "docker load -input" pour charger toutes les images Docker que vous souhaitez déployer dans le référentiel Docker.

Vous pouvez ensuite déployer la carte Helm :

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

Maintenant, BRM va se déployer dans votre cluster Kubernetes local. Vous trouverez d'autres conseils sur la surveillance des clusters et le diagnostic des problèmes dans notre article précédent.

Vous pouvez également surveiller votre cluster Kubernetes avec Kubernetes Dashboard :

tableau de bord minikube

Le tableau de bord s'ouvrira dans une nouvelle fenêtre du navigateur.

Tableau de bord Kubernetes

Conclusion

Cet article vous guide à travers les principales étapes du déploiement de Oracle BRM Cloud Native Deployment sur un cluster Kubernetes minikube local. Vous pouvez utiliser ce déploiement à des fins de test et de développement. Si vous avez besoin d'une aide supplémentaire pour le déploiement de Oracle BRM Si vous avez des questions sur l'utilisation de minikube, si vous avez besoin de suggestions ou si vous recherchez un fournisseur de solutions fiables pour tous vos besoins en matière de facturation, n'hésitez pas à nous contacter.

Image de Aleš Pristovnik
Aleš Pristovnik
Ales Pristovnik est le PDG de Tridens, un éditeur de logiciels spécialisé dans la recharge des véhicules électriques, les abonnements et la facturation Oracle BRM. Il a une longue expérience dans le secteur des technologies de l'information, ayant travaillé pour plusieurs grandes entreprises. Passionné par la technologie et l'innovation, il se concentre actuellement sur le développement de solutions qui amélioreront la sécurité et l'efficacité de l'industrie automobile.

Obtenir des nouvelles dans votre boîte de réception !


    0 0 votes
    Évaluation de l'article
    S'abonner
    Notification pour
    invité

    2 Commentaires
    Le plus ancien
    Le plus récent Le plus populaire
    Commentaires en ligne
    Afficher tous les commentaires