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.
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.
Table des matières
À 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.
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.