Num dos nossos artigos anteriores, já apresentámos a implementação de Oracle BRM 12 Implantação nativa na nuvem versão para o Oracle Cloud. O Oracle Cloud é um ambiente de nuvem muito bem projetado, que também é acessível e está em constante evolução. No entanto, se você quiser implantar o Oracle BRM 12 no Oracle Cloud, terá que usar alguns recursos e componentes não gratuitos do Oracle Cloud, que podem ser testados gratuitamente por apenas 30 dias. Depois disso, terá que atualizar para uma conta paga se quiser continuar a usá-lo.
Também tem outra opção se quiser testar o Oracle BRM 12 Cloud Native Deployment. Você pode optar por uma implantação no local e implantar o BRM nos seus servidores locais. O principal objetivo deste artigo é mostrar-lhe como pode conseguir isso. Este artigo mostrará como criar e executar um cluster local do Kubernetes usando o Minikube e como implantar Oracle BRM 12 no seu cluster recém-criado e configurado. Tenha em atenção que o Minikube é adequado apenas para fins de teste e desenvolvimento, pelo que não deve utilizá-lo num ambiente de produção. Vamos ver os componentes específicos do nosso sistema que vamos utilizar e como os instalar.
Tabela de conteúdos
Acerca do Oracle Linux 8
Basearemos a nossa solução num sistema operativo Linux, nomeadamente o Oracle Linux versão 8. Esta distribuição Linux é fornecida pelo Oracle e está disponível gratuitamente. É baseada no Red Hat Enterprise Linux. Para este sistema operativo pode também obter um suporte técnico comercial, caso necessite. Também vale a pena mencionar que o Oracle Cloud é alimentado principalmente por servidores Oracle Linux.
Para efeitos deste artigo, vamos utilizar a versão 8 do Linux Oracle. É claro que pode usar também outras distribuições Linux, mas as instruções para preparar o seu ambiente podem variar de acordo com isso. Se quiser usar o Oracle Linux, pode baixá-lo livremente do Oracle Software Delivery Cloud ou de muitos sites espelho disponíveis em todo o mundo.
Você pode instalar o Oracle Linux diretamente nos seus servidores ou dentro de uma máquina virtual. Neste último caso, o seu software de virtualização tem de suportar virtualização aninhada se quiser seguir de perto as instruções deste artigo.
Depois de instalar o Oracle Linux, certifique-se de que actualiza os seus pacotes de software para as versões mais recentes antes de continuar:
sudo yum update
Em seguida, instale alguns outros pacotes necessários:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
Agora está pronto para começar a preparar o seu cluster Kubernetes. Primeiro, vamos instalar o Docker.
Instalar o Docker
O Docker é um conjunto de produtos que lhe permite implementar e executar software em contentores. Os contentores são pacotes de software que agrupam o seu próprio software, a configuração e todas as bibliotecas necessárias num único pacote, denominado contentor.
Aqui estão as instruções para instalar o Docker no 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
Para ativar o Docker para o utilizador atual:
sudo usermod -aG docker
novo grupo docker
Instalando o kubectl
Vamos continuar agora com a instalação do kubectl, que é uma ferramenta de linha de comando que lhe permite controlar um cluster Kubernetes.
Transfira a versão estável mais recente do kubectl e mova-a para uma pasta do 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
Pode verificar se o kubectl está a funcionar emitindo o seguinte comando:
versão do kubectl
Receberá um resultado semelhante a este:
Versão do cliente: 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″}
A ligação ao servidor localhost:8080 foi recusada - especificou o anfitrião ou a porta correcta?
Para já, pode ignorar o erro na última linha de entrada do comando.
Instalação do VirtualBox Oracle
O VirtualBox é um produto de virtualização fornecido pelo Oracle e vamos usá-lo como um hipervisor para o nosso cluster Kubernetes minikube. Para instalar o VirtualBox no nosso sistema, temos de adicionar primeiro um repositório adicional:
cd /etc/yum.repos.d/
sudo wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo
Instale alguns outros pacotes necessários:
sudo yum install binutils gcc make patch libgomp glibc-headers glibc-devel kernel-headers kernel-devel elfutils-libelf-devel
Agora está pronto para instalar o VirtualBox:
sudo yum install VirtualBox-6.1
Neste ponto, estamos prontos para instalar o Minikube.
Instalar o Minikube
O Minikube é um cluster Kubernetes baseado em Docker, adequado para fins de teste e desenvolvimento. Implantaremos o Oracle BRM 12 Cloud Native Deployment, que é a versão em contêiner do Oracle BRM no cluster do Minikube Kubernetes.
Agora instale o 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/
Podemos agora iniciar o minikube que irá preparar o seu ambiente e criar uma nova máquina virtual. Os valores predefinidos do minikube para o tamanho do disco virtual e a quantidade de memória para a máquina virtual são demasiado baixos para o Oracle BRM, por isso vamos aumentá-los explicitamente (obviamente, tem de ter memória física suficiente disponível para isso, caso contrário pode ter vários problemas):
minikube start -disk-size='800g' -memory='8192m'
Pode verificar se o minikube foi configurado com sucesso:
kubectl -n kube-system get pod
Obterá um resultado como este:
$ kubectl -n kube-system get pod
NOME PRONTO ESTADO REINICIA IDADE
coredns-6955765f44-d8wj4 1/1 Em execução 0 7m54s
coredns-6955765f44-fd2lt 1/1 Em execução 0 7m54s
etcd-minikube 1/1 Em execução 0 7m46s
kube-apiserver-minikube 1/1 Em execução 0 7m46s
kube-controller-manager-minikube 1/1 Em execução 0 7m46s
kube-proxy-j575p 1/1 Em execução 0 7m54s
kube-scheduler-minikube 1/1 Em execução 0 7m46s
provisionador de armazenamento 1/1 Em execução 0 7m52s
Carregue as variáveis de ambiente necessárias para trabalhar com o minikube e o docker no seu ambiente:
eval $(minikube docker-env)
Precisamos de um componente adicional antes de implementarmos o BRM no nosso cluster recém-criado - o Helm.
Instalar o Helm
O Helm é um gestor de pacotes para o Kubernetes. Os gráficos do Helm são usados para gerenciar, instalar e atualizar o seu cluster do Kubernetes. O Oracle agrupa os gráficos Helm necessários para implantar e configurar a implantação do Oracle BRM 12 na sua versão Cloud Native Deployment do BRM.
Agora vamos instalar o Helm:
curl -LO https://git.io/get_helm.sh
chmod +x ./helm.sh
./get_helm.sh
Efectue a configuração inicial do timão:
helm init -history-max 200
Agora o seu ambiente está pronto para iniciar a implantação do Oracle BRM 12. Obviamente você tem que realizar alguns passos de preparação na sua instância do Banco de Dados Oracle para que o Oracle BRM possa utilizá-lo. A explicação detalhada desses passos excede o escopo deste artigo, mas você pode encontrar todas as informações necessárias sobre isso na documentação do Oracle BRM ou entre em contato conosco e teremos prazer em ajudá-lo.
Implantação do Oracle BRM 12 no cluster Kubernetes
Primeiro, você tem que carregar todas as imagens docker BRM fornecidas para o seu ambiente docker. O Oracle fornece-lhe dois Helm charts - o primeiro (oc-cn-init-db-helm-chart) inicializa o seu esquema de BD para o preparar para o BRM, e o outro (oc-cn-helm-chart) implementa vários componentes BRM à sua escolha.
Tem de começar por implementar o oc-cn-init-db-helm-chart. Primeiro, tem de carregar a imagem Docker do init_db no repositório Docker:
docker load -input oc-cn-brm-init-db-12.0.0.2.0.tar
Depois que a imagem for carregada com sucesso, extraia oc-cn-init-db-helm-chart e copie values.yaml para override-values.yaml. Em seguida, edite override-values.yaml de acordo com a documentação Oracle BRM 12 Cloud Native Deployment. Deixe o valor "imageRepository" em branco. Na secção "wallet", defina as credenciais para a carteira Oracle. Defina as configurações de conexão do banco de dados na seção "db". Depois de configurar todos os valores necessários no arquivo override-values.yaml, você pode implantar a imagem init_db no seu cluster Kubernetes usando o gráfico Helm:
helm install oc-cn-init-db-helm-chart -name initdb -values oc-cn-init-db-helm- chart/override-values.yaml
Agora, o helm implantará a imagem de inicialização do BRM DB no cluster do Kubernetes e começará a preparar o seu banco de dados para o BRM.
Pode verificar o estado da sua implementação com:
helm status initdb
Após algum tempo, o pod initdb terminará de preparar a sua base de dados e pode eliminar a implementação atual da imagem initdb:
helm delete initdb
Agora descompacte oc-cn-helm-chart.tgz e copie values.yaml para override-values.yaml. Agora edite vários campos em override-values.yaml de acordo com as instruções encontradas em Oracle BRM 12 Cloud Native Deployment. Você pode copiar alguns campos (como as seções "wallet" e "db") do gráfico init-db que usou anteriormente.
Utilize o comando "docker load -input" para carregar todas as imagens docker que pretende implementar no repositório Docker.
Em seguida, pode implementar o Helm chart:
helm install oc-cn-helm-chart -name occn-ps2 -namespace ocgbu -values oc-cn-helm-chart/override-values.yaml
Agora o BRM será implantado no seu cluster Kubernetes local. Pode encontrar mais algumas dicas sobre como monitorizar o cluster e diagnosticar problemas no nosso artigo anterior.
Também pode monitorizar o seu cluster Kubernetes com o Kubernetes Dashboard:
painel de controlo do minikube
O painel de controlo será aberto numa nova janela do browser.
Conclusão
Este artigo orienta-o nas principais etapas da implantação do Oracle BRM Cloud Native Deployment em um cluster minikube Kubernetes local. Pode usar essa implantação para fins de teste e desenvolvimento. Se precisar de ajuda adicional para implantar o Oracle BRM para o minikube, se precisar de sugestões ou se estiver à procura de um fornecedor de soluções fiável para todas as suas necessidades de faturação, não hesite em contactar-nos.