在刚刚安装的 Docker 主机上安装和配置 Lenovo XClarity Administrator 容器。
开始之前
确保主机系统满足最低的硬件和软件要求(请参阅硬件和软件先决条件)。
确保已启用所有相应端口,包括 XClarity Administrator 需要的端口(请参阅端口可用性)。
确保主机系统与要管理的设备在同一网络上。
确保主机操作系统和 XClarity Administrator 使用相同的 NTP 服务器。
XClarity Administrator 允许对用于数据管理、硬件管理和操作系统部署的网络使用自定义名称(请参阅网络配置)。以下过程中的相应示例使用的是 eth0。
确保在主机系统上的内核中加载了 macvlan 网络。要检查是否已加载该网络,请使用 lsmod | grep macvlan 命令。要将 macvlan 加载到内核中,请运行 modprobe macvlan 命令。
在同一主机上运行多个 XClarity Administrator 容器时,确保为每个容器使用唯一的名称和 IP 地址。
如果要管理 ThinkServer 和其他 Legacy 设备,请确保启用 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不是 作为特权容器运行。
过程
要使用 Docker compose 安装 XClarity Administrator 容器,请完成以下步骤。
- 从 XClarity Administrator 下载 Web 页面 将 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