In uno dei nostri articoli precedenti abbiamo già presentato l'implementazione di Oracle BRM 12 Distribuzione nativa nel cloud versione a Oracle Cloud. Oracle Cloud è un ambiente cloud molto ben progettato, che è anche conveniente e in costante evoluzione. Tuttavia, se desidera distribuire Oracle BRM 12 su Oracle Cloud, deve utilizzare alcune funzioni e componenti non gratuiti di Oracle Cloud, che può testare gratuitamente solo per 30 giorni. Dopodiché dovrà passare all'account a pagamento se vuole continuare ad utilizzarlo.

Ha anche un'altra opzione se vuole provare Oracle BRM 12 Cloud Native Deployment. Può optare per una distribuzione on-premise e distribuire BRM sui suoi server locali. Lo scopo principale di questo articolo è mostrarle come può farlo. Questo articolo le mostrerà come creare ed eseguire un cluster Kubernetes locale utilizzando Minikube e come distribuire il BRM sui server locali. Oracle BRM 12 nel cluster appena creato e configurato. Tenga presente che Minikube è adatto solo per scopi di test e di sviluppo e non dovrebbe utilizzarlo in un ambiente di produzione. Diamo un'occhiata ai componenti specifici del nostro sistema che utilizzeremo e come installarli.
Indice dei contenuti
Informazioni su Oracle Linux 8
Baseremo la nostra soluzione su un sistema operativo Linux, vale a dire Oracle Linux versione 8. Questa distribuzione Linux è fornita da Oracle e disponibile gratuitamente. Si basa su Red Hat Enterprise Linux. Per questo sistema operativo può anche ottenere un supporto tecnico commerciale, se ne ha bisogno. Vale la pena ricordare che Oracle Cloud è alimentato principalmente da server Oracle Linux.
Utilizzeremo Oracle Linux versione 8 per lo scopo di questo articolo. Naturalmente può utilizzare anche altre distribuzioni Linux, ma le istruzioni per la preparazione dell'ambiente possono variare a seconda dei casi. Se desidera utilizzare Oracle Linux, può scaricarlo liberamente da Oracle Software Delivery Cloud o da molti siti mirror disponibili in tutto il mondo.
Può installare Oracle Linux direttamente sui suoi server o all'interno di una macchina virtuale. In quest'ultimo caso, il suo software di virtualizzazione deve supportare la virtualizzazione nidificata, se vuole seguire attentamente le istruzioni di questo articolo.
Dopo aver installato Oracle Linux, si assicuri di aggiornare i pacchetti software alle versioni più recenti prima di continuare:
sudo yum update
Poi installa alcuni altri pacchetti necessari:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
Ora è pronto per iniziare a preparare il cluster Kubernetes. Per prima cosa installeremo Docker.
Installazione di Docker
Docker è un insieme di prodotti che consente di distribuire ed eseguire software containerizzato. I contenitori sono pacchetti software che raggruppano il proprio software, la configurazione e tutte le librerie necessarie in un unico pacchetto, chiamato contenitore.
Ecco le istruzioni per installare Docker su 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
Per abilitare Docker per l'utente corrente:
sudo usermod -aG docker
newgrp docker
Installazione di kubectl
Continueremo ora con l'installazione di kubectl, che è uno strumento a riga di comando che consente di controllare un cluster Kubernetes.
Scarichi l'ultima versione stabile di kubectl e la sposti in una cartella di 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
Può verificare se kubectl sta funzionando lanciando il seguente comando:
versione di kubectl
Riceverà un risultato simile a questo:
Versione 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″, Compilatore: "gc", Piattaforma: "linux/amd64″}.
La connessione al server localhost:8080 è stata rifiutata - ha specificato l'host o la porta giusta?
Per ora può ignorare l'errore nell'ultima riga di input del comando.
Installazione di VirtualBox Oracle
VirtualBox è un prodotto di virtualizzazione fornito da Oracle e lo utilizzeremo come hypervisor per il nostro cluster Kubernetes minikube. Per installare VirtualBox sul nostro sistema, dobbiamo prima aggiungere un repository supplementare:
cd /etc/yum.repos.d/
sudo wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo
Installare alcuni altri pacchetti necessari:
sudo yum install binutils gcc make patch libgomp glibc-headers glibc-devel kernel-headers kernel-devel elfutils-libelf-devel
Ora è pronto per installare VirtualBox:
sudo yum install VirtualBox-6.1
A questo punto siamo pronti per installare Minikube.
Installazione di Minikube
Minikube è un cluster Kubernetes basato su Docker, adatto per scopi di test e sviluppo. Distribuiremo Oracle BRM 12 Cloud Native Deployment, che è la versione containerizzata di Oracle BRM sul cluster Kubernetes di Minikube.
Ora installi minikube:
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube
sudo mkdir -p /usr/local/bin/
sudo installa minikube /usr/local/bin/
Ora possiamo avviare minikube che preparerà il suo ambiente e creerà una nuova macchina virtuale. I valori predefiniti di minikube per la dimensione del disco virtuale e la quantità di memoria per la macchina virtuale sono troppo bassi per Oracle BRM, quindi li aumenteremo esplicitamente (ovviamente deve avere abbastanza memoria fisica disponibile per questo, altrimenti potrebbe riscontrare vari problemi):
minikube start -disk-size='800g' -memoria='8192m'
Può verificare se minikube è stato configurato con successo:
kubectl -n kube-system get pod
Otterrà un risultato come questo:
$ kubectl -n kube-system get pod
NOME STATO PRONTO RIAVVIA ETÀ
coredns-6955765f44-d8wj4 1/1 In esecuzione 0 7m54s
coredns-6955765f44-fd2lt 1/1 In esecuzione 0 7m54s
etcd-minikube 1/1 In esecuzione 0 7m46s
kube-apiserver-minikube 1/1 Esecuzione 0 7m46s
kube-controller-manager-minikube 1/1 In esecuzione 0 7m46s
kube-proxy-j575p 1/1 Esecuzione 0 7m54s
kube-scheduler-minikube 1/1 Esecuzione 0 7m46s
storage-provisioner 1/1 In esecuzione 0 7m52s
Carica le variabili d'ambiente necessarie per lavorare con minikube e docker nel suo ambiente:
eval $(minikube docker-env)
Abbiamo bisogno di un componente aggiuntivo prima di distribuire BRM al nostro cluster appena creato: Helm.
Installazione di Helm
Helm è un gestore di pacchetti per Kubernetes. I diagrammi Helm sono utilizzati per gestire, installare e aggiornare il cluster Kubernetes. Oracle raggruppa i grafici Helm necessari per la distribuzione e la configurazione dell'implementazione Oracle BRM 12 nella versione Cloud Native Deployment di BRM.
Ora installiamo Helm:
curl -LO https://git.io/get_helm.sh
chmod +x ./helm.sh
./get_helm.sh
Esegua la configurazione iniziale del timone:
helm init -storia-max 200
Ora il suo ambiente è pronto per iniziare la distribuzione di Oracle BRM 12. Ovviamente deve eseguire alcune fasi di preparazione sulla sua istanza di database Oracle, in modo che Oracle BRM possa utilizzarla. La spiegazione dettagliata di questi passaggi va oltre lo scopo di questo articolo, ma può trovare tutte le informazioni necessarie al riguardo nella documentazione di Oracle BRM o contattarci e saremo lieti di aiutarla.
Distribuzione di Oracle BRM 12 nel cluster Kubernetes
Per prima cosa, deve caricare tutte le immagini docker BRM fornite nel suo ambiente docker. Oracle le fornisce due diagrammi Helm - il primo (oc-cn-init-db-helm-chart) inizializza il suo schema DB per prepararlo per BRM, e l'altro (oc-cn-helm-chart) distribuisce vari componenti BRM che lei sceglie.
Deve iniziare distribuendo oc-cn-init-db-helm-chart. Per prima cosa deve caricare l'immagine Docker di init_db nel repository Docker:
docker load -input oc-cn-brm-init-db-12.0.0.2.0.tar
Dopo che l'immagine è stata caricata con successo, estrarre oc-cn-init-db-helm-chart e copiare values.yaml in override-values.yaml. Quindi modifichi override-values.yaml secondo la documentazione di Oracle BRM 12 Cloud Native Deployment. Lasciare vuoto il valore "imageRepository". Nella sezione "wallet" imposti le credenziali per il portafoglio Oracle. Deve impostare le impostazioni di connessione al database in una sezione "db". Dopo aver configurato tutti i valori necessari nel file override-values.yaml, può distribuire l'immagine init_db al suo cluster Kubernetes utilizzando il grafico Helm:
helm installa oc-cn-init-db-helm-chart -nome initdb -valori oc-cn-init-db-helm- chart/override-values.yaml
Ora il timone distribuirà l'immagine di inizializzazione di BRM DB nel cluster Kubernetes e inizierà a preparare il database per BRM.
Può controllare lo stato della sua distribuzione con:
helm status initdb
Dopo un po' di tempo, il pod initdb finirà di preparare il suo database e potrà eliminare l'attuale distribuzione dell'immagine di initdb:
helm cancella initdb
Ora decomprima oc-cn-helm-chart.tgz e copia values.yaml in override-values.yaml. Ora modifichi i vari campi in override-values.yaml secondo le istruzioni contenute in Oracle BRM 12 Cloud Native Deployment. Può copiare alcuni campi (come le sezioni "wallet" e "db") dalla tabella init-db che ha utilizzato in precedenza.
Utilizzi il comando "docker load -input" per caricare tutte le immagini docker che desidera distribuire nel repository Docker.
Poi può distribuire il grafico di Helm:
helm install oc-cn-helm-chart -nome occn-ps2 -namespace ocgbu -valori oc-cn-helm-chart/override-values.yaml
Ora BRM si distribuirà nel cluster Kubernetes locale. Può trovare altri suggerimenti sul monitoraggio del cluster e sulla diagnosi dei problemi nel nostro precedente articolo.
Può anche monitorare il suo cluster Kubernetes con Kubernetes Dashboard:
cruscotto minikube
La dashboard verrà aperta in una nuova finestra del browser.

Conclusione
Questo articolo la guida attraverso le fasi principali della distribuzione di Oracle BRM Cloud Native Deployment in un cluster Kubernetes minikube locale. Può utilizzare questa distribuzione per scopi di test e sviluppo. Se ha bisogno di ulteriore aiuto con la distribuzione Oracle BRM a minikube, ha bisogno di suggerimenti o se sta cercando un fornitore di soluzioni affidabili per tutte le sue esigenze di fatturazione, non esiti a contattarci.