01-正文
本章节下载: 01-正文 (9.76 MB)
目 录
本文档主要介绍H3C百业灵犀AI助手(简称AI助手)的安装、部署等功能。
本文档中的设备显示信息、Web页面截图、版本信息、参数配置界面均为举例,请以实际环境为准。
· NingOS:H3C自研的基于Linux的NingOS操作系统。
· Matrix:基于Kubernetes,实现了对Docker容器的编排调度。主要用于Kubernetes集群的搭建,微服务的部署,以及系统、Docker容器、微服务等的运维监控。
· Kubernetes:简称K8s,是一个开源的容器编排引擎,用于对容器化应用进行自动化部署、扩缩和管理。
· Docker:是一个开源的容器编排引擎,用于对容器化应用进行自动化部署、扩缩和管理。
· YUM源:Linux操作系统中的软件包管理器YUM(Yellowdog Updater, Modified)所使用的软件仓库。YUM源是包含一系列软件包的在线仓库,提供各种软件和工具的安装包。通过配置YUM源,用户可以方便地使用YUM命令来管理软件包,从在线仓库中下载并安装需要的软件包。
AI助手基于Matrix安装,支持一个Master节点的单机部署模式和三个Master节点+N个Worker节点(N≥0)的集群部署模式,集群部署模式下支持Worker节点扩容。
Matrix节点包括Master节点和Worker节点,每台服务器部署为一个Matrix节点。
AI助手安装部署注意事项如下:
· 推荐将服务器的下一次启动模式配置为UEFI模式。
· 安装操作系统时,请勿同时使用KVM给多个服务器安装同一镜像。
· H5 KVM性能不稳定,可能出现加载镜像停止或缓慢等问题,建议使用Java KVM挂载镜像安装操作系统,即NingOS 1.0.2403操作系统。
· 安装过程中禁止输入Scroll Lock键,否则可能会导致安装失败。
· 安装过程中异常断电会导致部分服务安装失败,请重新安装以保证功能完整性。
· Matrix安装部署过程中,请勿进行开启或关闭防火墙的操作。
· 集群部署完成后,请勿修改系统时间,否则可能导致集群异常。
AI助手安装部署流程,请参见表2-1所示。
表2-1 AI助手部署流程
|
步骤 |
具体操作 |
备注 |
|
准备服务器 |
单机部署模式准备1台服务器 集群部署模式准备至少3台服务器 |
|
|
安装操作系统 |
在服务器上安装NingOS 1.0.2403操作系统 |
必选 |
|
服务器基础配置 |
在服务器上进行安装部署前的基础配置 |
必选 |
|
部署Matrix集群 |
在服务器上安装Matrix并创建Matrix集群 |
必选 |
|
安装AI助手组件包 |
登录Matrix界面部署组件安装包 |
必选 |
|
软件授权 |
在服务器部署License Server、安装授权 |
必选 |
请确认安装部署环境,确保安装部署AI助手的条件已经具备。
AI助手对单台服务器的配置要求如表3-1所示。
|
硬件资源 |
配置要求 |
|
服务器类型 |
64位x86架构服务器 |
|
CPU |
16核及以上 |
|
内存 |
不小于64GB |
|
硬盘 |
· 系统盘:500GB · 数据盘:2TB(硬盘作raid1后,需要剩余至少2TB的空间) |
请检查待安装的操作系统版本是否正确。本文均以NingOS 1.0.2403为例介绍安装部署步骤。
请检查系统时间已配置完成。
用户不需要安装客户端软件,使用浏览器即可访问AI助手。推荐使用的浏览器为Google Chrome 120及以上版本,最低分辨率显示宽度为1600。
部署AI助手的IP地址,规则如表3-2所示。
表3-2 IP地址明细
|
IP地址规划 |
用途 |
备注 |
|
Master节点1IP地址 |
为安装了操作系统的Master节点分配的IP地址 |
必选 加入同一集群的所有Master节点的IP地址必须处于同一网段 单机部署模式只需要部署一个Master节点 |
|
Master节点2IP地址 |
为安装了操作系统的Master节点分配的IP地址 |
|
|
Master节点3IP地址 |
为安装了操作系统的Master节点分配的IP地址 |
|
|
北向业务虚IP地址 |
通过Matrix页面部署的应用的统一外部访问地址 |
必选 北向业务虚IP必须在Master节点所处的网段内 |
|
Worker节点IP地址 |
为Worker节点分配的IP地址 |
可选 Worker节点的IP地址必须与加入同一集群的Master节点的IP地址处于同一网段 |
|
LicenseServer IP地址 |
为安装licenseServer服务分配的IP地址 |
必选 LicenseServer服务必须在Master节点所处的网段内 |
AI助手仅支持安装H3C自研的NingOS 1.0.2403操作系统,需要准备的安装包如表3-3所示。其中version为版本号,platform为CPU架构类型。
· 安装包执行顺序:
NingOS操作系统安装包->Matrix集群安装包->数据服务data安装包->AI助手服务service安装包->License server服务安装包。
|
安装包名称 |
功能说明 |
说明 |
|
|
NingOS-version.iso |
H3C自研的NingOS操作系统的安装包 |
必选 |
|
|
Matrix-version_platform.zip |
Matrix集群安装包 |
必选 |
|
|
H3C_Linseer_copilot-version.zip (本压缩包不能直接上传到Matrix平台安装部署,需要先解压缩获取各组件安装包后,再逐个上传及部署) |
linseer-copilot-data-version.zip(位于Packages目录下) |
数据服务安装包,用于部署Postgresql数据库服务、Redis数据库服务、Minio存储服务、RocketMQ消息队列服务、Elasticsearch日志服务 |
必选 |
|
linseer-copilot-service-version.zip(位于Packages目录下) |
AI助手服务安装包,用于部署AI助手Web前端服务、AI助手移动端服务、后端服务、License Client服务、代码插件Web前端服务、代码插件后端服务 |
必选 |
|
|
idea-plugin.zip(位于Tools/linseer-copilot-plugin-version目录下) |
代码插件服务需要在IntelliJ IDEA客户端安装的插件 |
必选 |
|
|
h3c-ai-assistant-0.0.49.vsix(位于Tools/linseer-copilot-plugin-version目录下) |
代码插件服务需要在Visual Studio Code客户端安装的插件 |
必选 |
|
|
codePlugin.zip(位于Tools/linseer-copilot-plugin-version目录下) |
代码插件服务与LinSeer RT对接时,需要在服务器上执行的脚本 |
必选 |
|
|
执行脚本(位于Tools/linseer-copilot-script-version目录下) |
其他需要在服务器上执行的脚本,例如软件升级脚本等,每个版本需要执行的脚本不同,请以实际情况为准 |
必选 |
|
|
数据目录创建脚本位于Tools/linseer-copilot-script-version目录下) |
当进行集群创建时,为数据目录创建脚本 |
必选 |
|
(1) 在本地PC机上安装JDK,推荐版本为8u181。
(2) 如图4-1所示,单击[开始]菜单选择“配置Java”,进入Java控制面板。
(3) 把HDM的URL加入“例外站点”列表。如图4-2所示。
a. 选择“安全”页签,单击<编辑站点列表>按钮进入“例外站点”列表。
b. 在“例外站点”列表对话框中单击<添加>按钮。
c. 输入HDM的URL,单击<确定>按钮完成添加。
d. 单击Java控制面板上的<确定>按钮完成设置。
HDM(Hardware Device Management,设备管理系统)用于远程管理服务器。
登录HDM操作步骤如下:
(1) 将网线连接到服务器的HDM专用网口,确保本地PC与服务器之间网络可达。
(2) 在本地PC浏览器地址栏中输入“https://HDM专用网口IP地址”,按<Enter>键打开登录页面。输入用户名和密码,单击<登录>按钮登录服务器HDM Web页面,如图4-3所示。
图4-3 登录服务器HDM Web页面示意图
· HDM Web操作页面、默认HDM专用网口IP地址、默认用户名/密码等与服务器型号和HDM版本有关,详细信息请参见对应版本的服务器HDM用户指南。
· 对于本文示例版本,默认HDM专用网口IP地址为192.168.1.2/24,默认用户名/密码为admin/Password@_。
· 若已修改默认HDM专用网口IP地址、用户名/密码,请以修改后的HDM专用网口IP地址、用户名/密码登录。
本步骤用于使用Java集成远程控制台连接服务器。通过JViewer或KVM远程连接软件,您可以在远程进行配置管理服务器、安装操作系统等操作。
(1) 对于R5300 G5/R5500 G5/R5500 G6/R5350 G6服务器,连接远程控制台的操作步骤如下:
(2) 在HDM Web页面单击顶部[远程服务]菜单项,再单击左侧导航树中的[远程控制台]进入远程控制台页签。单击<启动KVM>按钮下载KVM软件,如图4-4所示。
(3) 如图4-5所示,在弹出的提示框中单击<保留>按钮,开始下载KVM软件。
(4) 将已下载的KVM.Jnlp文件拷贝至JDK的安装目录“C:\Program Files\Java\jdk1.8.0_181\bin”下。
(5) 按键盘<Shift>键,同时鼠标右键单击文件夹空白处,在下拉菜单中选择“在此处打开Powershell窗口”,如图4-6所示。
(6) 在命令窗口执行命令javaws KVM.jnlp并按回车键,如图4-7所示。
图4-7 执行命令
(7) 在安全警告窗口中点击<继续>按钮。如图4-8所示。
(8) 成功连接远程控制台,可显示远程控制台窗口,如图4-9所示。
(9) 在远程控制台窗口单击[虚拟介质 -> 虚拟介质向导]菜单项,弹出虚拟介质对话框,如图4-10所示,单击<浏览>按钮。
(10) 选择本地的操作系统镜像文件(.iso格式),单击<打开>按钮。如图4-11所示。
(11) 在弹出的提示信息对话框内单击<确定>按钮,即可成功挂载镜像文件,如图4-12所示。
· 设置BIOS从CD/DVD启动需通过键盘操作。
· 不同型号服务器参数配置界面有所不同,本节仅以R5500 G5服务器为例。
· 参数配置界面可能会不定期更新,请以设备实际显示为准。
(1) 单击选择[电源 -> 立即重启]菜单项,重启服务器,如图4-13所示。
(2) 服务器重启后,按键盘<DEL>键或<ESC>键进入BIOS设置界面,如图4-14所示。
图4-14 进入BIOS设置界面
(3) 通过按键盘<←><→>键移动选择[Boot]菜单项,按<Enter>键设置BIOS,如图4-15所示。
(4) 设置Boot启动模式。
a. 通过按键盘<↑><↓>键移动选择“Boot mode select”配置项,按<Enter>键设置Boot启动模式,如图4-16所示。
图4-16 设置Boot启动模式(1)
b. 在弹出的“Boot mode select”对话框中,按<Enter>键选择“UEFI”。如图4-17所示。
图4-17 设置启动Boot 模式(2)
(5) 设置Boot启动项。
a. 通过按键盘<↑><↓>键移动选择“Boot Option #1”配置项,按<Enter>键设置Boot启动项,如图4-18所示。
图4-18 设置Boot启动项(1)
b. 在弹出的“Boot Option #1”对话框中,按<Enter>键选择“CD/DVD”,如图4-19所示。
图4-19 设置Boot启动项(2)
(6) 通过键盘<←><→>键选择[Exit]菜单项,按<Enter>键保存设置,如图4-20所示。
(7) 在弹窗的对话框中选择“YES”,保存设置并退出,如图4-21所示。
本节以从未安装过任何操作系统的服务器为例,请使用LinSeer Copilot配套的NingOS-v3-1.0.2403 ISO文件安装操作系统。
(1) ISO镜像文件加载完成后,进入语言选择界面。
(2) 选择安装语言,此处以“中文”为例,单击<继续(C)>按钮,进入安装信息摘要界面,如图4-22所示。

