ติดตั้งและกำหนดค่าคอนเทนเนอร์ Lenovo XClarity Administrator บนโฮสต์ Docker ที่เพิ่งติดตั้ง
ก่อนจะเริ่มต้น
ตรวจสอบว่าระบบโฮสต์ของคุณมีคุณสมบัติฮาร์ดแวร์และซอฟต์แวร์ตรงตามข้อกำหนดขั้นต่ำของระบบ (โปรดดู ข้อกำหนดฮาร์ดแวร์และซอฟต์แวร์เบื้องต้น )
ตรวจสอบให้แน่ใจว่าได้เปิดใช้งานพอร์ตที่เหมาะสมทั้งหมด รวมถึงพอร์ตที่ XClarity Administrator ต้องการ (โปรดดู ความพร้อมใช้งานของพอร์ต )
ตรวจสอบให้แน่ใจว่าระบบโฮสต์อยู่ในเครือข่ายเดียวกันกับอุปกรณ์ที่คุณต้องการจัดการ
ตรวจสอบให้แน่ใจว่า OS ของโฮสต์และ XClarity Administrator ใช้เซิร์ฟเวอร์ NTP เดียวกัน
XClarity Administrator อนุญาตให้ใช้ชื่อที่กำหนดเองสำหรับเครือข่ายที่จะใช้สำหรับการจัดการข้อมูล การจัดการฮาร์ดแวร์ และการปรับใช้ OS (ดู การกำหนดค่าเครือข่าย ) ตัวอย่างในขั้นตอนต่อไปนี้จะใช้ eth0
XClarity Administrator อนุญาตให้ใช้ชื่อที่กำหนดเองสำหรับเครือข่ายที่จะใช้สำหรับการจัดการข้อมูลและฮาร์ดแวร์ และเครือข่ายที่จะใช้สำหรับการปรับใช้ OS (ดู การกำหนดค่าเครือข่าย ) ตัวอย่างในขั้นตอนต่อไปนี้ใช้ eth0 และ eth1 ตามลําดับ
ตรวจสอบให้แน่ใจว่ามีการโหลดเครือข่าย macvlan ลงในเคอร์เนลบนระบบโฮสต์ ใช้คำสั่ง lsmod | grep macvlan เพื่อตรวจสอบการโหลด ใช้คำสั่ง modprobe macvlan เพื่อโหลด macvlan ลงในเคอร์เนล
ตรวจสอบให้แน่ใจว่าคุณใช้ชื่อและที่อยู่ IP ที่ไม่ซ้ำกันสำหรับแต่ละคอนเทนเนอร์เมื่อใช้งานหลายคอนเทนเนอร์ XClarity Administrator บนโฮสต์เดียวกัน
หากคุณต้องการจัดการ ThinkServer และอุปกรณ์แบบดั้งเดิมอื่นๆ ตรวจสอบให้แน่ใจว่าได้เปิดใช้งาน Docker เพื่อรองรับ IPv6
แก้ไขไฟล์ /etc/docker/daemon.json ตั้งค่าคีย์ ipv6 เป็นจริง และตั้งค่าคีย์ fixed-cidr-v6 เป็นเครือข่ายย่อย IPv6 ของคุณข้อมูลต่อไปนี้คือตัวอย่างไฟล์ Daemon
{ "ipv6": true, "fixed-cidr-v6": "2001:db8:1::/64", "experimental": true, "ip6tables": true }
โหลดไฟล์การกำหนดค่า Docker อีกครั้งโดยเรียกใช้คำสั่งต่อไปนี้
XClarity Administrator ไม่ได้ รันเป็นคอนเทนเนอร์ที่มีสิทธิ์
ไม่มีการกำหนดค่ากฎไฟร์วอลล์ในคอนเทนเนอร์
XClarity Administrator ในการเพิ่มกฎไฟร์วอลล์สำหรับคอนเทนเนอร์บนระบบโฮสต์ ให้ปฏิบัติตามขั้นตอนต่อไปนี้
รับรหัส ID กระบวนการ Docker ซึ่งระบุโดย “NSPID” โดยทำการรันสั่งต่อไปนี้
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
ตรวจสอบให้แน่ใจว่าลิงก์ทั้งหมดถูกลบออกโดยการรันคำสั่งต่อไปนี้
ขั้นตอน
หากต้องการติดตั้งคอนเทนเนอร์ XClarity Administrator โดยใช้ Docker-compose ให้ทำตามขั้นตอนต่อไปนี้
ดาวน์โหลดอิมเมจอุปกรณ์เสมือน XClarity Administrator ไฟล์สภาพแวดล้อม และไฟล์ YAML จาก เว็บเพจการดาวน์โหลด XClarity Administrator ไปยังเวิร์กสเตชันไคลเอ็นต์ เข้าสู่ระบบเว็บไซต์ แล้วใช้คีย์การเข้าถึงที่กำหนดให้คุณใช้ดาวน์โหลดอิมเมจ นําเข้าอิมเมจคอนเทนเนอร์ XClarity Administrator ลงในโฮสต์ Docker โดยการเรียกใช้คำสั่งต่อไปนี้ docker load -i lnvgy_sw_lxca_<ver>_anyos_noarch.tar.gz
แก้ไขไฟล์ 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"
แก้ไข docker_compose.yml และอัปเดตคุณสมบัติต่อไปนี้ ตั้งค่าคุณสมบัติ อิมเมจ เป็นชื่อของไฟล์อิมเมจการติดตั้งที่ใช้ในขั้นตอนที่ 2คุณสามารถเปลี่ยนชื่อไฟล์อิมเมจ (ตัวอย่างเช่น “ล่าสุด”) โดยใช้คำสั่ง docker tag
หากคุณต้องการใช้การแชร์ระยะไกลเป็นที่เก็บข้อมูลเฟิร์มแวร์ระยะไกลและเพื่อจัดเก็บข้อมูลสำรอง XClarity Administrator ให้ตั้งค่าจุดติดตั้งโฮสต์สำหรับการแชร์ระยะไกลแต่ละรายการในคุณสมบัติ โวลุ่ม ตั้งค่าคุณสมบัติ dns เป็นที่อยู่ IP ของเซิร์ฟเวอร์ DNS คอนเทนเนอร์แชร์พูลของทรัพยากรโปรเซสเซอร์และหน่วยความจำที่โฮสต์ใช้งานได้ หรือเลือกที่จะกำหนดขีดจำกัดในการใช้ทรัพยากรโดยการตั้งค่าคุณสมบัติ CPU และ หน่วยความจํา ตั้งค่าคุณสมบัติ หลัก เป็นชื่ออินเทอร์เฟซเครือข่ายบนระบบโฮสต์ที่จะใช้เป็นอินเทอร์เฟซหลักของอินเทอร์เฟซ macvlan ในคอนเทนเนอร์ อินเทอร์เฟซนี้ต้องมีสิทธิ์การเข้าถึงเครือข่ายย่อยที่กำหนดให้กับคอนเทนเนอร์โดยตรง ตั้งค่า subnet และ gateway ตามโทโพโลยีเครือข่ายของคุณ โดยปกแล้วติ เครือข่ายย่อยและเกตเวย์จะใช้สำหรับเครือข่ายการจัดการ ซึ่งใช้ ${ADDRESS} หากคุณต้องการรองรับ IPv6 ให้ตั้งค่าคุณสมบัติ enable_ipv6 เป็นจริง ตั้งค่าคุณสมบัติ ipv6_address เป็นที่อยู่ IPv6 และเพิ่มคุณสมบัติ 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: lan1: ipv4_address: ${ADDRESS} ipv6_address: "2001:8003:7d51:2000::2" lan2: ipv4_address: 192.0.1.3 ipv6_address: "2001:8003:7d51:2003::2" dns: - 192.0.40.10 - 192.0.50.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: lan1: name: lan1 driver: macvlan enable_ipv6: true driver_opts: parent: eno1 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" lan2: name: lan2 driver: macvlan enable_ipv6: true driver_opts: parent: virbr0 ipam: config: - subnet: 192.0.122.0/24 gateway: 192.0.122.1 - subnet: "2001:8003:7d51:2003::/80" gateway: "2001:8003:7d51:2003::1"
ปรับใช้อิมเมจใน Docker โดยการเรียกใช้คำสั่งต่อไปนี้ โดยที่ <ENV_FILENAME> คือชื่อของไฟล์ตัวแปรสภาพแวดล้อมที่สร้างขึ้นในขั้นตอนที่ 2 COMPOSE_HTTP_TIMEOUT=300 docker-compose –p ${CONTAINER_NAME} ––env–file <ENV_FILENAME> up -d