UCIDM パッケージ
UCIDM は RPM パッケージで提供します。RPM パッケージの入手方法は弊社のサポート担当者にご確認ください。
実際には install.sh などを同梱した tar.gz ファイルになります。
初回インストールするとき
ここでは RHEL9 の 1.0.0-1 というバージョンを例にインストール作業の説明をしますが、適宜お手持ちの OS, 最新のバージョンに置き換えて作業してください。
基本的には /opt/osstech 配下に各種ファイルがインストールされます。次のコマンドでインストールされた内容を確認できます。
インストールされるものの主な構成について説明します。
- /opt/osstech/bin: コマンドラインで使う運用ツール
- /opt/osstech/etc: ミドルウェアの設定ファイルなど
- /opt/osstech/share/ucidm:
compose.ymlを始め、アプリケーションやミドルウェアのサンプルファイルなど - /opt/osstech/var/backup/ucidm: ucidm のバックアップディレクトリ
- /var/log/osstech/ucidm: ucidm のログディレクトリ
- /var/opt/osstech/lib/ucidm: compose サービスを管理するホームディレクトリ
systemd-container パッケージのインストール
systemd のユーザーモード、ならびに docker の rootless モードを使うには ucidm ユーザーでログインしたときに設定される環境変数が必要になります。直接 ucidm ユーザーでログインできないときなどに machinectl を使ってユーザーを切り替えられます。
これらの環境変数を設定したり、machinectl コマンドを使えるよう systemd-container パッケージをインストールしておきます。
rsyslog の umask の設定
rsyslog サービスでは umask が 0066 (0600 でログファイル生成) と設定されています。
systemd から起動される rsyslog サービスの umask 設定を変更するために /etc/rsyslog.conf に設定を追加します。次のように $Umask と $FileCreateMode をグローバル設定として追加します。
$FileCreateMode を 0600 に設定することで他に特別な設定をしないときは変更前と同じ権限でログファイルが生成されます。
rsyslog サービスを再起動します。
nf_tables モジュールのロード
nf_tables モジュールがロードされているかどうかを確認します。lsmod のコマンドで次の例のような出力があればロードされています。
上記 lsmod のコマンドで出力がない場合は、以下コマンドで nf_tables モジュールのロードを行ってください。
ucidm ユーザーの設定
osstech-ucidm をインストールすると ucidm ユーザーが作成されます。docker グループが設定されていることを確認します。
UCIDM は Docker Compose を使ってコンテナアプリケーションとして動作します。
セキュリティ強化の観点から、コンテナを root ユーザーではなく、非特権ユーザーで実行することが推奨されています。このことを rootless モード と呼び、非特権ユーザがコンテナを作成、実行、管理できます。
ここでは非特権ユーザーとして ucidm というユーザー/グループを作成します。お客様の環境ですでに適切なユーザーが存在するときは任意のユーザー/グループを使ってもかまいません。
インストール直後はパスワードが未設定になります。任意のパスワードを設定します。
ucidm ユーザーのログイン確認と docker サービスの初期設定
別の端末を起動し、先ほど設定したパスワードで ucidm でログインできることを確認します。
もし ucidm ユーザーで直接ログインしないときは machinectl コマンドでユーザーを切り替える ようにしてください。
Docker 社のドキュメントをベースに ucidm ユーザーが docker サービスを起動できるように初期設定します。
dockerd-rootless-setuptool.sh という setup スクリプトが用意されているので実行します。
もし事前条件を満たしていないエラーメッセージが表示されたらその内容を設定してから再度 setup スクリプトを実行します。
正常にインストールされた場合、実行結果ログに表示されている DOCKER_HOST と次の rootless の DOCKER ENDPOINT が一致していることを確認します。
systemd をユーザー権限で実行して docker サービスが起動していることを確認します。
docker コマンドで hello-world コンテナを実行できれば成功です。
OS の再起動時に docker サービスが起動する設定になっていることを確認します。
パッケージのアップグレード
アップグレード前に一度バックアップを取得することを推奨します。 バックアップの取得方法は バックアップ の項を参照してください。
アップグレード前に既存サービスを停止させます。
新しいバージョンの install.sh を実行してください。
バージョンが上がったことを確認してください。
パッケージのダウングレード
コンテナが起動中の場合は一度停止してください。
古いバージョンの tar.gz ファイル内に含まれるrpmファイルを直接指定してダウングレードします。
ダウングレード出来たことを確認してください。