Exastro on Docker Compose - Online

目的

本書では、Exastro IT Automation を利用する際に必要となる、Exastro Platform および Exastro IT Automation を Docker もしくは Podman 上に導入する手順について説明します。

特徴

最も簡単に Exastro IT Automation の利用を開始するための導入方法となります。
高い可用性やサービスレベルを必要とする場合には、Kubernetes 版 の利用を推奨します。

前提条件

  • デプロイ環境

    動作確認が取れているコンテナ環境の最小要求リソースとバージョンは下記のとおりです。
    表 25 ハードウェア要件(最小構成)

    リソース種別

    要求リソース

    CPU

    2 Cores (3.0 GHz, x86_64)

    Memory

    4GB

    Storage (Container image size)

    35GB ※

    表 26 ハードウェア要件(推奨構成)

    リソース種別

    要求リソース

    CPU

    4 Cores (3.0 GHz, x86_64)

    Memory

    16GB

    Storage (Container image size)

    120GB

※ パーテーション単位でディスク容量が必要です。
▼RHEL
・コンテナイメージ
/home/ユーザ名/.local 25GB
・Exastroのデータ
/home/ユーザ名/exastro-docker-compose 10GB(目安です。使い方によって大きく異なります。)

▼RHEL 以外
・コンテナイメージ
/var/lib/ 25GB
・Exastroのデータ
/home/ユーザ名/exastro-docker-compose 10GB(目安です。使い方によって大きく異なります。)

警告

最小構成における要求リソースはGitLabコンテナとOASEコンテナのデプロイでnを選択した場合の値です。GitLabコンテナとOASEコンテナのデプロイをする場合は、その分のリソースが別途必要となります。
データベースおよびファイルの永続化のために、別途ストレージ領域を用意する必要があります。
Storage サイズは、ユーザーの利用状況によるためあくまで目安となります。必要に応じて容量を確保してください。
  • 通信要件

    表 27 通信要件

    用途

    説明

    通信元

    通信先

    デフォルト

    Exastro サービス用

    Exastro サービスとの接続に利用

    クライアント

    Exastro システム

    30080/tcp

    Exastro システム管理用

    Exastro システム管理機能に利用

    クライアント

    Exastro システム

    30081/tcp

    GitLab サービス用(オプション)

    AAP連携時の GitLab サービス接続に利用

    Ansible Automation Platform

    Exastro システム

    40080/tcp

    GitLab サービス用(オプション)

    GitLab サービス監視用

    Exastro システム

    Exastro システム

    40080/tcp

    資材取得

    GitHub、コンテナイメージ、導入パッケージなど

    Exastro システム

    インターネット

    443/tcp

  • 動作確認済みオペレーティングシステム

    以下は、動作確認済のバージョンとなります。

    表 28 オペレーティングシステム

    種別

    バージョン

    Red Hat Enterprise Linux (RHEL)

    バージョン 8.7, 9.2

    AlmaLinux

    バージョン 8.6, 8.7

    Ubuntu

    バージョン 22.04

Tip

RHEL 8.2 もしくは podman 4.x の初期バージョンでは、ルートレスモードで正常に名前解決ができない事象が報告されています。RHEL 8.3 以降のバージョンをご使用ください。

  • 動作確認済みコンテナプラットフォーム

    手動でインストールする際には、下記のコンテナプラットフォームを準備してください。 以下は、動作確認済のバージョンとなります。

    表 29 コンテナプラットフォーム

    ソフトウェア

    バージョン

    Podman Engine ※Podman 利用時

    バージョン 4.4

    Docker Compose ※Podman 利用時

    バージョン 2.20

    Docker Engine ※Docker 利用時

    バージョン 24

  • アプリケーション

    curlsudo コマンドが実行できる必要があります。

警告

Exastro のプロセスは一般ユーザ権限で起動する必要があります。(rootユーザーでのインストールはできません)
また、利用する一般ユーザは sudoer で、全操作権限を持っている必要があります。

事前準備

