安装
本章节以鲲鹏平台openEuler-20.03-LTS-SP1(以下简称openEuler)环境下安装鲲鹏DevKit为例,其它硬件平台及操作系统环境下安装方法相同。
操作步骤
- 使用SSH远程登录工具,将获取软件包中获取的鲲鹏DevKit安装包(Devkit-All-x.x.x-Linux-Kunpeng.tar.gz)拷贝到自定义路径下。
- 使用SSH远程登录工具,进入openEuler操作系统命令行界面。
- 执行如下命令进入保存鲲鹏DevKit安装包的自定义路径。
1
cd 自定义路径
- 执行如下命令解压鲲鹏DevKit安装包(其中“x.x.x”表示版本号,请用实际情况代替)。
1
tar --no-same-owner -zxvf Devkit-All-x.x.x-Linux-Kunpeng.tar.gz
通过--no-same-owner保证解压后的文件属组为当前操作用户(root)文件属组。
- 执行如下命令进入解压后的鲲鹏DevKit安装包目录(其中“x.x.x”表示版本号,请用实际情况代替)。
1
cd Devkit-All-x.x.x-Linux-Kunpeng
- 安装鲲鹏DevKit。
- 由于root用户拥有最高权限,直接使用root用户登录服务器可能会存在安全风险。您可以通过配置禁止root用户SSH登录的选项,来提升系统安全性。具体配置如下:
先以普通用户登录服务器,切换至root登录后检查/etc/ssh/sshd_config配置项PermitRootlogin,如果显示no,说明禁止了root用户登录;如果显示yes,则需要将配置项PermitRootlogin设置为no。
- Web模式只支持root用户安装,CLI模式支持普通用户和root用户安装。(如果使用root用户安装,建议您使用普通用户登录服务器后切换为root用户,再执行后续安装操作。)
- 用户在安装鲲鹏DevKit时,安装路径不能选择工具安装包所在的目录,也不能选择系统路径,如:/、/bin、/boot、/dev、/etc、/lib、/lib64、/media、/mnt、/proc、/root、/run、/sbin、/selinux、/src、/srv、/sys、/tmp、/usr、/var、/home/Devkit。
- 用户输入工具安装路径时,只能填写全路径,不能填写相对路径。
- 不要随意修改DevKit-All-x.x.x-Linux-kunpeng文件夹下的文件,否则会导致工具安装不成功。
- 若安装类型选择“SSO install type”,则需集成实现鲲鹏DevKit工具定义SSO接口的外部系统,否则将无法使用该安装方式。
- 执行以下命令安装鲲鹏DevKit。
./install.sh
根据回显信息选择工具安装模式。
Start installing,please wait! This OS use yum to manager package Start getting installation parameters Entry interactive mode install tool: [1] : DevKit framework will be installed [2] : DevKit framework and all plugins will be installed [3] : DevKit framework and selection plugins will be installed Please enter a number as install tool. (The default install tool is 1):
表1 工具安装模式说明 安装模式
说明
1
默认选项,仅安装鲲鹏DevKit框架,不包含工具。
2
安装鲲鹏DevKit框架及所有工具。
3
安装鲲鹏DevKit框架及选择的工具。
- 安装参数配置。
- 配置工具安装目录,默认为“/opt”。
- 配置Web Server的IP地址。
- 配置外部网络映射IP地址。
- 配置HTTPS端口,默认端口为8086。
- 配置HTTPS侦听端口,默认端口8002。
- 配置rpc集群服务IP地址。
- 配置rpc集群服务端口,默认端口为50051。
回显信息如下:
Obtain the IP address, port number, and installation path required by the tool service. Enter the installation path. (The default path is /opt): Selected install_path: /opt Check install path permission Check install path permission Success Check install path space Check install path space Success ip address list: sequence_number ip_address device [1] x.x.x.x enp1s0 Please enter the sequence number of listed ip as web server ip(default: 1): Selected web server ip: x.x.x.x ip address list: sequence_number ip_address device [1] x.x.x.x enp1s0 Please enter the DevKit external ip(mapping IP)(default: 1): The DevKit external ip is: x.x.x.x Please enter install port. (The default install port is 8086): Selected nginx port: 8086 Please enter http server port. (The default http server port is 8002): Selected http server port: 8002 ip address list: sequence_number ip_address device [1] x.x.x.x enp1s0 Please enter the sequence number of listed as rpc cluster server ip(default: 1): Selected rpc cluster server ip: x.x.x.x Please enter rpc cluster server port. (The default rpc cluster server port is 50051): Selected rpc cluster server port: 50051 The following parameters will be used for deployment: ++++++++++++++++++++++++++++++++++++++++++++++++ OS_TYPE : OpenEulerOS TOOL_VERSION : 23.0.0 INSTALL_TOOL : framework INSTALL_PATH : /opt NGINX_IP : x.x.x.x EXTERNAL_IP : x.x.x.x NGINX_PORT : 8086 PLUGIN_GUNICORN_PORT : 7996 GRPC_SERVER_IP : x.x.x.x GRPC_LISTEN_PORT : 50051 HTTP_LISTEN_PORT : 8002 ++++++++++++++++++++++++++++++++++++++++++++++++
- 用户在配置Web Server的IP地址时,从回显的IP address list 中选择。
- rpc集群服务端口和HTTPS端口设置范围为1024~65535。
- rpc集群服务端口和HTTPS端口不能相同。如果与系统已占用的端口冲突,会自动+1,直到找到可用的端口。如系统无可用端口将终止安装。
- 如果用户的服务器OS防火墙已开启,工具会自动检测配置的端口是否开通,若开通,则继续安装进程;若未开通,会提示用户开通该端口,用户选择“y”,则工具会自动帮助用户开通端口(卸载工具时会清除工具对端口的操作,即恢复到用户的原端口状态)。若用户选择不开通,工具安装不受影响,但是会造成Web访问不成功。若后续用户想要通过Web访问工具,需要用户自行开通服务器OS防火墙端口,执行步骤参考(可选)开启防火墙端口。
- 如果是在EulerOS上安装Web模式,请在安装成功之后以root用户执行以下命令修改readelf可执行文件的权限。
1
chmod 755 /usr/bin/readelf
- 当安装过程中检测到用户当前环境未配置ios依赖或者安装依赖失败时,工具会给出3种解决方法供用户选择,根据提示安装完ios依赖后才能继续进行安装。
若选择1,用户需要先下载所需要的镜像源到本地,然后输入本地镜像源所在路径。
若选择2,用户需要手动输入可下载镜像源的网址,通过该网址在线下载镜像源。
若选择3,镜像源存在于华为云,则直接自动匹配安装镜像源。(只有当用户在鲲鹏平台上安装,且操作系统属于CentOS 7.6/8.0/8.1/8.2,openEuler 20.03,Debian 10,或者EulerOS 2.0(SP8)之一,才会支持选项3,直接自动匹配安装镜像源。)
- 工具安装过程中会检查用户的操作系统,若用户的操作系统不在工具的兼容列表中,工具会提示用户按照默认的操作系统模式(CentOS,Debian以及openEuler系列)进行安装。
- 工具安装过程中会检查是否已存在工具的devadmin用户、配置文件、安装路径(/opt/Devkit/)以及用户home路径(/home/Devadmin/),如果以上任意一个已存在,工具就会提示用户手动卸载工具或删除已存在的用户,路径,文件,或者授权工具处理该问题,然后继续进行安装。
- 工具安装过程中会创建鲲鹏DevKit程序的操作系统运行用户(devkit)和执行用户(devkitworkerX),用户已设置禁止登录或锁定,仅用于程序运行。
- 用户在自己的工作空间内启动软件迁移检查作业,用户工作空间属主是工具运行用户devkit。在检查用户软件源码时,需要解析用户软件构建配置文件,需要执行构建文件中的Linux命令、Shell脚本或者二进制文件,这时系统通过后台用户devkitworkerX完成检查,避免通过构建文件中的恶意命令、脚本进行用户空间横向越权。
- Web方式下,Web用户是逻辑用户,用户作业实际执行用户是Linux系统用户devkit或devkitworkerX。Web用户通过devkit、devkitworkerX用户在Linux系统内完成诸如但不限于软件构建、编译等操作,且上述操作在devkit或devkitworkerX用户权限范围内进行。
- DHE算法受漏洞CVE-2002-2001影响,不建议在Nginx配置中使用该算法。
- 如系统环境需要安装依赖组件至自定义目录时,需添加相应环境变量至devkit用户目录下的“.bash_profile”文件或“/opt/DevKit/tools/script/service_gunicorn.sh”文件。
- 安装类型配置。
Please select tool installation method: [1] : Normal install type [2] : SSO install type If option [2] is selected, ensure that an external system that implements the SSO interface defined by the Kunpeng DevKit is installed. Otherwise, the DevKit tools cannot be used. Please enter the sequence number of listed as tool install type(default: 1):1 The normal mode will be used for installation. no crontab for devkit ...
表2 安装类型参数说明 安装方式
参数配置
Normal install type (普通安装方式)
标准安装方式,安装后需要输入账户、密码进行访问。
SSO install type (SSO安装方式)
SSO安装方式,安装后通过SSO单点登录方式进行访问。配置参数如下:
- SSO register id:授权系统中DevKit注册的应用ID
- SSO register secret key:授权系统中DevKit注册的应用密钥
- SSL Certificate Verification:是否忽略SSL证书校验。可选项忽略证书校验、使用自签证书校验、使用CA可信证书校验。
- redirect URL:重定向地址,默认为DevKit安装地址。
- authorize_code URL:请求授权码地址,用于请求access_token。
- access_token URL:请求访问令牌地址,用于访问用户信息接口。
- user_info URL:请求用户信息地址,用于获取用户登录信息。
- access_token URL:请求刷新access_token地址(可选项,默认为空)
- user validity info URL:请求已有用户信息有效性地址(可选项,默认为空)
- 安装过程回显信息如下:
Operations to perform: Apply all migrations: affinity_tasks, auth, commonanalysis, contenttypes, cuda_debugger, data_comparison, dependency_dictionary, devtools_tasks, diagnostic_nodemanager, diagnostic_sysconfig, diagnostic_taskmanager, diagnostic_usermanager, importexporttasks, mpi_debugger, nodemanager, optimization_assistant, scene, scheduletask, sessions, ssh_key, sys_config, taskmanager, tasks, usermanager Running migrations: Applying diagnostic_nodemanager.0001_initial... OK Applying diagnostic_sysconfig.0001_initial... OK Applying diagnostic_taskmanager.0001_initial... OK Applying diagnostic_usermanager.0001_initial... OK Run sys_diagnosis install script Checking install Dependent Packages os_type: CentOS os_version: 7.6 The unzip(unzip -v) tool cmd check: OK The make(make -v) tool cmd check: OK The expect(expect -v) tool cmd check: OK The perf(perf -v) tool cmd check: OK ... User:devkitworker1 is exist! Locking password for user devkitworker1. passwd: Success Creating an Application Running User Copy hyper_tuner_memleak to devkit_tools success Copy bcc_wrapper.sh to devkit_tools success Copy check_user_password_diagnose to devkit_tools success Copy risky command success Add sudoers Load database Load database success Run sys_diagnosis install script success install success Generate agent package success Successfully installed the porting plug-in in /opt/DevKit/devkitplugins/porting. Successfully installed the affinity plug-in in /opt/DevKit/devkitplugins/affinity. Successfully installed the devtools plug-in in /opt/DevKit/devkitplugins/devtools. Successfully installed the debugger plug-in in /opt/DevKit/devkitplugins/debugger. Successfully installed the sys_perf plug-in in /opt/DevKit/devkitplugins/sys_perf. Successfully installed the java_perf plug-in in /opt/DevKit/devkitplugins/java_perf. Successfully installed the sys_diagnosis plug-in in /opt/DevKit/devkitplugins/sys_diagnosis. Successfully installed the Kunpeng Devkit Advisor in /opt/DevKit. Devkit Web console is now running, go to: https://10.50.126.100:8086
- 由于root用户拥有最高权限,直接使用root用户登录服务器可能会存在安全风险。您可以通过配置禁止root用户SSH登录的选项,来提升系统安全性。具体配置如下:
- (可选)隔离网络环境下需要通过代理方式访问外网,代理配置步骤如下:
- 执行如下命令修改“/etc/systemd/system/gunicorn_port.service”文件。
1
vi /etc/systemd/system/gunicorn_port.service
- 在“gunicorn_port.service”文件中的“[Service]”字段后面增加如下两个环境变量。
1 2
Environment="http_proxy=ip:port" Environment="https_proxy=ip:port"
“ip:port”是代理服务器的地址和端口号。
- 按“ESC”,输入“:wq”,按“Enter”保存并退出。
- 重启Django服务。
- 执行如下命令重新加载配置文件。
1
systemctl daemon-reload
- 执行如下命令重新启动服务。
1
systemctl restart gunicorn_port
- 执行如下命令重新加载配置文件。
- 配置DNS(如果已经配置了DNS,请跳过该步骤)。
- 执行如下命令修改“resolv.conf”文件。
1
vi /etc/resolv.conf
- 文件中增加如下内容:
1
nameserver ip
“ip”是DNS服务器的IP地址。
- 按“ESC”,输入“:wq”,按“Enter”保存并退出。
- 执行如下命令修改“resolv.conf”文件。
- 执行如下命令修改“/etc/systemd/system/gunicorn_port.service”文件。
父主题: 安装