在我们之前的一篇文章中,我们已经介绍了在中国部署的 Oracle BRM 12 云原生部署 版本到Oracle云。Oracle云是设计得非常好的云环境,也是价格低廉且不断发展的。然而,如果你想将Oracle BRM 12部署到Oracle云,你必须使用Oracle云的一些非免费功能和组件,你可以免费测试30天。之后,如果你想继续使用它,你必须升级到付费账户。

如果你想测试Oracle BRM 12云原生部署,你还有另一个选择。你可以进行内部部署,将BRM部署到你的本地服务器。本文的主要目的是告诉你如何实现这一点。本文将告诉你如何使用Minikube创建和运行一个本地Kubernetes集群,以及如何部署 Oracle BRM 12 进入你新创建和配置的集群。请注意,Minikube只适用于测试和开发目的,你不应该在生产环境中使用它。让我们来看看我们将使用的系统的具体组件以及如何安装它们。
目录
关于Oracle Linux 8
我们的解决方案将基于一个Linux操作系统,即Oracle Linux版本8。这个Linux发行版是由Oracle提供的,可以免费使用。它是基于Red Hat Enterprise Linux的。对于这个操作系统,如果你需要的话,你还可以得到一个商业技术支持。还值得一提的是,Oracle云主要由Oracle Linux服务器提供动力。
在这篇文章中,我们将使用Oracle Linux第8版。当然,你也可以使用其他的Linux发行版,但准备环境的说明会根据不同的情况而有所不同。如果你想使用Oracle Linux,你可以从Oracle软件交付云或世界各地的许多镜像站点免费下载它。
你可以将Oracle Linux直接安装在你的服务器上或安装在虚拟机内。在后一种情况下,如果你想严格遵循本文的指示,你的虚拟化软件必须支持嵌套虚拟化。
在安装Oracle Linux后,确保在继续之前将你的软件包更新到最新版本:
sudo yum update
然后安装一些其他所需的软件包:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
现在你已经准备好开始准备你的Kubernetes集群。首先,我们将安装Docker。
安装Docker
Docker是一套产品,允许你部署和运行容器化软件。容器是一种软件包,它将自己的软件、配置和所有需要的库捆绑在一个包里,称为容器。
以下是在Oracle Linux 8上安装Docker的说明:
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
要为当前用户启用Docker:
sudo usermod -aG docker
newgrp docker
安装kubectl
现在我们将继续安装kubectl,它是允许你控制Kubernetes集群的命令行工具。
下载最新的稳定版本的kubectl并将其移到系统文件夹中:
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
你可以通过发出以下命令来检查kubectl是否在工作:
kubectl版本
你将收到与此类似的输出:
客户端版本: 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″)
连接到服务器localhost:8080被拒绝 - 你是否指定了正确的主机或端口?
现在你可以忽略最后一行命令输入中的错误。
安装Oracle VirtualBox
VirtualBox是Oracle提供的虚拟化产品,我们将使用它作为minikube Kubernetes集群的管理程序。要在我们的系统中安装VirtualBox,我们必须先添加一个额外的资源库:
cd /etc/yum.repos.d/
sudo wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo
安装一些其他需要的软件包:
sudo yum install binutils gcc make patch libgomp glibc-headers glibc-devel kernel-headers kernel-devel elfutils-libelf-devel
现在你已经准备好安装VirtualBox了:
sudo yum install VirtualBox-6.1
在这一点上,我们已经准备好安装Minikube。
安装Minikube
Minikube是基于Docker的Kubernetes集群,适用于测试和开发目的。我们将在Minikube Kubernetes集群中部署Oracle BRM 12 Cloud Native Deployment,这是Oracle BRM的容器化版本。
现在安装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 /usr/local/bin/
我们现在可以启动minikube,它将准备其环境并创建一个新的虚拟机。minikube的虚拟磁盘大小和虚拟机的内存量的默认值对于Oracle BRM来说太低了,因此我们将明确提高它们(显然你必须有足够的物理内存可用,否则你可能会遇到各种问题):
minikube start -disk-size='800g' -memory='8192m' 。
你可以检查minikube是否被成功配置:
kubectl -n kube-system get pod
你会得到一些像这样的输出:
$ kubectl -n kube-system get pod
名称 准备状态 重新启动 年龄
coredns-6955765f44-d8wj4 1/1 运行 0 7m54s
coredns-6955765f44-fd2lt 1/1 运行 0 7m54s
etcd-minikube 1/1 运行 0 7m46s
kube-apiserver-minikube 1/1 运行 0 7m46s
kube-controller-manager-minikube 1/1 运行 0 7m46s
kube-proxy-j575p 1/1 运行 0 7m54s
kube-scheduler-minikube 1/1 运行 0 7m46s
存储器-provisioner 1/1 运行 0 7m52s
在你的环境中加载与minikube和docker工作所需的环境变量:
评价$(minikube docker-env)
在我们将BRM部署到新创建的集群之前,我们需要一个额外的组件--Helm。
安装Helm
Helm是Kubernetes的一个软件包管理器。Helm图表用于管理、安装和升级你的Kubernetes集群。Oracle将部署和配置Oracle BRM 12部署所需的Helm图表捆绑在其云原生部署版的BRM中。
现在我们来安装Helm:
curl -LO https://git.io/get_helm.sh
chmod +x ./helm.sh
./get_helm.sh
进行舵机的初始配置:
helm init -history-max 200
现在你的环境已经准备好了,可以开始部署Oracle BRM 12。显然,你必须在你的Oracle数据库实例上执行一些准备步骤,以便Oracle BRM可以使用它。对这些步骤的详细解释超出了本文的范围,但你可以在Oracle BRM的文档中找到所有相关的必要信息,或者联系我们,我们将很乐意帮助你。
将Oracle BRM 12部署到Kubernetes集群上
首先,你必须把所有提供的docker BRM镜像加载到你的docker环境。Oracle为你提供了两个Helm图表--第一个(oc-cn-init-db-helm-chart)初始化你的DB模式,为BRM做准备,另一个(oc-cn-helm-chart)部署你选择的各种BRM组件。
你必须从部署oc-cn-init-db-helm-chart开始。首先,你必须把init_db Docker镜像加载到Docker仓库:
docker load -input oc-cn-brm-init-db-12.0.0.2.0.tar
镜像加载成功后,提取oc-cn-init-db-helm-chart并复制values.yaml到overrid-values.yaml。然后根据Oracle BRM 12 Cloud Native Deployment文档编辑overrid-values.yaml。把 "imageRepository "值留空。在 "钱包 "部分设置Oracle钱包的凭证。你必须在 "db "部分设置你的数据库连接设置。在overrid-values.yaml文件中配置了所有必要的值后,你可以使用Helm图表将init_db镜像部署到Kubernetes集群:
helm install oc-cn-init-db-helm-chart -name initdb -values oc-cn-init-db-helm- chart/overrid-values.yaml
现在头盔将把BRM DB初始化镜像部署到Kubernetes集群,并开始为BRM准备数据库。
你可以通过以下方式检查你的部署状态:
helm status initdb
一段时间后initdb pod会完成数据库的准备工作,你可以删除当前部署的initdb镜像:
helm delete initdb
现在解压oc-cn-helm-chart.tgz并复制values.yaml到override-values.yaml。现在根据Oracle BRM 12云原生部署中的说明,编辑overrid-values.yaml中的各个字段。你可以从init-db图表中复制一些字段(如 "wallet "和 "db "部分),你之前使用过。
使用 "docker load -input "命令来加载所有你想部署到Docker仓库的docker镜像。
然后你可以部署Helm图表:
helm install oc-cn-helm-chart -name occn-ps2 -namespace ocgbu -values oc-cn-helm-chart/overrid-values.yaml
现在BRM将部署到你的本地Kubernetes集群。你可以在我们之前的文章中找到更多关于监控集群和诊断问题的提示。
你也可以用Kubernetes Dashboard监控你的Kubernetes集群:
迷你立方仪表板
仪表板将在一个新的浏览器窗口中打开。

总结
本文指导你完成在本地minikube Kubernetes集群中部署Oracle BRM云原生部署的主要步骤。你可以将此部署用于测试和开发目的。如果你在部署时需要任何额外的帮助 甲骨文BRM 如果您对minikube感兴趣,需要建议,或者您正在为您的所有计费需求寻找一个可靠的解决方案供应商,请随时与我们联系。