In einem unserer früheren Artikel haben wir bereits den Einsatz von Oracle BRM 12 Cloud Native-Bereitstellung Version zu Oracle Cloud. Oracle Cloud ist eine sehr gut durchdachte Cloud-Umgebung, die zudem erschwinglich ist und sich ständig weiterentwickelt. Wenn Sie jedoch Oracle BRM 12 in Oracle Cloud einsetzen möchten, müssen Sie einige nicht kostenlose Funktionen und Komponenten von Oracle Cloud nutzen, die Sie nur 30 Tage lang kostenlos testen können. Danach müssen Sie ein Upgrade auf ein kostenpflichtiges Konto durchführen, wenn Sie es weiter nutzen möchten.

Sie haben auch eine andere Möglichkeit, wenn Sie Oracle BRM 12 Cloud Native Deployment testen möchten. Sie können sich für eine Bereitstellung vor Ort entscheiden und BRM auf Ihren lokalen Servern einsetzen. Dieser Artikel soll Ihnen vor allem zeigen, wie Sie das erreichen können. In diesem Artikel erfahren Sie, wie Sie mit Minikube einen lokalen Kubernetes-Cluster erstellen und betreiben können und wie Sie Oracle BRM 12 in Ihren neu erstellten und konfigurierten Cluster. Bitte beachten Sie, dass Minikube nur für Test- und Entwicklungszwecke geeignet ist und Sie es nicht in einer Produktionsumgebung verwenden sollten. Schauen wir uns nun die einzelnen Komponenten unseres Systems an, die wir verwenden werden, und wie wir sie installieren.
Inhaltsverzeichnis
Über Oracle Linux 8
Wir werden unsere Lösung auf ein Linux-Betriebssystem stützen, nämlich Oracle Linux Version 8. Diese Linux-Distribution wird von Oracle bereitgestellt und ist kostenlos erhältlich. Sie basiert auf Red Hat Enterprise Linux. Für dieses Betriebssystem können Sie bei Bedarf auch einen kommerziellen technischen Support erhalten. Es ist auch erwähnenswert, dass die Oracle Cloud hauptsächlich von Oracle Linux-Servern betrieben wird.
Für diesen Artikel werden wir Oracle Linux Version 8 verwenden. Natürlich können Sie auch andere Linux-Distributionen verwenden, aber die Anweisungen zur Vorbereitung Ihrer Umgebung können je nach dem variieren. Wenn Sie Oracle Linux verwenden möchten, können Sie es kostenlos von der Oracle Software Delivery Cloud oder von vielen weltweit verfügbaren Spiegelseiten herunterladen.
Sie können Oracle Linux direkt auf Ihren Servern oder innerhalb einer virtuellen Maschine installieren. Im letzteren Fall muss Ihre Virtualisierungssoftware verschachtelte Virtualisierung unterstützen, wenn Sie die Anweisungen in diesem Artikel genau befolgen möchten.
Stellen Sie nach der Installation von Oracle Linux sicher, dass Sie Ihre Softwarepakete auf die neuesten Versionen aktualisieren, bevor Sie fortfahren:
sudo yum update
Installieren Sie dann einige andere erforderliche Pakete:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
Jetzt können Sie mit der Vorbereitung Ihres Kubernetes-Clusters beginnen. Zunächst werden wir Docker installieren.
Installation von Docker
Docker ist eine Reihe von Produkten, mit denen Sie containerisierte Software einsetzen und ausführen können. Container sind Softwarepakete, die ihre eigene Software, die Konfiguration und alle benötigten Bibliotheken in einem Paket, dem Container, bündeln.
Hier finden Sie Anweisungen für die Installation von Docker unter 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 entfernen podman-manpages
sudo dnf -y install docker-ce -nobest
systemctl start docker
systemctl enable docker
systemctl status docker
Um Docker für den aktuellen Benutzer zu aktivieren:
sudo usermod -aG docker
newgrp docker
Installieren von kubectl
Wir werden nun mit der Installation von kubectl fortfahren, einem Kommandozeilen-Tool, mit dem Sie einen Kubernetes-Cluster steuern können.
Laden Sie die neueste stabile Version von kubectl herunter und verschieben Sie sie in einen Systemordner:
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
Sie können überprüfen, ob kubectl funktioniert, indem Sie den folgenden Befehl eingeben:
kubectl Version
Sie erhalten eine ähnliche Ausgabe wie diese:
Client Version: 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", Plattform: "linux/amd64″}
Die Verbindung zum Server localhost:8080 wurde abgelehnt - haben Sie den richtigen Host oder Port angegeben?
Sie können den Fehler in der letzten Zeile der Befehlseingabe vorerst ignorieren.
Installation von Oracle VirtualBox
VirtualBox ist ein Virtualisierungsprodukt von Oracle und wir werden es als Hypervisor für unseren minikube Kubernetes-Cluster verwenden. Um VirtualBox auf unserem System zu installieren, müssen wir zunächst ein zusätzliches Repository hinzufügen:
cd /etc/yum.repos.d/
sudo wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo
Installieren Sie einige andere benötigte Pakete:
sudo yum install binutils gcc make patch libgomp glibc-headers glibc-devel kernel-headers kernel-devel elfutils-libelf-devel
Jetzt sind Sie bereit, VirtualBox zu installieren:
sudo yum install VirtualBox-6.1
Jetzt sind wir bereit, Minikube zu installieren.
Installieren von Minikube
Minikube ist ein Docker-basierter Kubernetes-Cluster, der sich für Test- und Entwicklungszwecke eignet. Wir werden Oracle BRM 12 Cloud Native Deployment, eine containerisierte Version von Oracle BRM, auf dem Minikube Kubernetes-Cluster bereitstellen.
Installieren Sie jetzt minikube:
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube
sudo mkdir -p /usr/local/bin/
sudo minikube installieren /usr/local/bin/
Wir können nun minikube starten, das seine Umgebung vorbereitet und eine neue virtuelle Maschine erstellt. Die Standardwerte von minikube für die Größe der virtuellen Festplatte und des Arbeitsspeichers für die virtuelle Maschine sind für Oracle BRM zu niedrig, daher werden wir sie explizit erhöhen (natürlich müssen Sie dafür genügend physischen Arbeitsspeicher zur Verfügung haben, da es sonst zu verschiedenen Problemen kommen kann):
minikube start -disk-size='800g' -memory='8192m'
Sie können überprüfen, ob minikube erfolgreich konfiguriert wurde:
kubectl -n kube-system get pod
Sie werden eine Ausgabe wie diese erhalten:
$ kubectl -n kube-system get pod
NAME BEREIT STATUS NEUSTARTS ALTER
coredns-6955765f44-d8wj4 1/1 Läuft 0 7m54s
coredns-6955765f44-fd2lt 1/1 Läuft 0 7m54s
etcd-minikube 1/1 Läuft 0 7m46s
kube-apiserver-minikube 1/1 Läuft 0 7m46s
kube-controller-manager-minikube 1/1 Läuft 0 7m46s
kube-proxy-j575p 1/1 Läuft 0 7m54s
kube-scheduler-minikube 1/1 Läuft 0 7m46s
storage-provisioner 1/1 Läuft 0 7m52s
Laden Sie die Umgebungsvariablen, die Sie für die Arbeit mit Minikube und Docker benötigen, in Ihre Umgebung:
eval $(minikube docker-env)
Wir benötigen eine zusätzliche Komponente, bevor wir BRM auf unserem neu erstellten Cluster einsetzen - Helm.
Installation von Helm
Helm ist ein Paketmanager für Kubernetes. Helm-Charts werden für die Verwaltung, Installation und Aktualisierung Ihres Kubernetes-Clusters verwendet. Oracle bündelt die Helm-Diagramme, die für die Bereitstellung und Konfiguration von Oracle BRM 12 benötigt werden, in seiner Cloud Native Deployment-Version von BRM.
Lassen Sie uns nun Helm installieren:
curl -LO https://git.io/get_helm.sh
chmod +x ./helm.sh
./get_helm.sh
Führen Sie die Erstkonfiguration des Steuerrads durch:
helm init -history-max 200
Jetzt ist Ihre Umgebung bereit, mit der Bereitstellung von Oracle BRM 12 zu beginnen. Natürlich müssen Sie einige Vorbereitungsschritte auf Ihrer Oracle Datenbankinstanz durchführen, damit Oracle BRM sie nutzen kann. Eine detaillierte Erläuterung dieser Schritte würde den Rahmen dieses Artikels sprengen, aber Sie finden alle notwendigen Informationen dazu in der Oracle BRM-Dokumentation oder kontaktieren Sie uns und wir helfen Ihnen gerne.
Bereitstellung von Oracle BRM 12 in einem Kubernetes-Cluster
Zunächst müssen Sie alle bereitgestellten Docker-BRM-Images in Ihre Docker-Umgebung laden. Oracle stellt Ihnen zwei Helm-Charts zur Verfügung - der erste (oc-cn-init-db-helm-chart) initialisiert Ihr DB-Schema, um es für BRM vorzubereiten, und der andere (oc-cn-helm-chart) stellt verschiedene BRM-Komponenten bereit, die Sie auswählen.
Sie müssen mit der Bereitstellung von oc-cn-init-db-helm-chart beginnen. Zuerst müssen Sie das init_db Docker-Image in das Docker-Repository laden:
docker load -input oc-cn-brm-init-db-12.0.0.2.0.tar
Nachdem das Image erfolgreich geladen wurde, extrahieren Sie oc-cn-init-db-helm-chart und kopieren values.yaml nach override-values.yaml. Bearbeiten Sie dann override-values.yaml gemäß der Dokumentation zu Oracle BRM 12 Cloud Native Deployment. Lassen Sie den Wert "imageRepository" leer. Legen Sie im Abschnitt "wallet" die Anmeldedaten für die Oracle-Wallet fest. Im Abschnitt "db" müssen Sie Ihre Datenbankverbindungseinstellungen festlegen. Nachdem Sie alle erforderlichen Werte in der Datei override-values.yaml konfiguriert haben, können Sie das init_db-Image mithilfe von Helm Chart in Ihrem Kubernetes-Cluster bereitstellen:
helm install oc-cn-init-db-helm-chart -name initdb -values oc-cn-init-db-helm- chart/override-values.yaml
Jetzt verteilt Helm das BRM DB Initialisierungs-Image im Kubernetes-Cluster und beginnt mit der Vorbereitung Ihrer Datenbank für BRM.
Sie können den Status Ihrer Bereitstellung mit überprüfen:
helm status initdb
Nach einer Weile wird der initdb-Pod die Vorbereitung Ihrer Datenbank abschließen und Sie können die aktuelle Bereitstellung des initdb-Images löschen:
helm delete initdb
Entpacken Sie nun oc-cn-helm-chart.tgz und kopieren Sie values.yaml nach override-values.yaml. Bearbeiten Sie nun verschiedene Felder in override-values.yaml gemäß den Anweisungen in Oracle BRM 12 Cloud Native Deployment. Sie können einige Felder (z.B. die Abschnitte "wallet" und "db") aus der Tabelle init-db kopieren, die Sie zuvor verwendet haben.
Verwenden Sie den Befehl "docker load -input", um alle Docker-Images zu laden, die Sie im Docker-Repository bereitstellen möchten.
Dann können Sie Helm Chart einsetzen:
helm install oc-cn-helm-chart -name occn-ps2 -namespace ocgbu -values oc-cn-helm-chart/override-values.yaml
Jetzt wird BRM auf Ihrem lokalen Kubernetes-Cluster bereitgestellt. Weitere Tipps zur Überwachung von Clustern und zur Diagnose von Problemen finden Sie in unserem früheren Artikel.
Sie können Ihren Kubernetes-Cluster auch mit Kubernetes Dashboard überwachen:
Dashboard von minikube
Das Dashboard wird in einem neuen Browserfenster geöffnet.

Fazit
Dieser Artikel führt Sie durch die wichtigsten Schritte der Bereitstellung von Oracle BRM Cloud Native Deployment in einem lokalen minikube Kubernetes-Cluster. Sie können diese Bereitstellung für Test- und Entwicklungszwecke verwenden. Wenn Sie zusätzliche Hilfe bei der Bereitstellung benötigen Oracle BRM zu minikube, benötigen Sie Anregungen oder sind Sie auf der Suche nach einem zuverlässigen Lösungsanbieter für Ihre Abrechnungsanforderungen, dann kontaktieren Sie uns.