(3) 在安装信息摘要界面的本地化区域单击“日期和时间(T)”链接,进入日期和时间界面,如图4-23所示。

(4) 设置系统的日期和时间,如图4-24所示。选择地区为“亚洲”,城市为“上海”,单击<完成>按钮,返回安装信息摘要界面。

(5) 在安装信息摘要界面的本地化区域单击“键盘(K)”链接,进入键盘布局界面,如图4-25所示。

(6) 安装信息摘要界面的软件区域“软件选择(S)”选择基本环境为“最小安装”,如图4-26所示。

(7) 在安装信息摘要界面的系统区域,单击“安装目的地(D)”链接,进入安装目标位置界面。设置安装目标位置,如图4-27所示。在本地标准磁盘区域选择目标磁盘。在存储配置区域选择“自定义(C)”,单击<完成>按钮,进入手动分区界面。

(1) 选择管理员帐户设置。使用root用户作为管理员帐户,无需创建新用户。
a. 在安装信息摘要界面用户设置区域单击“Root账户”配置项设置root用户作为管理员帐户,如图4-23所示。
该功能用于选择安装Matrix并创建集群时使用的用户名,如需部署Matrix集群,需为集群中的所有节点选择相同的用户名。
b. 选择“启用root账户”并设置root用户密码,单击<完成>按钮,返回安装信息摘要界面,如图4-28所示。
图4-28 设置root用户密码

c. 在安装信息摘要界面可查看root用户已作为管理员帐户,该用户拥有所有功能的操作权限,如图4-29所示。
图4-29 使用root用户作为管理员帐户

¡
(2) 在系统区域单击“网络和主机名(N)”链接,进入网络和主机名界面。
(3) 在主机名文本框中输入主机名后,单击<应用>按钮,如图4-30所示。

· 请勿使用默认主机名(localhost、localhost.localdomain、localhost4、localhost4.localdomain4、localhost6、localhost6.localdomain6)。主机名称最长63个字符,仅支持小写字母、数字、连字符和小数点,不能以0开头且全为数字,不能以0x、连字符、小数点开头,以连字符、小数点结尾。
· 建立Matrix集群时,必须保证集群内各个节点的主机名互不相同,且符合主机名的命名规则,否则将会导致集群建立失败。
· Matrix集群部署前,若需要修改节点的主机名,可在节点操作系统的命令行界面,通过hostnamectl set-hostname hostname命令进行修改,其中hostname为修改后的主机名。新主机名将在节点重启后生效。
· Matrix集群部署完成后,请不要再对操作系统的主机名进行修改。
(4) 在网络和主机名配置界面可配置网卡。单击<配置>按钮,在弹出的网络配置窗口中进行网卡配置。单击“常规”页签,勾选“自动以优先级连接(A)”项,“所有用户都可以连接这个网络(U)”项保持默认勾选,如图4-31所示。
(5) 配置Matrix节点的IPv4地址。
单击“IPv4设置”页签,在“方法(M)”下拉框中选择“手动”,在地址区域单击<添加(A)>按钮,配置服务器的IPv4地址(规划的Matrix节点IP),配置完成后,单击<保存>按钮保存配置,如图4-32所示。
· 配置IPv4地址时必须指定网关,否则在创建集群时可能出现问题。
· Matrix单独使用一个网口,不允许在此网口上配置子接口及子IP。
· Matrix节点其他网口的IP地址,不能和建立集群使用的IP处于同一网段。
· 不允许在操作系统中配置DNS服务器。
(6) 网络配置完成后,手动启用指定物理网卡,如图4-33所示。单击<完成>按钮,返回安装信息摘要界面。

