Oracle BRM 12 Cloud-Native развертывание с помощью Minikube

Oracle BRM "родное" облако

Подведите итоги

Подведите итоги

ChatGPT

Близнецы

Клод

Grok

Недоумение

Поделиться на

24/02/2020

Оглавление

В одной из наших предыдущих статей мы уже представляли развертывание Oracle BRM 12 Cloud Native Deployment версия для Oracle Cloud. Oracle Cloud - это очень хорошо разработанная облачная среда, которая также доступна по цене и постоянно развивается. Однако, если Вы хотите развернуть Oracle BRM 12 в Oracle Cloud, Вам придется использовать некоторые несвободные функции и компоненты Oracle Cloud, которые Вы можете бесплатно тестировать только в течение 30 дней. После этого Вам придется перейти на платный аккаунт, если Вы хотите продолжать пользоваться им.

Архитектура развертывания Oracle BRM Cloud Native
Архитектура развертывания Oracle BRM Cloud-Native

У Вас также есть другой вариант, если Вы хотите протестировать Oracle BRM 12 Cloud Native Deployment. Вы можете пойти на локальное развертывание и развернуть BRM на своих локальных серверах. Основная цель этой статьи - показать Вам, как Вы можете этого добиться. В этой статье Вы узнаете, как создать и запустить локальный кластер Kubernetes с помощью Minikube, а также как развернуть Oracle BRM 12 в Ваш только что созданный и настроенный кластер. Обратите внимание, что Minikube подходит только для целей тестирования и разработки, и Вы не должны использовать его в производственной среде. Давайте рассмотрим конкретные компоненты нашей системы, которые мы будем использовать, и как их установить.

О Oracle Linux 8

Мы будем основывать наше решение на операционной системе Linux, а именно Oracle Linux версии 8. Этот дистрибутив Linux предоставлен компанией Oracle и доступен бесплатно. Он основан на Red Hat Enterprise Linux. Для этой операционной системы Вы также можете получить коммерческую техническую поддержку, если она Вам понадобится. Стоит также отметить, что Oracle Cloud работает в основном на серверах Oracle Linux.

Для целей данной статьи мы будем использовать Oracle Linux версии 8. Конечно, Вы можете использовать и другие дистрибутивы Linux, но инструкции по подготовке среды могут отличаться в зависимости от этого. Если Вы хотите использовать Oracle Linux, Вы можете свободно скачать его с Oracle Software Delivery Cloud или со многих зеркальных сайтов, доступных по всему миру.

Вы можете установить Oracle Linux непосредственно на свои серверы или внутри виртуальной машины. В последнем случае Ваше программное обеспечение для виртуализации должно поддерживать вложенную виртуализацию, если Вы хотите точно следовать инструкциям в этой статье.

После установки Oracle Linux обязательно обновите пакеты программного обеспечения до последних версий, прежде чем продолжить работу:

sudo yum update

Затем установите некоторые другие необходимые пакеты:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

Теперь Вы готовы начать подготовку Вашего кластера Kubernetes. Сначала мы установим Docker.

Установка Docker

Docker - это набор продуктов, который позволяет Вам развертывать и запускать контейнерное программное обеспечение. Контейнеры - это программные пакеты, которые связывают собственное программное обеспечение, конфигурацию и все необходимые библиотеки в один пакет, называемый контейнером.

Здесь приведены инструкции по установке Docker на 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

Чтобы включить 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, который подходит для целей тестирования и разработки. Мы развернем Oracle BRM 12 Cloud Native Deployment, который является контейнерной версией Oracle BRM, на кластере Minikube Kubernetes.

Теперь установите 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/

Теперь мы можем запустить 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 7м54с

coredns-6955765f44-fd2lt 1/1 Выполняется 0 7м54с

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 7м54с

kube-scheduler-minikube 1/1 Выполняется 0 7m46s

storage-provisioner 1/1 Выполняется 0 7m52s

Загрузите переменные окружения, необходимые для работы с minikube и docker, в Ваше окружение:

eval $(minikube docker-env)