サービス公開用の URL を準備しておく必要があります。
表 30 例1) IPアドレスによるサービス公開

サービス

URL

Exastro サービス

http://172.16.0.1:30080

Exastro 管理用サービス

http://172.16.0.1:30081

GitLab サービス

http://172.16.0.1:40080

表 31 例2) ドメインによるサービス公開

サービス

URL

Exastro サービス

http://ita.example.com:30080

Exastro 管理用サービス

http://ita.example.com:30081

GitLab サービス

http://ita.example.com:40080

表 32 例3) LoadBalancer を経由したサービス公開

サービス

URL

Exastro サービス

https://ita.example.com

Exastro 管理用サービス

https://ita-mng.example.com

GitLab サービス

https://gitlab.example.com

Tip

HTTPSを利用する場合には、 LoadBalancer または、リバースプロキシを利用する必要があります。
LoadBalancer または、リバースプロキシを利用する場合は、別途準備をする必要があります。

インストール (自動)

注釈

インストーラがOSを判断して、DockerまたはPodmanを選択します。

注釈

インストールに失敗した場合は、 アンインストールコンテナ+データを削除する場合 または コンテナイメージを残す場合 を実施して、再度インストールを実施してください。
最も簡単なインストール方法はインストールスクリプトを利用するインストールです。
1回のコマンド実行と対話型による設定が可能です。
以下、ユーザーはtest_user、ホームディレクトリは/home/test_userで実行した例です。
リスト 105 インストールコマンド
sh <(curl -sf https://ita.exastro.org/setup) install
上記のコマンドを実行すると、システムが要件を満たしていることを確認し、Exastro の起動に必要なコンテナ環境の構築を始めます。
必要なパッケージなどのインストールが完了すると下記のように対話形式で設定値を投入することが可能です。
リスト 106 OASE コンテナデプロイ要否の確認
Deploy OASE containers? (y/n) [default: y]:
リスト 107 GitLab コンテナデプロイ要否の確認
Deploy GitLab container? (y/n) [default: n]:
リスト 108 パスワード自動生成の確認
# Exastro システムが利用する MariaDB のパスワードや、システム管理者のパスワード自動生成するか?
Generate all password and token automatically? (y/n) [default: y]:
リスト 109 Exastro サービスのURL
Input the Exastro service URL:

Tip

URLはポート番号まで指定してください。
ポート番号は、OSがRed Hat Enterprise Linuxの場合は30080、それ以外は80を指定してください。
リスト 110 Exastro 管理用サービスのURL
Input the Exastro management URL:

Tip

URLはポート番号まで指定してください。
ポート番号は、OSがRed Hat Enterprise Linuxの場合は30081、それ以外は81を指定してください。
リスト 111 GitLabのURL (上記の「GitLab コンテナデプロイ要否の確認」でyの場合)
Input the external URL of GitLab container [default: (nothing)]:

Tip

URLはポート番号まで指定してください。
ポート番号は40080を指定してください。
リスト 112 設定ファイルの生成の確認
System parametes are bellow.

System administrator password:    ********
Database password:                ********
OASE deployment                   true
MongoDB password                  ********
Service URL:                      http://ita.example.com:30080
Manegement URL:                   http://ita.example.com:30081
Docker GID:                       1000
Docker Socket path:               /run/user/1000/podman/podman.sock
GitLab deployment:                false

Generate .env file with these settings? (y/n) [default: n]:
y もしくは yes と入力すると、GitHub から Exastro システムの起動に必要な、Docker Compose ファイルのダウンロードやファイアウォールの設定投入が開始されます。
リスト 113 Exastro コンテナデプロイ実施の確認
Deploy Exastro containers now? (y/n) [default: n]:
詳細な設定を編集する場合は、 n もしくは no と入力し、以降の処理をスキップします。
そのまま Exastro システムのコンテナ群を起動する場合は、 y もしくは yes と入力します。
Exastro システムのデプロイには数分~数十分程度の時間が掛かります。(通信環境やサーバースペックによって状況は異なります。)
リスト 114 Exastro コンテナデプロイ実行中
Please wait for a little while. It will take 10 minutes or later..........
Exastro システムのデプロイが完了すると、サービス接続情報が出力されます。
リスト 115 サービス接続情報の出力
System manager page:
  URL:                http://ita.example.com:30081/
  Login user:         admin
  Initial password:   ******************

Organization page:
  URL:                http://ita.example.com:30080/{{ Organization ID }}/platform


GitLab service is has completely started!

Run creation organization command:
   bash /home/test_user/exastro-docker-compose/create-organization.sh


! ! ! ! ! ! ! ! ! ! ! ! ! ! !
! ! !   C A U T I O N   ! ! !
! ! ! ! ! ! ! ! ! ! ! ! ! ! !

Be sure to reboot the you host operating system to ensure proper system operation.

Reboot now? (y/n) [default: y]: y
必要に応じて出力された接続情報を保存し、y もしくは yes と入力し再起動を実施します。

注釈

生成された各種パラメータは、~/exastro-docker-compose/.env に保存されています。

オーガナイゼーションの作成

再起動後に再度ログインをしたら、オーガナイゼーションの作成を行います。
オーガナイゼーションの詳細については、 Organization (オーガナイゼーション) を参照してください。

Tip

GitLab が完全に立ち上がっていない状態では、オーガナイゼーションの作成はできません。

ワークスペースの作成

作成したオーガナイゼーションにログインをしたら、ワークスペースを作成する必要があります。
ワークスペースの作成については、Workspace (ワークスペース) を参照してください。

Let's Try!!

Exastro IT Automation のトレーニングのために、 クイックスタート を実施することを推奨します。
クイックスタートを実施することで、Exastro IT Automation の使い方や、パラメータシートの設計方針についての理解の手助けになるでしょう。

アップグレード

Exastro システムのアップグレード方法について紹介します。

アップグレードの準備

警告

アップグレード実施前に、バックアップを取得しておくことを推奨します。
バックアップ対象は ~/exastro-docker-compose/.volumes です。

リポジトリの更新

exastro-docker-composeリポジトリを更新します。
リスト 116 コマンド
1# exastro-docker-composeリポジトリの確認
2cd ~/exastro-docker-compose
3git pull

デフォルト設定値の更新の確認

デフォルト値の更新を確認します。
インストール時に作成した設定ファイル ~/exastro-docker-compose/.env とアップグレード後の設定ファイルを比較します。
リスト 117 コマンド
cd ~/exastro-docker-compose

# OSがAlmaLinuxまたはUbuntuの場合
diff .env .env.docker.sample
# OSがRed Hat Enterprise Linuxの場合
diff .env .env.podman.sample

設定値の更新

デフォルト設定値の比較結果から、項目の追加などにより設定値の追加が必要な場合は更新をしてください。
設定値の更新が不要であればこの手順はスキップしてください。

アップグレード

アップグレード実施

アップグレードを実施します。
リスト 118 コマンド
sh <(curl -sf https://ita.exastro.org/setup) install

アンインストール

Exastro システムのアンインストール方法について紹介します。

アンインストールの準備

警告

アンインストール実施前に、バックアップを取得しておくことを推奨します。
バックアップ対象は ~/exastro-docker-compose/.volumes です。

アンインストール

コンテナ+データを削除する場合

コンテナイメージも削除されます。
リスト 119 コマンド
sh <(curl -sf https://ita.exastro.org/setup) remove -c

コンテナイメージを残す場合

コンテナ削除
リスト 120 コマンド
sh <(curl -sf https://ita.exastro.org/setup) remove
volumeを削除
リスト 121 コマンド
docker volume rm $(docker volume ls -qf dangling=true)

# volumeが消えていることを確認
docker volume ls
.volumesを削除
リスト 122 コマンド
cd ~/exastro-docker-compose

sudo rm -rf .volumes
.volumesを再作成

注釈

再インストールする場合は下記を実施してください。
リスト 123 コマンド
cd ~/exastro-docker-compose

git checkout .volumes