MinikubeによるOracle BRM 12のクラウドネイティブデプロイメント

Oracle BRMクラウドネイティブ

シェアする

24/02/2020

目次

以前の記事で Oracle BRM 12 クラウドネイティブの展開 をOracleクラウドにバージョンアップしました。Oracleクラウドは非常によく設計されたクラウド環境で、価格も手頃で、常に進化しています。しかし、Oracle BRM 12をOracle Cloudにデプロイしたい場合、30日間だけ無料でテストできるOracle Cloudのいくつかの非フリーの機能とコンポーネントを使用する必要があります。その後、継続して使用する場合は、有料アカウントにアップグレードする必要があります。

Oracle BRMクラウドネイティブ展開アーキテクチャ
Oracle BRMクラウドネイティブ展開アーキテクチャ

また、Oracle BRM 12クラウドネイティブデプロイメントをテストしたい場合は、別のオプションがあります。オンプレミスのデプロイを行い、ローカルサーバにBRMをデプロイすることができます。この記事の主な目的は、その方法を紹介することです。この記事では、Minikubeを使用してローカルのKubernetesクラスタを作成し、実行する方法と、BRMをデプロイする方法を紹介します。 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 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は、コンテナ化されたソフトウェアのデプロイと実行を可能にする製品群です。コンテナは、コンテナと呼ばれる1つのパッケージに独自のソフトウェア、設定、およびすべての必要なライブラリをバンドルしたソフトウェアのバンドルです。

以下は、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

docker を有効にします。

systemctl ステータス docker

現在のユーザーのDockerを有効にします:

sudo usermod -aG docker

newgrp docker

kubectlのインストール

続けて、Kubernetesクラスタを制御するコマンドラインツールであるkubectlをインストールします。

最新の安定版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をコンテナ化したOracle BRM 12 Cloud Native Deploymentを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 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

storage-provisioner 1/1 実行中 0 7m52s

minikubeとdockerを動作させるために必要な環境変数を環境にロードします:

eval $(minikube docker-env)

新しく作成したクラスタにBRMをデプロイする前に、追加のコンポーネントが必要です。

Helmのインストール

HelmはKubernetesのパッケージマネージャです。HelmチャートはKubernetesクラスタの管理、インストール、アップグレードに使用されます。Oracleは、BRMのクラウドネイティブデプロイメントバージョンのOracle BRM 12のデプロイと設定に必要なHelmチャートをバンドルしています。

それでは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 BRMが使用できるように、Oracleデータベースインスタンスでいくつかの準備ステップを実行する必要があります。これらのステップの詳細な説明は、この記事の範囲を超えていますが、Oracle BRMのドキュメントで必要な情報を見つけることができます。

Kubernetes クラスタへの Oracle BRM 12 のデプロイ

まず、提供されているすべての docker BRM イメージを docker 環境にロードする必要があります。最初のもの (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をoverride-values.yamlにコピーします。その後、Oracle BRM 12 Cloud Native Deploymentのドキュメントに従ってoverride-values.yamlを編集します。imageRepository "の値は空白のままにしておきます。wallet "セクションでOracleウォレットの認証情報を設定します。db "セクションでデータベース接続設定を行います。override-values.yamlファイルに必要な値をすべて設定したら、Helmチャートを使ってinit_dbイメージをKubernetesクラスタにデプロイできます:

helm install oc-cn-init-db-helm-chart -name initdb -values oc-cn-init-db-helm- chart/override-values.yaml

ここでhelmはBRM DB初期化イメージをKubernetesクラスタにデプロイし、BRM用のデータベースの準備を始めます。
デプロイのステータスを確認するには

helm status initdb

しばらくすると、initdbポッドがデータベースの準備を終了するので、現在のinitdbイメージのデプロイメントを削除することができます:

helm delete initdb

oc-cn-helm-chart.tgzを解凍し、values.yamlをoverride-values.yamlにコピーします。Oracle BRM 12 Cloud Native Deploymentにある指示に従って、override-values.yamlの様々なフィールドを編集します。いくつかのフィールド("wallet "や "db "セクションなど)は、以前使用したinit-dbチャートからコピーできます。

docker load -input "コマンドを使って、Dockerリポジトリにデプロイしたい全てのDockerイメージをロードします。

その後、Helmチャートを展開できます:

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

これでBRMがローカルのKubernetesクラスタにデプロイされます。クラスタの監視と問題の診断に関するヒントは、以前の記事にあります。

Kubernetes DashboardでKubernetesクラスタを監視することもできます:

minikubeダッシュボード

ダッシュボードは新しいブラウザウィンドウで開きます。

Kubernetesダッシュボード

結論

この記事では、Oracle BRM Cloud Native Deploymentをローカルのminikube Kubernetesクラスタにデプロイする主な手順を説明します。このデプロイはテストや開発の目的で使用できます。デプロイに追加的なヘルプが必要な場合 オラクルBRM minikubeへのご登録、ご提案が必要な方、請求書発行に関するあらゆるニーズに対応できる信頼性の高いソリューションプロバイダーをお探しの方は、お気軽にお問い合わせください。

Aleš Pristovnikの写真
アレシュ・プリストフニク
Ales Pristovnikは、EV充電、サブスクリプション、Oracle BRMの課金に特化したソフトウェア会社、TridensのCEOである。IT業界には長い歴史があり、複数の大企業で働いた経験があります。テクノロジーとイノベーションに情熱を持ち、現在は自動車産業の安全性と効率性を向上させるソリューションの開発に力を注いでいます。

取得 ニュースを受信


    0 0 票数
    Article Rating
    サブスクライブ
    を通知する。
    ゲスト

    2 Comments
    最古の
    最新 最多投票数
    インライン フィードバック
    すべてのコメントを見る