在剛安裝的 Docker 主機上安裝及配置 Lenovo XClarity Administrator 容器。
開始之前
確定主機系統符合最低的硬體和軟體需求(請參閱硬體和軟體必要條件)。
確定已啟用所有適用的埠,包括 XClarity Administrator 所需的埠(請參閱埠可用性)。
確認主機系統與您要管理的裝置位於相同網路中。
確保主機 OS 和 XClarity Administrator 使用相同的 NTP 伺服器。
XClarity Administrator 允許用於資料管理、硬體管理和 OS 部署的網路使用自訂名稱(請參閱網路配置)。以下程序中的範例使用的是 eth0。
XClarity Administrator 允許用於資料和硬體管理的網路使用自訂名稱(請參閱網路配置)。以下程序中的範例使用的是 eth0
確定主機系統上的核心中載入了 macvlan 網路。若要檢查是否已載入,請使用 lsmod | grep macvlan 指令。若要將 macvlan 載入核心中,請執行 modprobe macvlan 指令。
在同一個主機上執行多個 XClarity Administrator 容器時,確保為每個容器使用唯一的名稱和 IP 位址。
如果您打算管理 ThinkServer 和其他舊式裝置,請確保啟用 Docker 以支援 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 下載網頁將 XClarity Administrator 虛擬裝置映像檔、環境檔案和 YAML 檔案下載到用戶端工作站。登入網站,然後使用提供給您的存取金鑰以下載映像檔。
- 透過執行下列指令,將 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 和 memory 內容,定義資源使用限制。
- 將 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