2.5.1 RPMパッケージ

RPMパッケージでは、中継サーバの設定に必要なファイル一式であるRPMパッケージついて以下の項目を記載します。

中継サーバの設定については「中継サーバの設定」、RPMパッケージのダウンロードについては「コントロールプレーン管理」を参照してください。

(1)RPMパッケージインストール前提条件

RPMパッケージをインストールするサーバの前提条件を以下に記載します。

(表)RPMパッケージインストール前提条件

項目 条件
OS
Linuxディストリビューション RHEL 8.8/8.9/8.10/9.2/9.3/9.4
Oracle Linux 8.8/8.9/8.10/9.2/9.3/9.4
SELinux disableモード、またはpermissiveモード
Swap off
Kernel Params N/A
Kernel Modules N/A
Package tarパッケージがインストールされていること。
System Services
  • nm-cloud-setup.service:無効
  • nm-cloud-setup.timer:無効
Network
  • Ports:3つのTCPポートを有効にする。
    (規定:21400、21401、21402)
  • ノードのIPアドレスは各々固有であること。
  • ノードはアウトポストのネットワークCIDRに属さないこと。
  • ノードにデフォルトルートが設定されていること。
  • Firewall:アウトポストネットワークCIDRはtrusted zoneのソースに追加する。
ハードウェア
メモリ 4GB+
CPU 2+ cores
Disk 20GB+
HTTP Proxy
認証 認証なし、または基本認証
CONNECT method Ops IのテナントURLのドメインに対し許可される
バージョンskew エージェントのバージョンがコントロールプレーンのバージョンより新しくなく、マイナーバージョン差が2以下であること。
例:コントロールプレーンのバージョン v1.29.x-k3s1-x.x.xに対し、エージェントのバージョンv1.27.x-k3s1-x.x.x、v1.28.x-k3s1-x.x.x、v1.29.x-k3s1-x.x.xが接続可能
エージェントサポートポリシー Ops Iのリリースにより提供されるエージェントのバージョンは、Ops Iを次バージョンにアップデートするまでサポートされる。
※アウトポストネットワーク CIDRは、アウトポストエージェントがポッドの実行に使用する仮想ネットワークのCIDRです。(規定:10.43.0.0/17)。アウトポストのネットワークCIDRのプレフィックスの長さは17以下としてください。


(2)RPMパッケージ内容

RPMパッケージの内容を以下に記載します。
インストールしたファイルは、「/etc/opsi/outpost/」下、「/opt/opsi/outpost/」下、および「/var/opt/opsi/outpost/」下に格納されます。

(表)RPMパッケージ内容

内容 説明
k3sバイナリデータ
k3s用systemdユニットファイル
-
chiselバイナリデータ
chisel用systemdユニットファイル
-
shimバイナリデータ systemdがshimを経由してk3s、chiselを起動する。
エージェントを初めて起動する際、Shimによりユーザー設定ファイルの秘匿情報(Ops Iトークン、HTTP proxy URL、エージェントトークン)が暗号化される。
システム設定ファイル エージェントの内部パラメータ。ユーザーは編集を行わない。
ユーザー設定用テンプレートファイル /etc/opsi/outpost/outpost-config.env.templateに格納されたテンプレートファイルを/etc/opsi/outpost/outpost-config.envとしてコピーし編集する。
コンテナイメージ -
コマンドスクリプト エージェント管理やトラブルシュートの収集をするコマンドスクリプトファイル。
実行するためには、root権限が必要。
opsiopctl.sh サブコマンドstart、stop、statusを用いて、起動、停止、状態監視を行う。詳細は「RPMパッケージのコマンドスクリプト」参照。
sysinfo.sh トラブルシュートのため、ノードの情報を収集する。
第三者ソフトウェア使用許諾条件書 /opt/opsi/outpost/license_set.zipに格納される。
※エージェントを使う際は、内容について必ずお読みの上、ご使用条件についてご承諾ください。


(3)RPMパッケージのコマンドスクリプト

RPMパッケージのコマンドスクリプトの実行例について説明します。
インストールされたコマンドファイルは/opt/opsi/outpost/bin/ に格納されています。


【アウトポストエージェントの起動:opsiopctl.sh start】

chiselとk3sのsystemdを起動します。

  • 返り値
    • 0:成功
    • 1:失敗
<実行例>

# ./opsiopctl.sh start
Are you sure to proceed? (y/n)
y
Starting Outpost Agent.
Starting chisel.service.
Starting k3s.service.
Started Outpost Agent successfully


【アウトポストエージェントの停止:opsiopctl.sh stop】

chiselとk3sのsystemdを停止します。

  • 返り値
    • 0:成功
    • 1:失敗
<実行例>

# ./opsiopctl.sh stop
Are you sure to proceed? (y/n)
y
Stopping Outpost Agent.
Stopping k3s.service.
Stopping chisel.service.
Stopped Outpost Agent successfully


【アウトポストエージェントの状態監視:opsiopctl.sh status】

chiselとk3sのsystemdがアクティブか調べます。

  • 返り値
    • 0:chisel、k3s両方有効
    • 1:少なくともどちらかが無効
<実行例>

# ./opsiopctl.sh status
Checking Outpost Agent status.
Checking chisel.service… active
Checking k3s.service… active.
Outpost Agent is active


【コンテナイメージの管理:opsiopctl.sh images】

  • オプション
    • --list、-l:イメージをリストアップする
    • --prune、-p:使用していないイメージをすべて削除する
  • 返り値
    • 0:成功
    • 1:失敗
<実行例>

# ./opsiopctl.sh images --list
IMAGE                                                                                 TAG            IMAGE ID           SIZE       PINNED
docker.io/dx-tool/dx-iac/quay.io/ansible/awx-ee                  outpost       b9f9a2bbde327   1.74GB   true
docker.io/dx-tool/dx-outposts/rancher/mirrored-pause        3.9-amd64  e6f1816883972   747kB    true
registry.Ops Iのドメイン/ops-i-system-engineers/awx-ee  1.0.0           6678656068e5a  478MB   false

# ./opsiopctl.sh images --prune
Deleting unused images…

Deleted: registry.Ops Iのドメイン/ops-i-system-engineers/awx-ee:v1.0.0
Deleted: registry.Ops Iのドメイン/ops-i-system-engineers/awx-ee:v2.0.0 

Deleted unused images successfully.


【トラブルシュートを目的とした情報収集:sysinfo.sh】

実行ログ出力:/var/opt/opsi/outpost/logs/sysinfo.log
結果出力:/var/opt/opsi/troubleshoot/timestamp.tar.gz

  • 返り値
    • 0:成功
    • 1:失敗
<実行例>

# ./sysinfo.sh
Collecting system info...
Archiving files into /var/opt/opsi/troubleshoot/20230518162009.tar.gz...
Completed.



(4)RPMパッケージのSignatureファイル

RPMパッケージの Signatureファイルは以下で構成されています。

  • digest.bin
  • pub.pem

以下のコマンドを実行することで、RPMパッケージを検証することができます。

【RPMパッケージの確認:openssl dgst】

<実行例>

# openssl dgst --sha256 -verify pub.pem -signature digest.bin opsi-outpost-RPMパッケージのバージョン.x86_64.rpm