Lenovo XClarity Administrator コンテナーを、前の手順でインストールした Docker ホストにインストールして構成します。
始める前に
ホスト・システムがハードウェアとソフトウェアの最小要件を満たしていることを確認します (ハードウェアおよびソフトウェアの必須条件 を参照)。
XClarity Administrator に必要なポートを含む、該当するポートがすべて有効になっていることを確認します (利用可能なポート を参照)。
ホスト・システムが、管理するデバイスと同じネットワークに存在していることを確認します。
ホスト OS と XClarity Administrator は、同じ NTP サーバーを使用する必要があります。
XClarity Administrator では、データの管理、ハードウェアの管理、OS のデプロイに使用するネットワークにカスタム名を使用できます (ネットワーク構成 を参照)。以下の手順の例では、eth0 を使用します。
XClarity Administrator では、データやハードウェアの管理に使用するネットワークにカスタム名を使用できます (ネットワーク構成 を参照)。以下の手順の例では、eth0 を使用します。
macvlan ネットワークがホスト・システムのカーネルにロードされている必要があります。ロードされているかどうかを確認するには、lsmod | grep macvlan コマンドを使用します。macvlan をカーネルにロードするには、modprobe macvlan コマンドを実行します。
同じホストで複数の XClarity Administrator コンテナーを実行する場合は、それぞれのコンテナーに固有の名前と IP アドレスを使用します。
ThinkServer および他のレガシー・デバイスを管理する場合は、IPv6 が有効化されている必要があります。
- /etc/docker/daemon.json ファイルを編集し、ipv6 鍵を true に設定して、fixed-cidr-v6 鍵を IPv6 サブネットに設定します。
以下に daemon ファイルの例を示します。
{
"ipv6": true,
"fixed-cidr-v6": "2001:db8:1::/64",
"experimental": true,
"ip6tables": true
}
- 次のコマンドを実行して Docker 構成ファイルをリロードします。
XClarity Administrator は特権コンテナーとして実行されません。
ファイアウォール規則が、
XClarity Administrator コンテナーで構成されていません。ホスト・システムのコンテナーにファイアウォール規則を追加するには、以下の手順を実行します。
次のコマンドを実行して、「NSPID」で識別される Docker プロセス ID を取得します。
docker inspect --format='{{ .State.Pid }}' "$CONTAINER_NAME"
次のコマンドを実行して、シンボリック・リンクを作成します。
LINKFILE="/var/run/netns/$NSPID"
mkdir -p /var/run/netns
/bin/rm -f "$LINKFILE"
ln -s "/proc/$NSPID/ns/net" "$LINKFILE"
次のコマンドを実行して、適切な iptables 規則を構成します。
ip netns exec $NSPID iptables -I OUTPUT -j DROP
次のコマンドを実行して、すべてのリンクが削除されていることを確認します。
手順
Docker Compose を使用して XClarity Administrator コンテナーをインストールするには、以下の手順を実行します。
- XClarity Administrator ダウンロード Web ページ から、XClarity Administrator 仮想アプライアンス・イメージ、環境ファイル、および YAML ファイルをクライアント・ワークステーションにダウンロードします。Web サイトにログオンし、付与されたアクセス・キーを使用してイメージをダウンロードします。
- 次のコマンドを実行して、XClarity Administrator コンテナー・イメージを Docker ホストにインポートします。
docker load -i lnvgy_sw_lxca_<ver>_anyos_noarch.tar.gz
- docker_compose.env ファイルを編集し、以下の環境変数を更新します。
- CONTAINER_NAME。各 XClarity Administrator インスタンスに Docker ボリュームを作成するために使用する固有のコンテナー名 (例: CONTAINER_NAME=LXCA-203)。
- ADDRESS。コンテナーの静的 IPv4 アドレス (例: ADDRESS=192.0.2.0)
- BACKUP_MOUNT。(任意) XClarity Administrator のバックアップの保存に使用するリモート共有のパス。これは、/mnt/backup_share である必要があります。
- FIRMWARE_MOUNT。(オプション) ファームウェア更新のリモート・リポジトリーとして使用するリモート共有のパス。これは、/mnt/fw_share である必要があります 。
以下に環境ファイルの例を示します。
CONTAINER_NAME="LXCA-203"
ADDRESS="192.0.2.0"
BACKUP_MOUNT="/mnt/backup_share"
FIRMWARE_MOUNT="/mnt/fw_share"
- docker_compose.yml を編集し、以下のプロパティを更新します。
- image プロパティに、手順 2 で使用したインストール・イメージ・ファイルの名前を設定します。
イメージ・ファイル名は、docker tag コマンドを使用して変更できます (例: 「latest」)。
- リモート共有をリモート・ファームウェア・リポジトリーとして使用し、XClarity Administrator のバックアップを保存する場合は、volumes プロパティで各リモート共有のホストのマウント・ポイントを設定します。
- dns プロパティを DNS サーバーの IP アドレスに設定します。
- コンテナーは、ホストで使用できるプロセッサーとメモリー・リソースのプールを共有します。必要に応じて、cpus およびメモリーのプロパティを設定することにより、リソース使用量の制限を定義します。
- parent プロパティに、コンテナーの macvlan インターフェースの親のインターフェースとして使用するホスト・システムのネットワーク・インターフェース名を設定します。このインターフェースは、コンテナーに割り当てるサブネットに直接アクセスできる必要があります。
- ネットワーク・トポロジーに応じてサブネットとゲートウェイを設定します。通常、subnet と gateway は、${ADDRESS} が属する管理ネットワークのものです。
- IPv6 をサポートする場合は、enable_ipv6 プロパティを true に設定し、ipv6_address プロパティを IPv6 アドレスに設定して、ネットワーク・トポロジーに応じて別の subnet および gateway プロパティのセットを追加します (通常、IPv6 アドレス が属する管理ネットワークに)。
IPv6 が有効な YML ファイルの例を次に示します。
version: '3.8'
services:
lxca:
image: lenovo/lxca:4.1.0-124
container_name: ${CONTAINER_NAME}
tty: true
stop_grace_period: 60s
volumes:
#bind mount example
- /home/<HOST_MOUNT_POINT_FOR_BACKUP>:${BACKUP_MOUNT}
- /home/<HOST_MOUNT_POINT_FOR_FW_SHARE>:${FIRMWARE_MOUNT}
#docker volume mount
- data:/opt/lenovo/lxca/data
- postgresql:/var/lib/postgresql
- log:/var/log
- confluent-etc:/etc/confluent
- confluent-log:/var/log/confluent
- confluent:/var/lib/confluent
- propconf:/opt/lenovo/lxca/bin/conf
- ssh:/etc/ssh
- xcat:/etc/xcat
networks:
lan:
ipv4_address: ${ADDRESS}
ipv6_address: "2001:8003:7d51:2003::2"
dns:
- 192.0.2.10
- 192.0.2.11
deploy:
resources:
limits:
cpus: "2.0"
memory: "8g"
volumes:
data:
name: ${CONTAINER_NAME}-data
postgresql:
name: ${CONTAINER_NAME}-postgresql
log:
name: ${CONTAINER_NAME}-log
confluent-etc:
name: ${CONTAINER_NAME}-confluent-etc
confluent-log:
name: ${CONTAINER_NAME}-confluent-log
confluent:
name: ${CONTAINER_NAME}-confluent
propconf:
name: ${CONTAINER_NAME}-propconf
ssh:
name: ${CONTAINER_NAME}-ssh
xcat:
name: ${CONTAINER_NAME}-xcat
networks:
lan:
name: lan
driver: macvlan
enable_ipv6: true
driver_opts:
parent: eth0
ipam:
config:
- subnet: 192.0.0.0/19
gateway: 192.0.30.1
- subnet: "2001:8003:7d51:2000::/80"
gateway: "2001:8003:7d51:2000::1"
- 次のコマンドを実行して、Docker にイメージをデプロイします。<ENV_FILENAME> は、手順 2 で作成した環境変数ファイルの名前です。
COMPOSE_HTTP_TIMEOUT=300 docker-compose –p ${CONTAINER_NAME} ––env–file <ENV_FILENAME> up -d