(1) 在本地电脑控制端窗口执行命令ping ip_address,检查配置的IP地址是否连通。其中,ip_address为IPv4设置页签下配置的IP地址。若可ping通,则继续进行后续步骤,否则返回IPv4设置页签,检查掩码网关等信息是否配置正确。
(2) 在图4-34所示的安装信息摘要界面中单击<开始安装>按钮,开始安装操作系统。

(3) 安装完成后,单击<重启系统(R)>按钮。进入BIOS设置界面,设置BIOS从Hard Disk启动,即设置Boot启动项时,在弹出的“Boot Option #1”对话框中,按<Enter>键选择“Hard Disk”,如图4-35所示。具体步骤与设置BIOS从CD/DVD启动类似,请参见“4.2 设置BIOS从CD/DVD启动”。
图4-35 设置Boot启动项
(4) 保存退出后,服务器再次自动重启,重启后的界面如图4-36所示。

(1) 在服务器上执行timedatectl命令,查看服务器的时区是否为“Shanghai”或“Beijing”。
[root@matrix ~]# timedatectl
Local time: 四 2023-12-07 16:56:52 CST
Universal time: 四 2023-12-07 08:56:52 UTC
RTC time: 四 2023-12-07 16:56:52
Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes
NTP service: active
RTC in local TZ: yes
Warning: The system is configured to read the RTC time in the local time zone.
This mode cannot be fully supported. It will create various problems
with time zone changes and daylight saving time adjustments. The RTC
time is never updated, it relies on external facilities to maintain it.
If at all possible, use RTC in UTC by calling
'timedatectl set-local-rtc 0'.
(2) 如果时区不正确,请执行timedatectl set-timezone Asia/Shanghai命令重新设置时区为“Shanghai”或“Beijing”。
[root@matrix ~]# timedatectl set-timezone Asia/Shanghai//以将时区设置为Shanghai为例
(1) 执行date命令,查看系统时间。
[root@matrix ~]# date
2023年 11月 16日 星期四 14:46:24 CST
(2) 如果系统时间与当前网络时间不同,请执行date -s命令将系统时间修改为与当前网络时间一致。
[root@matrix ~]# date -s "2023-11-17 11:00:00"
(3) 再次执行date命令,查看校准后的系统时间,确保与当前网络时间保持一致。
[root@matrix ~]# date
2023年 11月 17日 星期五 11:00:00 CST
(1) 在服务器上执行systemctl stop firewalld.service命令关闭防火墙。
[root@matrix ~]# systemctl stop firewalld.service
(2) 执行systemctl status firewalld.service命令查看防火墙状态,确保防火墙已关闭。
[root@matrix ~]# systemctl status firewalld.service
○ firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)//防火墙已关闭
Docs: man:firewalld(1)
(3) 执行systemctl disable firewalld.service命令设置防火墙开机不启动。
[root@matrix ~]# systemctl disable firewalld.service
(1) 执行sestatus命令查看selinux状态(默认为开启状态)。
[root@matrix ~]# sestatus
(2) 关闭selinux。
a. 执行vi命令分别创建etc/sysconfig/selinux文件。
[root@matrix ~]# vi /etc/sysconfig/selinux
b. 通过键盘输入“i”进入编辑界面,将配置“SELINUX=enforcing”改为“SELINUX=disabled”。
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
c. 按键盘上的<ESC>键,再输入“:wq”,退出配置并保存文件。
:wq
(3) 执行reboot命令重新启动系统。
reboot
(4) 系统重启后,再次执行sestatus命令,确保selinux状态为关闭。
sestatus
通过挂载操作系统ISO镜像的方式来配置本地YUM源。
(1) 登录服务器的HDM管理平台,挂载操作系统ISO镜像文件,详细操作步骤请参见“4.1 登录远程控制台”。
(2) 在服务器上执行mount /dev/cdrom/mnt命令将ISO镜像挂载至/mnt目录。
[root@matrix ~]# mount /dev/cdrom /mnt
mount: /mnt: WARNING: source write-protected, mounted read-only.//挂载成功
服务器重启后,ISO镜像目录可能会被取消挂载,如果需要继续使用本地YUM源的方式安装依赖包,请重新挂载ISO镜像文件。
(3) 修改服务器/etc/yum.repos.d/路径下NingOS.repo文件内容。
a. 进入服务器的目录/etc/yum.repos.d/。
[root@matrix ~]# cd /etc/yum.repos.d/
[root@matrix ~]# vi NingOS.repo
b. 通过键盘输入“i”进入编辑界面,增加灰显内容:
[NingOS_repo]
name=NingOS_repo
baseurl=file:///mnt
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-NingOS
enabled=1
[NingOS_repo_updates]
name=NingOS_repo
baseurl=file:///mnt
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-NingOS
enabled=1
c. 按键盘上的<ESC>键,再输入“:wq”,退出配置并保存文件。
:wq
(4) 执行yum clean all && yum makecache命令清空YUM源缓存。
[root@matrix ~]# yum clean all && yum makecache
6 files removed
NingOS 369 MB/s | 3.4 MB 00:00
执行以下步骤,创建助手平台/linseer_copilot_data数据目录,并将数据盘挂载到该目录下。
(1) 执行lsblk命令查看系统中可用的磁盘。磁盘vdb与vdc尚未挂载目录,均为可用的磁盘。
本节仅以vdb为例介绍数据盘挂载到指定目录(/linseer_copilot_data)的详细步骤,实际部署过程中,请注意修改命令中磁盘的名称。
[root@matrix ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sr0 11:0 1 5G 0 rom
vda 252:0 0 500G 0 disk
├─vda1 252:1 0 1G 0 part /boot
└─vda2 252:2 0 498.7G 0 part
├─h3linux-root 253:0 0 253G 0 lvm /
├─h3linux-swap 253:1 0 15.7G 0 lvm
└─h3linux-home 253:2 0 230G 0 lvm /home
vdb 252:16 0 1.0T 0 disk
vdc 252:32 0 1.0T 0 disk
(2) 创建物理卷。执行pvcreate命令将磁盘创建为物理卷。
[root@matrix ~]# pvcreate /dev/vdb
(3) 创建卷组。执行vgcreate命令创建一个名为linseer_copilot_vg的卷组,并将物理卷添加到该卷组中。
[root@matrix ~]# vgcreate linseer_copilot_vg /dev/vdb
(4) 创建逻辑卷。执行lvcreate命令创建一个名为linseer_copilot_lv的逻辑卷,指定该逻辑卷所属的卷组。
[root@matrix ~]# lvcreate -l 100%FREE -n linseer_copilot_lv linseer_copilot_vg
(5) 格式化逻辑卷。使用mkfs命令格式化新创建的逻辑卷。
[root@matrix ~]# mkfs.xfs /dev/linseer_copilot_vg/linseer_copilot_lv
注意:文件系统类型必须为xfs。
(6) 挂载逻辑卷。
[root@matrix ~]# mkdir /linseer_copilot_data
[root@matrix ~]# mount /dev/linseer_copilot_vg/linseer_copilot_lv /linseer_copilot_data
(7) 设置开机自动挂载逻辑卷。将逻辑卷添加到/etc/fstab 文件中,实现逻辑卷在系统启动时自动挂载。
[root@matrix ~]# echo "/dev/linseer_copilot_vg/linseer_copilot_lv /linseer_copilot_data xfs defaults 0 0" >> /etc/fstab
(8) 查看挂载结果。完成上述操作后,执行reboot命令重启服务器,待重启完成后,执行lsblk命令查看挂载结果,数据盘vdb已成功挂载到指定目录/linseer_copilot_data下。
[root@matrix ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sr0 11:0 1 5G 0 rom
vda 252:0 0 500G 0 disk
├─vda1 252:1 0 1G 0 part /boot
└─vda2 252:2 0 498.7G 0 part
├─h3linux-root 253:0 0 253G 0 lvm /var/lib/kubelet/pods/dd010433-c2f6-4687-a1ad-dd78330ff2c8/volume-subpaths/config/helm-wrapper/0
│ /var/lib/kubelet/pods/49c2a7bf-6e5b-4397-8f95-4970025c6d39/volume-subpaths/multus-cfg/kube-multus/2
│ /
├─h3linux-swap 253:1 0 15.7G 0 lvm
└─h3linux-home 253:2 0 230G 0 lvm /home
vdb 252:16 0 1.0T 0 disk
└─linseer_copilot_vg-linseer_copilot_lv
253:3 0 1.0T 0 lvm /linseer_copilot_data
vdc 252:32 0 1.0T 0 disk
需要安装的Matrix依赖包如表6-1所示。
表6-1 Matrix依赖包版本列表
|
依赖包名称 |
版本号 |
|
java openjdk |
1.8.0 |
|
docker-ce-cli |
20.10.7 |
|
docker-ce |
20.10.7 |
|
docker-ce-rootless-extras |
20.10.7 |
|
docker-scan-plugin |
0.8.0 |
|
chrony |
4.1-3 |
|
python |
3.9.9 |
|
ntpdate |
4.2.8p15 |
(2) 安装Matrix依赖包。
[root@matrix ~]# yum install -y docker-ce-20.10.7* docker-ce-cli-20.10.7* docker-ce-rootless-extras-20.10.7* docker-scan-plugin-0.8.0*
[root@matrix ~]# yum install java-1.8.0-openjdk
[root@matrix ~]# yum install chrony
[root@matrix ~]# yum install python
[root@matrix ~]# yum install ntpdate
(3) 执行rpm -qa |grep命令依次查询各依赖包是否安装成功(以查询docker依赖包为例)。
[root@matrix ~]# rpm -qa | grep docker
docker-scan-plugin-0.8.0-3.hl202.x86_64
docker-ce-cli-20.10.7-3.hl202.x86_64
docker-ce-rootless-extras-20.10.7-3.hl202.x86_64
docker-ce-20.10.7-3.hl202.x86_64
(4) 取消挂载本地YUM源。
[root@matrix ~]# umount /mnt
(1) 获取Matrix软件安装包,并将软件包通过FTP工具上传至服务器的待安装目录(例如/root)下。
(2) 进入Matrix软件包(.zip文件)的存放路径,解压缩并安装Matrix。软件包的名称格式为UDTP_Matrix_version-platform.zip,其中version为版本号,platform为CPU架构类型。下面以x86_64版本为例进行安装。
[root@matrix ~]# unzip UDTP_Matrix_V100R001B01D014KYLINTESP03_x86_64.zip
[root@matrix ~]# cd Matrix-V100R001B01D014KYLINTESP03-x86_64
[root@matrix Matrix-V100R001B01D014KYLINTESP03_x86_64]# ./install.sh
Installing...
[install] -----------------------------------
[install] Matrix-V100R001B01D014KYLINTESP03_x86_64
[install]
[install] Linux 5.10.0-136.12.0.86.4.hl202.x86_64
[install] -----------------------------------
[install] CAUTION: Installation failed for OS incompatibility.
Matrix can be installed only on a device running :
H3Linux Release 1.1.2 and 1.3.0,
Linux Release 1.1.2 and 1.3.1,
Red Hat Enterprise Linux Server release 7.6, 7.7(Maipo) and 8.4, 8.6 (Ootpa),
Kylin Linux Advanced Server release V10 (Azalea and Sword),
CentOS Linux release 7.6.1810 and 7.7.1908(Core),
BigCloud Enterprise Linux release 7.7.2005 (Core and AltArch),
Linux 2.0.2 LTS
[INFO] Continue anyway? (Y/N) : Y
…略…
Complete!
(3) 通过命令systemctl status matrix验证Matrix服务是否安装成功。若安装成功,则将在Active 字段后显示运行信息为active (running)。剩余节点执行同样操作即可。
[root@matrix ~]# systemctl status matrix.service
● matrix.service - Matrix Server
Loaded: loaded (/usr/lib/systemd/system/matrix.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2023-10-24 08:01:46 CST; 2 weeks 5 days ago
Main PID: 702359 (karaf)
Tasks: 549 (limit: 3355442)
Memory: 2.3G
CGroup: /system.slice/matrix.service
├─ 702359 /bin/sh /opt/matrix/bin/karaf server
└─ 703187 /usr/bin/java -XX:+UnlockDiagnosticVMOptions -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/matrix/heapdumps/ -XX:OnOutOfMemoryError=/opt/matrix/k8s/disaster-reco>
Nov 13 02:56:35 localhost sudo[916772]: pam_unix(sudo:session): session closed for user root
Nov 13 02:56:39 localhost sudo[917311]: root : PWD=/opt/matrix ; USER=root ; COMMAND=/bin/bash -c source /etc/profile; /opt/matrix/k8s/monitorscript/check_node_service_2m.sh
Nov 13 02:56:39 localhost sudo[917311]: pam_unix(sudo:session): session opened for user root(uid=0) by (uid=0)
Nov 13 02:56:39 localhost sudo[917311]: pam_unix(sudo:session): session closed for user root
Nov 13 02:57:14 localhost sudo[920771]: root : PWD=/opt/matrix ; USER=root ; COMMAND=/bin/bash -c source /etc/profile; /opt/matrix/k8s/monitorscript/check_config_dir_file_3m.sh
Nov 13 02:57:14 localhost sudo[920771]: pam_unix(sudo:session): session opened for user root(uid=0) by (uid=0)
Nov 13 02:57:14 localhost sudo[920771]: pam_unix(sudo:session): session closed for user root
Nov 13 02:57:15 localhost sudo[920998]: root : PWD=/opt/matrix ; USER=root ; COMMAND=/bin/bash -c source /etc/profile; /opt/matrix/k8s/monitorscript/check_docker_config.sh
Nov 13 02:57:15 localhost sudo[920998]: pam_unix(sudo:session): session opened for user root(uid=0) by (uid=0)
Nov 13 02:57:15 localhost sudo[920998]: pam_unix(sudo:session): session closed for user root
Matrix所有节点均使用同一个安装包进行安装,在页面上进行配置时再区分Master节点与Worker节点。
· 当使用内置NTP服务器作为时钟同步源时,在部署集群之前,需确保所有节点的系统时间和当前时间保持一致。
· 当使用外置NTP服务器作为时钟同步源时,在部署集群之前,需确保外置NTP服务器的时间与当前时间保持一致。
· 如果NTP服务器网络故障或时间不准确,则可能会导致Matrix集群部署失败。
· 可在服务器上执行以下命令查看、修改节点系统时间:date命令查看系统时间、date -s yyyy-mm-dd命令修改系统时间的年月日、date -s hh:mm:ss命令修改系统时间的时分秒。
· 完成Matrix集群环境部署后,禁止修改系统时间。
(1) 在浏览器中输入Matrix的登录地址,进入如图6-1所示的登录页面。登录地址格式为:https://ip_address:8443/matrix/ui/。其中ip_address为Master节点IP地址,8443为缺省端口号。
未部署集群之前,ip_address可以是任意一个规划为Master节点的IP地址。
图6-1 Matrix登录界面
(2) 输入用户名和密码(默认用户名为admin,密码为Pwd@12345,若安装操作系统设置过密码,则按设置的填写)后,单击<登录>按钮,默认进入Matrix的集群部署向导页面。
在Matrix的集群部署向导页面中配置Matrix集群参数,如图6-2和图6-3所示,集群参数详细介绍如表6-2所示。完成集群参数的配置后,单击<应用>按钮。
图6-2 Matrix集群设置(一)
图6-3 Matrix集群设置(二)
|
参数 |
说明 |
|
集群内部虚IP |
用于集群内各节点之间通信的IP地址,该地址必须在Master节点所处的网段内 |
|
北向业务虚IP |
集群对外提供服务的IP地址,该地址必须在Master节点所处的网段内 |
|
Service IP地址池 |
用于为Service分配IP地址,不能与部署环境中的其它网段冲突。缺省地址为10.96.0.0/16,一般保持缺省值 |
|
容器IP地址池 |
用于为容器分配IP地址,不能与部署环境中的其它网段冲突。缺省地址为177.177.0.0/16,一般保持缺省值 |
|
集群网络模式 |
集群网络模式有两种: · 单子网:集群内所有节点、虚IP必须在相同网段内,否则将无法互相通信。如果使用本地环境部署LinSeer,请选择本模式 · 单子网-VXLAN:集群内所有节点、虚IP必须在相同网段内,否则将无法互相通信。如果使用云上环境部署LinSeer,请选择本模式,否则Pod之间可能无法通信,会导致部署失败 |
|
NTP服务器 |
用于保证集群内各节点系统时间的一致性,支持选择内置服务器和外置服务器。选择外置服务器时,需要配置NTP服务器地址,且该地址不可与集群内各节点的IP地址冲突 本文档使用内置服务器作为NTP服务器,则部署集群时会首先进行时间同步,集群部署完成后,三台Master节点会定时同步时间,从而保证集群内各节点的系统时间保持一致 |
|
外置DNS服务器 |
用于解析K8s集群外部的域名,格式为IP:Port,可根据实际需要配置外置DNS服务器。本文档中不配置此项 容器解析域名时,集群外部的域名无法被内置DNS服务器解析,本系统将把需要解析的外部域名随机转发给一台外置DNS服务器来解析 外置DNS服务器最多可以配置10个,各外置DNS服务器要求具有相同的DNS解析能力,并可以独立满足外部域名解析需求、无主备之分、无先后顺序之分 建议所有的DNS服务器都能够访问根域,可使用命令行nslookup -port={port}-q=ns . {ip}查看是否可以访问 |
|
自定义虚IP |
(暂不支持)在南北向业务隔离的情况下,设备需要使用固定的IP和集群通信 |
单机部署模式下,仅需增加一个Master节点即可部署集群。集群部署模式下,需要增加三个Master节点后,再部署集群。
(1) 配置集群参数后,单击<下一步>按钮,进入创建集群页面,如图6-4所示。
(2) 单击Master节点区域的增加图标
,弹出增加节点窗口。
(3) 在弹出的节点窗口中,配置节点参数,如图6-5所示。配置参数后,单击<应用>按钮,完成增加Master节点操作。
¡ 类型:显示为“Master”,不可修改。
¡ IP地址:规划的Master节点的IP地址。
¡ 用户名:节点操作系统的用户名,为安装NingOS系统时设置的root用户名。
¡ 密码:节点操作系统的用户密码,为安装NingOS系统时设置的root用户密码。
(4) 单击<开始部署>按钮,开始部署集群,如图6-6所示。
(5) 部署成功后,会显示各Master节点。
¡ 部署成功页面如图6-7所示,Master节点左上角显示标记
。
¡ 集群中所有节点的进度达到100%时,表示集群部署成功,如图6-8所示。
集群部署成功后,主Master节点左上角显示标记
,其余未被标记的Master节点为备用Master节点。
正常情况下matrix集群部署完成后,master和worker各节点之间会自动进行免密。如果失败,需要手动进行免密互信。
以新增一台worker互信失败为例:
(1) 在worker服务器上执行如下命令生成SSH密钥,过程中依次按Enter键完成配置。
[root@master1 ~]# ssh-keygen -t rsa //按Enter键继续
Generating public/private rsa key pair. //按Enter键继续
Enter file in which to save the key (/root/.ssh/id_rsa): //按Enter键保存SSH密钥
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa
Your public key has been saved in /root/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:U31UOtgJMDMNv8WpJ0wPX1yQOiZVyGf+A2FNaZe0n0U root@master1
The key's randomart image is:
+---[RSA 3072]----+
| *=.oB*E|
| *=O+@+|
| ..B=%.=|
| ..o+X.o+|
| S o=.=o.|
| . o ..|
| .|
| |
| |
+----[SHA256]-----+
[root@master1 ~]#
(2) 拷贝SSH密钥。
a. 执行cat /etc/hosts命令查看集群节点信息
[root@master1 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.114.166.23 master1
10.114.166.24 master2
10.114.166.25 master3
10.114.166.23 matrix-registry.h3c.com
10.114.166.23 matrix-apiserver
10.114.166.23 etcd.matrix
10.114.166.23 harbor-matrix-node1
10.114.166.24 harbor-matrix-node2
10.114.166.25 harbor-matrix-node3
10.114.166.30 linseerhub-registry.h3c.com
10.114.166.154 ubuntu41
10.114.166.155 ubuntu42
10.114.166.89 ubuntu89
10.114.166.83 ubuntu106
10.114.166.154 matrix-node4 //在此可以看到全部集群节点
10.114.166.155 matrix-node5
10.114.166.24 matrix-node2
10.114.166.25 matrix-node3
10.114.166.89 matrix-node6
10.114.166.83 matrix-node7
10.114.166.23 matrix-node1
b. 在服务器上执行如下命令拷贝SSH密钥(如果存在多台集群节点,需要依次进行本操作)。
[root@matrix116 ~]# ssh-copy-id root@matrix-node1
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host 'matrix-node1 (211.0.1.116)' can't be established.
ED25519 key fingerprint is SHA256:3FoPGGeNxlwZ7p9BSY8bEjAg5nqlFPNX8yuF+0Jnb30.
This host key is known by the following other names/addresses:
~/.ssh/known_hosts:1: 211.0.1.116
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@matrix-node1's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'root@matrix-node1'"
and check to make sure that only the key(s) you wanted were added.
上传并解压H3C_LinSeer_Copilot-version.zip至任一Master节点上。以root目录为例,进入目录cd /root/H3C_LinSeer_Copilot-VERSION/Tools/linseer-copilot-script-VERSION,找到linseer_copilot_data_dir_create.sh脚,然后执行sh linseer_copilot_data_dir_create.sh命令。
图7-1 创建数据目录
执行脚本前,请确认Matrix集群是否已符合以下条件:
· Matrix集群内部已实现免密认证,即执行脚本无需输入密码,如果未实现免密认证,执行脚本时需要输入服务器root账号密码。
· 每个节点上的根目录下都存在/linseer_copilot_data目录,并已挂载对应的数据盘。
· 若节点服务器端口是默认值22,则直接执行脚本;否则执行脚本时需要加上端口参数port,具体情况以实际为主,假设端口是52222,则执行脚本:sh linseer_copilot_data_dir_create.sh 52222。
对于集群模式(即“7.5.1 基本应用参数介绍”中global.architecture字段为replication),需要添加节点标签,确保助手平台对应的Pod能够部署到指定的节点上。查看Matrix节点详细信息
执行kubectl get node命令查看Matrix节点详细信息。
[root@master160 ~]# kubectl get node
NAME STATUS ROLES AGE VERSION
master160 Ready control-plane,master 169d v1.21.14
master161 Ready control-plane,master 159d v1.21.14
master162 Ready control-plane,master 69d v1.21.14
在集群模式下部署PostgreSQL、Redis、RocketMQ、Milvus等平台组件时,这些中间件以多副本形式运行,并将数据保存到本地磁盘。为了确保每个副本每次启动时都能部署到固定的节点,请在Master节点上添加有序节点标签。
以名称分别为matrix01、matrix02、matrix03的3个Master节点为例,执行kubectl label node 节点名称 标签名称命令添加有序节点标签:
[root@matrix160 ~]# kubectl label node matrix160 linseer-copilot-node-number=linseer-copilot-node-0
node/matrix160 labeled
[root@matrix160 ~]# kubectl label node matrix161 linseer-copilot-node-number=linseer-copilot-node-1
node/matrix161 labeled
[root@matrix160 ~]# kubectl label node matrix162 linseer-copilot-node-number=linseer-copilot-node-2
node/matrix162 labeled
Master节点名称必须与“7.2.2 查看Matrix节点标签信息”中获取到的名称完全相同,有序节点标签的key值(例如linseer-copilot-node-number)和value值(例如linseer-copilot-node-0)均需使用示例中的值,不支持修改。
集群部署模式下,一部分Pod需要通过有序节点标签调度到指定的节点,另一部分Pod则通过添加通用标签来调度到指定的节点上。
执行kubectl label node 节点名称 servicetype=标签名称命令添加节点标签。
[root@matrix160 ~]# kubectl label node
matrix160 servicetype=linseer-copilot-server
node/matrix01 labeled
通用节点名称为“7.2.2 查看Matrix节点标签信息”中获取的名称,节点标签的key值(固定为“servicetype”)不支持修改,value值(例如linseer-copilot-server)可以根据实际情况修改。
执行kubectl get nodes --show-labels命令查看Matrix节点标签信息。
[root@master160 ~]# kubectl get nodes --show-labels
NAME STATUS ROLES AGE VERSION LABELS
master160 Ready control-plane,master 169d v1.21.14 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=master160,kubernetes.io/os=linux,linseer-copilot-node-number=linseer-copilot-node-0,master=master1,node-role.kubernetes.io/control-plane=,node-role.kubernetes.io/master=,node.kubernetes.io/exclude-from-external-load-balancers=,node=node1,platform=plat,role=master,servicetype=linseer-copilot-server
master161 Ready control-plane,master 159d v1.21.14 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=master161,kubernetes.io/os=linux,linseer-copilot-node-number=linseer-copilot-node-1,master=master2,node-role.kubernetes.io/control-plane=,node-role.kubernetes.io/master=,node.kubernetes.io/exclude-from-external-load-balancers=,node=node2,platform=plat,role=master,servicetype=linseer-copilot-server
master162 Ready control-plane,master 69d v1.21.14 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=master162,kubernetes.io/os=linux,linseer-copilot-node-number=linseer-copilot-node-2,master=master3,node-role.kubernetes.io/control-plane=,node-role.kubernetes.io/master=,node.kubernetes.io/exclude-from-external-load-balancers=,node=node3,platform=plat,role=master
如果需要删除节点标签,请执行kubectl label node节点名称 标签名称-命令。
[root@matrix160 ~]# kubectl label node matrix160 servicetype-
node/matrix160 labeled
(1) 在浏览器中输入Matrix的登录地址,进入如图7-2所示的登录页面。登录地址格式为:https://ip_address:8443/matrix/ui/。其中ip_address为Master节点IP地址,8443为缺省端口号。
采用集群部署模式时,未部署集群之前,ip_address可以是任意一个规划为Master节点的IP地址。
图7-2 Matrix登录界面
(2) 输入用户名和密码(默认用户名为admin,密码为Pwd@12345,若安装操作系统设置过密码,则按设置的填写)后,单击<登录>按钮进入概览页面。
图7-3 概览页面
对于较大的组件安装包,可以通过FTP等方式,上传到集群各个Master节点的/opt/matrix/app/install/packages目录下,然后在Matrix页面进行解析完成安装部署。
(1) 如图7-4所示,在概览页面选择顶部“部署”页签,单击左侧[应用]菜单项进入部署应用页面,单击部署应用按钮。
(2) 单击<上传>按钮,弹出部署应用对话框。
(3) 在部署应用对话框中选择安装包,并单击<上传>按钮上传以下安装包:
¡ linseer-copilot-data-version.zip(位于Packages目录下)
¡ linseer-copilot-service-version.zip(位于Packages目录下)
图7-6 上传安装包
(4) 重复上述步骤,直到上传完所有安装包。
部署AI助手各安装包时,均需要修改基本应用参数。
基本应用参数包括“global.nodeSelector.enabled”、“global.architecture”和“global.nodeSelector.label”。
基本应用参数设置方法如下:
· global.architecture:表示部署模式,standalone为单机模式,replication为集群模式。仅数据服务安装包使用。
· global.nodeSelector.enabled:表示是否配置节点调度,根据网络规划选择“true”或“false”。
¡ 选择“false”,表示部署的Pod由集群采用默认的调度策略进行调度。
¡ 选择“true”,且“global.nodeSelector.label”参数设置了节点标签名称时,系统将根据该节点标签进行调度。
· global.nodeSelector.label:表示节点标签名称。AI助手默认标签为:linseer-copilot-server。
需要注意的是:通过应用参数“global.nodeSelector.label”设置的节点标签名称,必须与“添加通用节点标签(可选,安装服务时如果需要配置节点选择时添加)”的节点标签名称保持一致,否则会导致Pod启动失败。所有组件均部署完成后,在服务器上执行kubectl get pod -n linseer-copilot命令查看组件的Pod状态,如果显示为“Pending”,则表示Pod启动失败。
[root@matrix ~]# kubectl get pod -n linseer-copilot
NAME READY STATUS RESTARTS AGE
linseer-copilot-data-elasticsearch-master-0-0 0/1 Pending 0 2h
· 安装包执行顺序:基础组件linseer-copilot-data-VERSION.zip安装包->AI助手服务linseer-copilot-service-VERSION.zip安装包。
· AI助手服务部署成功后,如果要修改应用参数,需要在Matrix平台上卸载相关应用并重新部署。
(1) 如图7-7所示,选择已上传的安装包,单击<下一步>按钮,开始解析安装包。
(2) 解析完成后,系统会显示解析后的安装包,如图7-8所示。
(3) 连续单击两次<下一步>按钮跳过配置共享存储和配置数据库两个步骤,如图7-9所示,进入配置参数页面。
(4) 在配置参数页面,单击编辑按钮
修改应用参数,完成参数修改后,单击<部署>按钮部署安装包。
¡ 编辑data安装包的应用参数:
- global.architecture:配置部署模式,standalone为单机模式,replication为集群模式。
- global.nodeSelector.enabled:根据网络规划选择配置节点调度为“true”或“false”。
- global.nodeSelector.label:输入节点标签名称。请确保已添加节点标签,再在本处填写对应的标签名称。详细操作请参见“7.2 添加节点标签”。
¡ 编辑AI助手服务安装包的应用参数:
- global.nodeSelector.enabled:根据网络规划选择配置节点调度为“true”或“false”。
- global.nodeSelector.label:输入节点标签名称。请确保已添加节点标签,再在本处填写对应的标签名称。详细操作请参见“7.2 添加节点标签”。
- global.web.replicaCount:根据网络规划输入前端服务部署节点数量。
- global.server.replicaCount:根据网络规划输入后端服务部署节点数量。
- global.postgresql.url:输入postgresql数据库的URL。
- global.postgresql.port:输入postgresql数据库端口号。
- global.postgresql.database:输入postgresql数据库名称。
- global.postgresql.username:输入postgresql数据库用户名。
- global.postgresql.password:输入postgresql数据库密码。
- global.redis.url:输入redis服务的URL。
- global.redis.port:输入redis服务端口号。
- global.redis.password:输入redis服务密码。
- global.redis.database:选择redis服务中的数据库。
- global.minio.minioUrl:输入minio文件管理系统地址。
- global.minio.minioName:输入minio文件管理系统用户名。
- global.minio.minioPass:输入minio文件管理系统密码。
- global.es.uris:输入es数据库url。
- global.es.username:输入es数据库用户名。
- global.es.password:输入es数据库密码。
- global.rocketmq.nameServer:输入rocketmq服务的URL。
- global.digitalHuman.url:私有化数字人URL。如果需要对接私有化数字人服务,请填写相应的URL(需要保证服务器与数字人地址可联通)。需要注意的是,部署后如果需要修改该参数,需要先卸载再重新安装linseer-copilot-server服务。
- 特殊说明:当前版本不支持私有化数字人,该参数请勿修改。
图7-10 修改AI助手服务安装包的应用参数(一)
图7-11 修改AI助手服务安装包的应用参数(二)
(5) 单击<部署>按钮,等待安装包部署完成,如图7-12所示。
图7-12 AI助手安装包部署页面
图7-14
(6) 在弹出的对话框中单击<确定>按钮后,进入部署完成后的页面,如图7-15所示。
(7) 重复上述步骤,安装完data与service包,如图7-16所示。
图7-18
待所有组件均部署完成后,在服务器上执行kubectl get pod -n linseer-copilot命令查看各组件的Pod状态。监控服务组件的Pod状态为“Running”或“Completed”,其他组件的Pod状态为“Running”,表示系统已正常运行。
[root@matrix ~]# kubectl get pod -n linseer-copilot
NAME READY STATUS RESTARTS AGE
linseer-copilot-data-elasticsearch-master-0-0 0/1 Running 0 2d16h
linseer-copilot-data-minio-dd49cb6dc-srhjj 1/1 Running 0 2d16h
linseer-copilot-data-postgresql-ha-pgpool-6556b89c75-sjfd9 1/1 Running 0 2d16h
linseer-copilot-data-postgresql-ha-postgresql-0-0 1/1 Running 0 2d16h
linseer-copilot-data-redis-master-0 1/1 Running 0 2d16h
linseer-copilot-data-rocketmq-broker-master-0 1/1 Running 0 2d16h
linseer-copilot-data-rocketmq-dashboard-5956ff65cf-w9hss 1/1 Running 0 2d16h
linseer-copilot-data-rocketmq-nameserver-0-0 1/1 Running 0 2d16h
linseer-copilot-license-client-5db7d89869-bdx7c 1/1 Running 0 12h
linseer-copilot-mobile-d59d96477-4fl8p 1/1 Running 0 12h
linseer-copilot-pg-pod-checker-29092490-f669x 0/1 Completed 0 10m
linseer-copilot-pg-pod-checker-29092495-9qvqr 0/1 Completed 0 5m43s
linseer-copilot-pg-pod-checker-29092500-4twg5 0/1 Completed 0 43s
linseer-copilot-pluginweb-7df5876c9d-pkcw9 1/1 Running 0 12h
linseer-copilot-server-5dc48976f5-gkpkm 1/1 Running 0 12h
linseer-copilot-web-688d9d87bb-k8gn6 1/1 Running 0 12h
(1) 在PC端浏览器中输入AI助手的登录地址“https://ip_address:30088”,其中ip_address为北向业务虚IP地址,进入AI助手登录页面,如图7-16所示。
(2) 输入用户和密码(默认用户名admin,密码为Admin@h3c),单击<立即登录>按钮,进入AI助手主页,如图7-16所示。
图8-2 AI助手显示页面
(1) 在移动端浏览器中输入AI助手的登录地址“https://ip_address:30090”,其中ip_address为北向业务虚IP地址,进入AI助手登录页面,如图8-3所示。
图8-4 
图8-5
(2) 输入用户和密码(默认用户名admin,密码为Admin@h3c),单击<登录>按钮,进入AI助手主页,如图8-6所示。
图8-6 AI助手显示页面
(1) 将update_default_language.sh脚本上传至安装AI助手的任意一个master节点上。
[root@master1 ~]# vi update_default_language.sh
:set ff=unix//将编码改为unix
:wq//保存并退出
(2) 进入上传脚本的目录执行sh update_default_language.sh要修改的语言,支持中文(zh)和英文(en),例如将默认语言设置为中文:
[root@master1 ~]# sh update_default_language.sh zh
获取到pgpool pod名称:linseer-copilot-data-postgresql-ha-pgpool-6556b89c75-djzd8
Defaulted container "postgresql" out of: postgresql, init-chmod-data (init)
UPDATE 1
SQL statement executed successfully.
(3) 在AI助手主页,点击左下角的用户按钮,并点击[后台管理],如图8-7所示。
(4) 选择“系统管理”页签,并点击[参数设置]按钮,进入参数设置页面。在该页面点击[清理缓存]按钮,如图8-8所示。
代码插件客户端IDE插件包含IDEA插件和VS Code插件。
安装IDE插件后,用户可以在IDEA或VS Code软件内使用该插件进行智能代码生成、代码解释、添加注释或自定义提问。
请根据实际部署情况,解压codePlugin.zip文件得到envPlugin.sh和plugin.sh。先修改envPlugin.sh文件信息,然后运行plugin.sh文件。
envPlugin.sh文件内容如下:
#!/bin/bash
#连接百业灵犀配置信息
export TOKEN_ACCOUNT="admin"
export TOKEN_PASSWORD="Pwd@12345"
export TOKEN_URL="http://10.114.166.27:29000/token/generate"
# 单行生成
export SINGLE_MODEL_NAME="LinSeer Lite"
export SINGLE_MODEL_URL="http://10.114.166.27:29000/publishaddress/inference/ce2f92a928754d76b4bfe190a1a6a43c/scalable/v1/completions"
# 多行生成
export MULTI_MODEL_NAME="LinSeer Lite"
export MULTI_MODEL_URL="http://10.114.166.27:29000/publishaddress/inference/ce2f92a928754d76b4bfe190a1a6a43c/scalable/v1/completions"
# 对话
export CHAT_MODEL_NAME="LinSeer Lite"
export CHAT_MODEL_URL="http://10.114.166.27:29000/publishaddress/inference/ce2f92a928754d76b4bfe190a1a6a43c"
envPlugin.sh中LinSeer RT Token的配置信息参数说明如表9-1所示。请按照实际部署情况,修改获取LinSeer RT Token的配置参数信息。
表9-1 LinSeer RT TOKEN配置参数说明
|
参数名称 |
参数说明 |
|
TOKEN_ACCOUNT |
LinSeer RT系统的用户名 |
|
TOKEN_PASSWORD |
LinSeer RT的密码 |
|
TOKEN_URL |
LinSeer RT的获取Token的路由 |
envPlugin.sh文件模型包含单行生成模型、多行生成模型、对话模型。
(1) 单行生成模型配置参数说明如表9-2所示。
|
参数名称 |
参数说明 |
|
SINGLE_MODEL_NAME |
LinSeer RT部署的模型名称 |
|
SINGLE_MODEL_URL |
LinSeer RT的模型请求URL,格式为http://IP:port/publishaddress/inference/UUID/scalable/v1/completions,其中,IP一般设置为集群的北向虚IP地址,port为29000,UUID为服务发布页面的固定uuid。 获取UUID的方法:登录LinSeer RT后,进入[部署 -> 服务发布 -> 发布详情]页面查看“服务地址”中URL最后一个“/”后的所有字符,如图9-1所示 |
图9-1 LinSeer RT服务发布页面
(2) 多行生成模型配置参数说明如表9-3所示。
|
参数名称 |
参数说明 |
|
MULTI_MODEL_NAME |
LinSeer RT部署的模型名称 |
|
MULTI_MODEL_URL |
LinSeer RT的模型请求URL,格式为http://IP:port/publishaddress/inference/UUID/scalable/v1/completions,其中,IP一般设置为集群的北向虚IP地址,port为29000,UUID为服务发布页面的固定uuid。 获取UUID的方法:登录LinSeer RT后,进入[部署 -> 服务发布 -> 发布详情]页面查看“服务地址”中URL最后一个“/”后的所有字符,如图9-1所示 |
(3) 对话模型配置参数说明如表9-4所示。
|
参数名称 |
参数说明 |
|
CHAT_MODEL_NAME |
LinSeer RT部署的模型名称 |
|
CHAT_MODEL_URL |
LinSeer RT的模型请求URL,格式为http://IP:port/publishaddress/inference/UUID,其中,IP一般设置为集群的北向虚IP地址,port为29000,UUID为服务发布页面的固定uuid。 获取UUID的方法:登录LinSeer RT后,进入[部署 -> 服务发布 -> 发布详情]页面查看“服务地址”中URL最后一个“/”后的所有字符,如图9-1所示 |
完成配置文件修改后,将envPlugin.sh和plugin.sh上传通过FTP工具到服务器,并确保两文件在同一目录下,并执行sh plugin.sh使配置生效。
[root@matrix ~]# sh plugin.sh
可通过两种方式获取IDEA插件和VS Code插件安装包。
· 联系技术支持获取安装包。
· 打开网址http://北向虚IP:40088/plugin下载插件,如图9-2所示;
· 如果非首次安装,为确保插件能正确安装,请卸载并重新安装IDEA插件。
· 卸载已安装的IDEA插件步骤如下:
(1) 如图9-3所示,单击[文件 -> 设置]菜单项。
(2) 如图9-4所示,单击“插件”菜单项,将鼠标指向“H3C AI Assistant”选项,单击右键,选择“卸载”。
卸载IDEA插件时,请将c:/users/用户名/AppData/Local/Temp/h3cAicoder目录下的文件全部删除。
图9-4 卸载IDEA插件
(3) 确认IDE重启提示信息,完成卸载。
(1) 如图9-5所示,单击[文件 -> 设置]菜单项。
(2) 单击“插件”菜单项,单击选中“从磁盘管理仓库、配置代理或安装插件”,并选择“从磁盘安装插件”选项。
图9-6 安装IDEA插件
(3) 选择已下载的IDEA插件安装包并开始安装,如图9-7所示。
图9-7 选择IDEA插件安装包
(4) 安装完成后,确认IDEA重启提示信息。
(5) IDEA重启后,关闭IDEA。
(6) 打开c:/users/用户名/AppData/Local/Temp/h3cAicoder/config目录下的config.json文件。
(7) 将config.json文件中的“serverAddress”字段信息修改为“北向业务虚ip:30089”。
修改“serverAddress”字段前,需要关闭IDEA,修改后再重新打开IDEA。
· 如果非首次安装,为确保插件能正确安装,请卸载并重新安装VS Code插件。
卸载已安装的VS Code插件步骤如下:
(1) 如图9-8所示:单击“扩展“菜单项,将鼠标指向”H3C AI Assistant“选项单击右键,选择”卸载”
卸载VS Code插件时,请将c:/users/用户名/AppData/Roaming/Code/User/globalStorage/h3c-rd.h3c-ai-assistant目录下的config.json文件删除。
图9-8 VS Code插件卸载
(2) 确认VS Code需要重新加载提示信息,完成卸载。
(1) 如图9-9所示,单击“扩展”菜单项,单击
按钮,选择“从VSIX安装..”。
图9-9 VS Code插件安装
(2) 选择已下载的VS Code插件安装包并开始安装,如图9-10所示。
图9-10 选择VS Code插件安装包
(3) 安装完成后,确认VS Code重新加载提示信息。
(4) VS Code重启后,点击页面下方的“H3C AI助手”选项,弹出设置框,如图9-11所示,单击<设置>按钮。
图9-11 VS Code弹出设置选项
(5) 如图9-12所示,将AI服务地址改为“http://北向虚ip地址:30089”,修改后重启VS Code。
图9-12 VS Code插件配置文件地址
如果北向虚IP地址有变化,需要修改IDEA插件和VS Code插件上的北向虚IP地址。
(1) 关闭IDEA。
(2) 打开c:/users/用户名/AppData/Local/Temp/h3cAicoder/config目录下的config.json文件。
(3) 修改serverAddress为“更新后的北向虚ip:30089”。
(4) 保存文件,并重启IDEA。
(1) 打开VS Code。
(2) 单击页面下方的“H3C AI助手”,弹出设置界面,如图9-13所示,单击<设置>按钮。
图9-13 vscode弹出设置选项
(3) 在设置界面将AI服务地址改为“http://更新后的北向虚ip地址:30089”。
AI助手部署完成后即可试用。
AI助手提供License管理功能,可为产品管理授权。关于License Server服务部署的详细介绍,请参见《H3C License Server安装指导》。关于产品授权的详细介绍,请参见《License支持情况说明》和《License使用指南》。
(1) 在浏览器中输入Matrix的登录地址进入登录页面,输入用户名和密码,单击<登录>按钮登录Matrix。关于登录Matrix的详细介绍,请参见“7.3 登录Matrix”。
(2) 如图11-1所示,选择[应用]菜单项打开应用列表,单击名称开头为linseer-copilot的各个组件操作行的
按钮,在操作提示框中单击<确定>按钮完成卸载。
(3) 页面卸载完成之后,如果不准备保留数据,需要登录服务器,删除本地目录(注意,删除之后应用的所有数据都会丢失)。登录matrix所有节点,删除本地目录/linseer_copilot_data。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!