Нам нужен дополнительный компонент, прежде чем мы развернем BRM на нашем вновь созданном кластере - Helm.

Установка Helm

Helm - это менеджер пакетов для Kubernetes. Диаграммы Helm используются для управления, установки и обновления Вашего кластера Kubernetes. Oracle комплектует диаграммы Helm, необходимые для развертывания и настройки Oracle BRM 12, в своей версии BRM Cloud Native Deployment.

Теперь давайте установим 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 Database, чтобы Oracle BRM мог его использовать. Подробное объяснение этих шагов выходит за рамки данной статьи, но Вы можете найти всю необходимую информацию об этом в документации Oracle BRM или связаться с нами, и мы будем рады помочь Вам.

Развертывание Oracle BRM 12 в кластере Kubernetes

Сначала Вам необходимо загрузить все предоставленные образы docker BRM в Вашу среду docker. Oracle предоставляет Вам две схемы Helm - первая (oc-cn-init-db-helm-chart) инициализирует схему Вашей БД, чтобы подготовить ее для BRM, а вторая (oc-cn-helm-chart) развертывает различные компоненты BRM, которые Вы выбираете.

Вам нужно начать с развертывания oc-cn-init-db-helm-chart. Сначала Вы должны загрузить Docker-образ init_db в репозиторий Docker:

docker load -input oc-cn-brm-init-db-12.0.0.2.0.tar

После успешной загрузки образа, извлеките oc-cn-init-db-helm-chart и скопируйте values.yaml в override-values.yaml. Затем отредактируйте override-values.yaml в соответствии с документацией Oracle BRM 12 Cloud Native Deployment. Оставьте значение "imageRepository" пустым. В разделе "wallet" установите учетные данные для кошелька Oracle. В разделе "db" Вы должны задать параметры подключения к базе данных. После того, как Вы настроите все необходимые значения в файле override-values.yaml, Вы можете развернуть образ init_db на Вашем кластере Kubernetes с помощью диаграммы Helm:

helm install oc-cn-init-db-helm-chart -name initdb -values oc-cn-init-db-helm- chart/override-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. Теперь отредактируйте различные поля в файле override-values.yaml в соответствии с инструкциями, приведенными в Oracle BRM 12 Cloud Native Deployment. Вы можете скопировать некоторые поля (например, разделы "wallet" и "db") из диаграммы init-db, которую Вы использовали ранее.

Используйте команду "docker load -input" для загрузки всех образов докеров, которые Вы хотите развернуть в хранилище Docker.

Затем Вы можете развернуть диаграмму Helm:

helm install oc-cn-helm-chart -name occn-ps2 -namespace ocgbu -values oc-cn-helm-chart/override-values.yaml

Теперь BRM развернется в Вашем локальном кластере Kubernetes. Дополнительные советы по мониторингу кластера и диагностике проблем Вы можете найти в нашей предыдущей статье.

Вы также можете контролировать свой кластер Kubernetes с помощью Kubernetes Dashboard:

приборная панель minikube

Приборная панель будет открыта в новом окне браузера.

Приборная панель Kubernetes

Заключение

Эта статья проведет Вас через основные шаги развертывания Oracle BRM Cloud Native Deployment на локальном кластере minikube Kubernetes. Вы можете использовать это развертывание для целей тестирования и разработки. Если Вам нужна дополнительная помощь в развертывании Oracle BRM в minikube, нужны предложения, или если Вы ищете надежного поставщика решений для всех Ваших потребностей в биллинге, не стесняйтесь обращаться к нам.

Изображение Aleš Pristovnik
Алеш Пристовник
Алесь Пристовник является генеральным директором компании Tridens, специализирующейся на программном обеспечении для зарядки EV, абонементах и биллинге Oracle BRM. У него большой опыт работы в ИТ-индустрии, он работал в нескольких крупных компаниях. Он страстно любит технологии и инновации, и в настоящее время его внимание сосредоточено на разработке решений, которые повысят безопасность и эффективность автомобильной промышленности.

Получить новости в вашем почтовом ящике!


    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    гость

    2 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии