LoginSignup
1
0

More than 1 year has passed since last update.

PCで FIWARE ( Orion Context Broker ) を体験する、 MIRACLE LINUX 8.4 も試してみる

Last updated at Posted at 2022-03-31

概要

FIWAREを体験することを目的に、PCの仮想環境(VirtualBox)上で動かします。
CentOSを使いたいところですが、CentOS8が2021年末にサポート終了となりましたので、今回はMIRACLE LINUX 8.4を仮想OSとして試します。

今回利用するDockerもRedHatでサポートされなくなりまして、こちらもPodmanに移行する?KubernetesとかOpenShiftだからDockerなんかもう使えない人達ってそんなに多いの??などなど、悩ましく感じております。。。

ご注意

この記事では、PCの仮想環境(VirtualBox)上でFIWAREを動かすという体験を目的としており、FIWAREの構築やサービス開発を目的とした解説ではありません。
より実践的に試されたい方は、MIRACLE LINUXを飛ばし、パブリッククラウドサービスのDocker環境でFIWAREを試してください。

作業環境

アプリケーション FIWARE
Docker docker-compose 環境
仮想マシン MIRACLE LINUX 8.4
仮想環境 VirtualBox
OS Windows10
ノートPC

FIWAREとは

FIWAREとはスマートなソリューションを構築するためのオープンソース・プラットフォームです。
特徴として、IoTなどのビッグデータをもとに様々なサービスを開発/提供するのに必要となる標準APIの実装や、関連するシステム構築などを容易に行うことができます。
活用例として、様々なインフラやサービスが多種多様なビッグデータを生成する都市規模のビッグデータにさえ対応可能な仕組みになっていることから、日本でもスマートシティへの取組で注目されています。

このような課題やニーズはデータを活用したサービス開発に共通したもので、実現するためのプラットフォームはFIWAREだけではなく、他にも多くの団体や企業が取組を行っています。
ただ、オープンソース・プラットフォームであり、docker上で比較的簡単に動作するため、このようなプラットフォームをPCで動かして体験してみるのはお手軽ではないかと考えました。

FIWARE Orion Context Broker

rion Context Brokerサポートページはこちら
https://fiware-orion.letsfiware.jp/
詳細はこちらの資料がお勧めです。
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.6.0対応)

FIWARE でスマートなソリューションを開発するのに、データ(≒コンテキスト情報)の扱いが重要になります。
FIWARE Orion Context BrokerはFIWAREの一部ですが、コンテキスト情報を扱うパブリッシュ/サブスクライブコンテキストブローカーGEを実装したものです。
FIWARE NGSI APIのインターフェイスを提供し、IoTセンサーや他システムとRestfulなAPIによってコンテキスト情報を収集したり連携したりする機能を実現します。

MIRACLE LINUX 8.4 も試します

CentOSの移行先OSを考えている最中のため、MIRACLE LINUXを久しぶりに使ってみます。
開発されているサイバートラスト株式会社様(日本企業)は CentOS 8 とバイナリ互換を維持した最新の Linux OS を 2021 年 10 月よりライセンスフリーで公開 されています。
MIRACLE LINUX 8.4はRed Hat Enterprise Linux 8.4がベースになっているとのことです。
私見としては、日本企業のOSサポートは環境移行プロジェクトでは魅力的ですし、日本企業の日本製Linuxが普及すると良いなーという想いもあります。

MIRACLE LINUX 8.4のダウンロード

MIRACLE LINUXから MIRACLELINUX-8.4-minimal-x86_64.iso (2022/04/27時点最新版)をダウンロードします。

VirtualBoxの仮想マシンへMIRACLE LINUX 8.4をインストール

仮想マシンの設定

WS20220427_000001.JPG

WS20220427_000002.JPG

WS20220427_000003.JPG

WS20220427_000004.JPG

WS20220427_000005.JPG

WS20220427_000006.JPG

作成した仮想マシン > 設定 > ストレージ で、ダウンロードした MIRACLELINUX-8.4-minimal-x86_64.iso を「ディスクファイルを追加」で光学ドライブへ追加します
属性 > 光学ドライブの右端、DVDアイコンを左クリックすると「ディスクファイルを追加」が出てきます
WS20220427_000008.JPG

作成した仮想マシン > 設定 > ネットワーク > アダプター2 で 「ホストオンリーアダプター」を有効にします
WS20220427_000009.JPG

ツール > ネットワーク > 作成 でアダプターを作成します
IPv4 アドレスとネットマスク(多分、環境によって異なる)がOSの設定で必要になりますので、メモしておいてください
例の場合、IPv4 アドレス 192.168.56.1 、サブネットマスク 255.255.255.0(/24) になります
WS20220427_000010.JPG

仮想マシン へ MIRACLE LINUX 8.4 をインストール

仮想マシンを起動します

注意 MacのBOOTCAMPでVirtualBoxを使う場合、右Hostkeyが無くて困ります
キャプチャー解除ができないとVirtualBoxから抜けられなくなります
作成した仮想マシンが起動後 入力 > キーボード > キーボードの設定 で、「ホストキーの組合せ」の「ショートカット」を変更してください > Left Windows などに変更してください。

解像度が不足し、やりづらいですが、BOOTCAMP環境では解像度の変更が上手くいかず。
インストール後に対応することにして、インストール作業を進めていきます。
解像度の変更方法
最初の画面で、Tabキーを押した後に表示されるコマンドの後に"[半角スペース]inst.resolution=1360×768"など入力し、Enterキーを押します。
WS202204301_000000.JPG

起動後、最初の画面でEnter
WS20220428_000000.JPG

WS20220428_000001.JPG

設定します(解像度の関係で、ユーザーの設定から下が表示されず)
WS20220428_000004.JPG

東京を指定
WS20220430_000000.JPG

今回は設定変更せず、左上の完了を押す
WS20220428_000005.JPG

ここをクリックして「rootパスワード」を表示し、設定します
WS20220430_000001.JPG

ここまで設定すれば、右下の「インストールの開始」ボタンが押せるようになります
WS20220430_000004.JPG

インストール完了後にシステムの再起動を押します
WS20220430_000005.JPG

rootでログインできることを確認します
WS20220430_000006.JPG

仮想マシンを停止します

shutdown -h now

仮想マシンのネットワーク設定(ホストオンリーアダプター)

仮想マシンを起動し、rootでログインします

NetworkManagert TUI を nmtui コマンドで起動、ネットワークの設定を行います

nmtui

Edit a connection を選択しEnter
WS20220430_000000.JPG

以降、環境によって設定内容が異なる恐れがあります。

enp0s3 の設定例

インターフェース1、NATについての設定です。

矢印キーやTabキーでenp0s3を選択しEnter
WS20220430_000001.JPG

設定の変更方法
選択したい項目を矢印キーやTabキーで選択、直接入力かEnterキーを押せば選択できます
チェック[X]を入力する場合は該当箇所を選択状態にしてからSpaceキーを押すと[X]と[ ]が交互に表示されます。
設定できれば OK でEnterキーを押してください(やり直したい場合は Cancel )

enp0s3 の設定例
WS20220430_000003.JPG

設定できれば OK でEnterキーを押すと、前の画面になります

enp0s8 の設定例

インターフェース2、ホストオンリーアダプターについての設定です。

矢印キーやTabキーでenp0s8を選択しEnter
WS20220430_000004.JPG

enp0s8 の設定例
IPv4 CONFIGURATION のを選択し、Enterキーを押すと詳細項目が表示され、設定できるようになります

例の場合、ホストオンリーアダプタでメモしたIPv4 アドレス 192.168.56.1 、サブネットマスク 255.255.255.0(/24) でしたので、このネットワーク内のIPv4 アドレス 192.168.56.2 、サブネットマスク 255.255.255.0(/24) をenp0s8に設定しています。
WS20220430_000005.JPG

設定できれば OK でEnterキーを押すと、前の画面になります
Back で戻り、 OK でnmtuiを終了します
WS20220430_000006.JPG
WS20220430_000008.JPG

DNSサーバ関連の対策として、GoogleのDNSサーバ IPアドレス 8.8.8.8 を追加。
/etc/resolv.conf の最後に nameserver 8.8.8.8 を追記します。
nano の操作: 保存 Ctrl+s 、nanoの終了 Ctrl+xです

nano /etc/resolv.conf

変更例
WS20220503_000000.JPG

設定を反映するため NetworkManager を再起動します

systemctl restart NetworkManager

ping でインターネット接続ができることを確認します
止める方法 Ctrl + c

ping google.com

Docker環境の構築

Dockerをインストールしますが、通常の手順ではエラーになりました
現象:
systemctl start docker で起動すると「Failed to start docker.service: Unit not found.」エラーが出て起動できない。

現時点の方針:
docker の CentOS repository を追加する

今後の課題:
docker の repositoryでCentOS互換だと以下を追加します。。。
https://download.docker.com/linux/centos/docker-ce.repo
CentOSの移行先を検討していましたが、Dockerも含めて考えないといけないですかね。

yum に docker の repositoryを追加するため、yum-utilsをインストールします

yum install -y yum-utils

yum に docker の repositoryを追加

yum-config-manager --add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

docker-ce-stableが追加されていることを確認します

dnf repolist

WS20220501_000000.JPG

インストールします

yum install -y docker-ce docker-ce-cli containerd.io

Dockerを起動

systemctl start docker

Dockerの自動起動を有効

systemctl enable docker

作業用のグループ fiware とユーザー fiw01 を作成します
sudo コマンドが使えるように wheel グループにも所属させます

groupadd fiware
useradd -g fiware fiw01
usermod -aG wheel fiw01

ユーザー fiw01 のパスワードを設定します

passwd fiw01

ユーザー fiw01 が Docker を利用できるようにします
設定したパスワードを忘れないでください

usermod -a -G docker fiw01

ユーザーを fiw01 へ切り替えるだけで良いのですが、確認のため再起動しておきます

shutdown -r now

ユーザー fiw01 でログインし、以降は fiw01 で作業します。

docker-composeのインストール

docker-compose をダウンロードします

sudo curl -L \
https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-linux-x86_64 \
-o /usr/local/bin/docker-compose

ダウンロードしたファイルに実行権限を付与します

sudo chmod +x /usr/local/bin/docker-compose

例:
WS20220503_000001.JPG

確認します

docker-compose --version

例:
WS20220503_000002.JPG

Docker環境にFIWARE Orion Context Broker を導入

Orion Context Broker は Docker hub で公式の Orion docker コンテナを使用してインストールすることができます。
Docker で Orion Context Broker を使用する方法
github.com/telefonicaid/fiware-orion

FIWARE用のディレクトリを作成し移動

mkdir ~/fiware
cd ~/fiware

~/fiware/docker-compose.yml を作成

nano ~/fiware/docker-compose.yml

WS20220503_000003.JPG

~/fiware/docker-compose.yml
version: "3"

services:
  orion:
    image: fiware/orion
    ports:
      - "1026:1026"
    depends_on:
      - mongo
    command: -dbhost mongo

  mongo:
    image: mongo:4.4
    command: --nojournal

WS20220503_000006.JPG

~/fiware で sudo docker-compose up を実行します

cd ~/fiware
sudo /usr/local/bin/docker-compose up

Docker Hub の公開リポジトリから Orion Context Broker と MongoDB のダウンロードが開始されます、終了後に自動的に起動します
WS20220503_000009.JPG

Orion Context Broker と MongoDB が実行中の例
WS20220503_000011.JPG

Orion Context Broker の動作試験

Orion Context Broker のバージョンを確認し、動作試験をします

OS Windows10 のWebブラウザを開き、仮想マシン MIRACLE LINUX 8.4 の enp0s8 のポート番号 1026 に対してAPIアクセスします。

具体的には enp0s8に設定したIPアドレスが192.168.56.2の場合、URLとして http://192.168.56.2:1026/version を入力しアクセスします。
すると Orion Context Broker のバージョンがAPIの応答として表示されます。

例:
WS20220503_000012.JPG

Orion Context Broker と MongoDB は Ctrl + c で停止できます。
仮想マシンの停止方法は以下になります。

sudo shutdown -h now
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0