Перейти к основному содержимому

Шаг 6. Установка и настройка XClarity Administrator (Docker)

Установите и настройте контейнер Lenovo XClarity Administrator на только что установленном хосте Docker.

Перед началом работы

Убедитесь, что хост-система отвечает минимальным требованиям к оборудованию и программному обеспечению (см. раздел Обязательные требования к оборудованию и программному обеспечению).

Убедитесь, что включены все соответствующие порты, включая порты, которые требуются XClarity Administrator (см. раздел Доступность портов).

Убедитесь, что система хоста находится в той же сети, что и устройства, которыми вы хотите управлять.

Убедитесь, что ОС хоста и XClarity Administrator используют один и тот же сервер NTP.

XClarity Administrator позволяет использовать пользовательское имя сети для управления данными и оборудованием, а также развертывания ОС (см. раздел Конфигурации сети). В этом примере в следующей процедуре используется eth0.

XClarity Administrator позволяет использовать пользовательское имя сети для управления данными и оборудованием (см. раздел Конфигурации сети). В этом примере в следующей процедуре используется eth0

Убедитесь, что сеть macvlan загружена в ядро хост-системы. Чтобы проверить, загружена ли она, воспользуйтесь командой lsmod | grep macvlan. Чтобы загрузить macvlan в ядро, выполните команду modprobe macvlan.

При запуске нескольких контейнеров XClarity Administrator в одном хосте следует использовать уникальное имя и IP-адрес для каждого контейнера.

Если вы предполагаете управлять ThinkServer и другими устаревшими устройствами, убедитесь, что в Docker включена поддержка IPv6.
  1. Внесите следующие изменения в файл /etc/docker/daemon.json: установите значение «true» для ключа ipv6 и укажите вашу подсеть IPv6 в качестве значения ключа fixed-cidr-v6.

    Пример файла daemon представлен ниже.

    {
    "ipv6": true,
    "fixed-cidr-v6": "2001:db8:1::/64",
    "experimental": true,
    "ip6tables": true
    }
  2. Перезагрузите файл конфигурации Docker, выполнив указанную ниже команду.
    systemctl reload docker
Прим.
XClarity Administratorне работает в качестве привилегированного контейнера.
Правила брандмауэра в контейнере XClarity Administrator не настроены. Чтобы добавить правила брандмауэра для контейнера в хост-системе, выполните следующие действия.
  1. Получите идентификатор процесса Docker, определяемый как NSPID, выполнив следующую команду.
    docker inspect --format='{{ .State.Pid }}' "$CONTAINER_NAME"
  2. Создайте символическую ссылку, выполнив следующую команду.

    LINKFILE="/var/run/netns/$NSPID"
    mkdir -p /var/run/netns
    /bin/rm -f "$LINKFILE"
    ln -s "/proc/$NSPID/ns/net" "$LINKFILE"
  3. Настройте соответствующие правила iptables, выполнив следующую команду.

    ip netns exec $NSPID iptables -I OUTPUT -j DROP
  4. Удалите все ссылки, выполнив следующую команду.

    /bin/rm -f "$LINKFILE"

Процедура

Чтобы установить контейнер XClarity Administrator с помощью Docker compose, выполните следующие шаги.

  1. Скачайте образ виртуального устройства XClarity Administrator, файла среды и YAML-файла с Веб-страница загрузки XClarity Administrator на клиентскую рабочую станцию. Войдите на веб-сайт и используйте предоставленный вам ключ доступа для скачивания образа.
  2. Импортируйте образ контейнера XClarity Administrator в хост docker, выполнив следующую команду.
    docker load -i lnvgy_sw_lxca_<ver>_anyos_noarch.tar.gz
  3. Отредактируйте файл docker_compose.env и измените следующие переменные среды.
    • CONTAINER_NAME. Уникальное имя контейнера, используемое для создания томов Docker для каждого экземпляра XClarity Administrator (например, 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"

  4. Измените файл docker_compose.yml и измените следующие свойства.
    • Задайте значение свойства image равным имени файла установочного образа, используемому в шаге 2.
      Прим.
      Имя файла образа можно изменить (например, на latest) с помощью команды docker tag.
    • Если необходимо использовать удаленные общие ресурсы в качестве удаленного репозитория микропрограмм и для хранения резервных копий XClarity Administrator, задайте точку подключения хоста для каждого удаленного общего ресурса в свойстве volumes.
    • Установите в качестве значения свойства dns IP-адрес серверов DNS.
    • Этот контейнер использует тот же пул ресурсов процессора, памяти и хранения, которые доступны хосту. При необходимости определите ограничения использования ресурсов, настроив свойства cpus и memory.
    • Задайте значение свойства parent равным имени сетевого интерфейса в хост-системе, который следует использовать в качестве родительского для интерфейса macvlan в контейнере. Этот интерфейс должен иметь прямой доступ к подсети, назначенной контейнеру.
    • Задайте свойства subnet (подсеть) и gateway (шлюз) в соответствии с топологией вашей сети. Как правило, подсеть и шлюз предназначены для сети управления, к которой относится ${ADDRESS}.
    • Если требуется поддержка IPv6, задайте для свойства enable_ipv6 значение «true», укажите адрес IPv6 в качестве значения свойства ipv6_address и добавьте еще один набор свойств subnet и gateway в соответствии с топологией вашей сети (обычно для сети управления, к которой принадлежит адрес IPv6).

    Ниже представлен пример файла YML с включенной поддержкой IPv6.

    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"

  5. Разверните образ в Docker, выполнив следующую команду, где <ENV_FILENAME> — имя файла переменных среды, созданного в шаге 2.
    COMPOSE_HTTP_TIMEOUT=300 docker-compose –p ${CONTAINER_NAME} ––env–file <ENV_FILENAME> up -d

После завершения

Войдите в систему и настройте XClarity Administrator (см. разделы Доступ к веб-интерфейсу Lenovo XClarity Administrator в первый раз и Настройка Lenovo XClarity Administrator).