反馈已提交

网络繁忙

准备运维平台服务器

  • 文档创建者:Carly
  • 历史版本:38
  • 最近更新:Carly 于 2024-11-28
  • 概述

    运维平台需要部署在一台服务器上,本文详尽的介绍该服务器必须满足的资源要求。

    服务器数量

    由于虚拟机自身的特性,会存在资源竞争等情况,可能导致出现预期外的系统故障,因此不建议在虚拟机中部署运维平台。

    运维平台类型
    建议
    标准版

    建议运维平台独占 1 台服务器

    即服务器中仅部署FineOps运维平台,不部署其他应用或帆软项目,此时可以确保运维的独立性

    基础版

    运维平台可与帆软单节点项目共用 1 台服务器

    即服务器上中部署运维平台和 1 个帆软单机应用,此外不部署其他内容

    确保未安装Docker

    部署运维平台时,finekey工具会自动安装docker。

    请确保运维平台所在服务器,是纯净的环境,未预安装docker。否则可能由于版本和权限问题,导致运维平台部署失败。

    执行命令:docker version

    • 若无返回值,代表未安装docker

    • 若返回版本号,则代表安装了docker。请卸载docker或更换服务器。

    确认操作系统

    配置
    要求
    操作系统类型Linux
    操作系统架构X86_64
    操作系统内核

    3.10版本及以上

    操作系统软件

    推荐:Ubuntu 22 版本

    支持:

    Ubuntu 18.04.4 及以上版本(不支持 Ubuntu20.04 版本 

    CentOS 7.3~7.9 版本

    redhat 7.6 及以上版本

    Rocky Linux 8.8~9.4版本

    注:CentOS操作系统目前已停止服务,因此帆软优先推荐使用Ubuntu操作系统

          使用Ubuntu操作系统时,请注意检查用户权限(默认root用户不是超管)

    确认资源配置

    部署运维平台的服务器应当满足下表条件:

    配置
    要求
    CPU最低4核

    根目录剩余

    空闲磁盘大小

    1G

    安装目录剩余

    空闲磁盘大小

    以下两者,取较大值为配置要求:

    1)服务器中存在一个分区剩余可用空间,推荐大于 200G ,最低 100G

    注:如准备全新磁盘,建议至少120G。因为系统会占用部分空间,导致剩余不足100G

    2)如对接的运维项目较多,请根据项目日访问量额外增加运维平台磁盘。日访问量5w/2个工程节点,对应100G磁盘

    注:可使用命令「df -h」查询磁盘空间,必须要有任一分区满足条件,不可将分区容量加和

    剩余空闲
    物理内存

    标准版-独占服务器:建议16G以上,最低12G

    标准版-非独占服务器:16G以上

    基础版:4G以上

    如对接的运维项目较多,超过10个工程节点(集群按照主应用节点数计算)。每多1个工程节点,需要额外增加100M内存

    外网带宽5MB/S

    之所以需要上表的配置,是因为FineOps运维平台的每个组件,有最低运行配置要求,如下表所示:

    组件
    CPU使用上限内存使用上限内存配置xmx
    ops2Core3G2G
    nginx1Core1G-
    ops-agent1Core1G512M
    pushgateway1Core0.5G-
    prometheus1Core1G-
    grafana1Core1G-
    alertmanager1Core1G-
    elasticsearch1Core4G2G
    skywalking_oap1Core3G2G
    registry1Core--

    确认端口空闲

    运维平台中存在很多组件,部分组件的端口需要映射到宿主机,占用服务器端口运行。

    在部署前,请确保默认的映射端口是否已被使用,如已被使用,请安排好其他空闲端口。

    注1:端口占用检查和防火墙放行方法请参考:端口占用检查与防火墙配置

    注2:ops、pushgateway、prometheus、grafana、alertmanager组件无需预留相关服务器端口,因为这些组件的容器端口不映射到宿主机。

    组件
    默认端口
    nginx即用户访问运维平台时所用端口

    root用户部署:80

    非root用户部署:8090

    ops-agent

    9071

    elasticsearch9200
    skywalking_oap

    11800、12800

    registry5000

    注3:如不使用上表的默认端口,选择自备端口。请注意避开以下端口:

    类型原因
    非root用户无法使用的端口

    如使用非root用户进行安装,请勿准备1024以下端口

    在Linux系统中,非root用户只能使用1024及以上端口

    Chrome浏览器非安全端口

    Chrome浏览器会将以下端口设别为非安全端口,以防止潜在的安全威胁

    请勿使用以下端口,如使用这些接口,会导致Chrome浏览器无法访问运维平台

    1、7、9、11、13、15、17、19、20、21、22、23、25、37、42、43、53、69、77、79、87、95、101、102、103、104、109、110、111、113、115、117、119、123、135、137、139、143、161、179、389、465、512、513、514、515、526、530、531、532、540、548、554、556、563、587、601、636、989、990、993、995、1719、1720、1723、2049、3659、4045、5060、5061、6000、6566、6665、6666、6667、6668、6669、6697、10080

    注:由于Chrome仍在不断更新中,非安全端口清单可能会出现更新,最新端口请参考 Chrome官方文档

    确认网络互通

    为了确保用户可以正常访问运维平台,为了确保运维平台可以正常部署和监测运维项目。

    服务器需要对外开放一些端口,供不同场景使用。

    注:端口占用检查和防火墙放行方法请参考:端口占用检查与防火墙配置

    外网与运维平台

    作用外网
    关系运维平台
    管理员访问运维平台

    运维人员

    任意IP

    访问->

    运维平台的 nginx 负载均衡

    默认端口为:

    • root部署:80

    • 非root部署:8090

    • 配置了SSL:443

    运维平台拉取云端仓库镜像

    帆软云端镜像仓库

    fineops-registry.cn-hangzhou.cr.aliyuncs.com:443

    <-访问registry

    5000

    运维平台与运维项目

    作用运维平台
    运维项目
    基础运维

    运维平台的 nginx 负载均衡

    默认端口为:

    • root部署:80

    • 非root部署:8090

    • 配置了SSL:443

    <-访问

    项目的应用和引擎节点

    包括:bi-web/bi-engine-master/bi-engine-worker/fr/fdl

    传输项目的服务器、组件指标信息给运维平台

    运维平台的 nginx 负载均衡

    默认端口为:

    • root部署:80

    • 非root部署:8090

    • 配置了SSL:443

    <-访问

    项目每一台服务器的ops-agent(工程节点+集群组件节点,任何服务器)

    默认端口为:9070

    链路追踪

    运维平台的skywalking_oap

    默认端口为11800、12800

    <-访问

    项目的应用和引擎节点

    包括:bi-web/bi-engine-master/bi-engine-worker/fr/fdl

    链路追踪

    运维平台的skywalking_oap

    默认端口为11800、12800

    <-访问

    项目的 nginx 内网

    默认端口为:

    • root部署:80

    • 非root部署:8090

    • 配置了SSL:443

    从运维平台的镜像仓库拉取组件进行项目部署registry

    默认端口为5000

    <-访问

    应用节点+BI引擎节点+集群组件节点

    任何服务器

    准备挂载目录

    运维平台挂载目录,是将宿主机上必要的FineOps文件与容器中的文件进行关联的方式。用于实现数据持久化、文件快速查看等功能。

    1)查看服务器磁盘空间

    命令:df -h,找出可用空间较大的挂载点

    例如本示例中,服务器最合适的挂载目录为/home目录下

    2)新建文件夹

    在该目录下,选择合适的位置新建文件夹,作为运维平台的挂载目录。

    • 使用 mkdir 命令创建文件夹(本示例在/home目录下创建一个名叫fanruan的文件夹):mkdir /home/fanruan

    • 使用 chmod 命令设置文件夹的权限(本示例直接赋777权限):chmod 777 /home/fanruan

    该目录位置/home/fanruan,即为部署运维平台时,finekey.yaml文件中的dataRootPath配置项

    注:禁止直接使用/、/usr、/root、/usr/local四个目录,作为dataRootPath

    3)清空ACL规则

    ACL用于精细化地控制不同用户或用户组对文件和目录的访问权限。

    如果准备的挂载目录配置了ACL规则,部署完成后,docker的data-root目录会自动继承ACL配置,从而导致各种各样的权限问题,比如容器无法启动等。

    因此建议移除挂载目录的所有 ACL 条目,仅保留传统的 UNIX 权限(请修改/home/fanruan为你的安装目录)。

    setfacl -b /home/fanruan/

    确认用户权限

    优先超管部署

    优先推荐使用用户id为0且名叫root的用户上传、解压、运行FineKey容器化部署工具。

    注1:用户id为0但不叫root的用户,不支持部署,请更名为root

    注2:Ubuntu操作系统,默认的root用户并非超管用户,请务必再次确认所准备的用户是否满足下方用户权限

    普通用户权限

    如需使用普通用户进行部署,请确保该用户拥有以下权限。

    注1:为什么需要这些权限,请参考:Linux用户权限说明

    注2:部署运维平台时,会自动在目标服务器创建docker环境,并将该用户加入docker用户组中。

          但是在部署成功后,必须关闭终端会话,重新打开终端连接服务器,方可使用户组生效,进行docker命令查询等操作。

    分类
    权限要求
    finekey存放位置权限

    运维平台部署,需要依赖finekey部署包,用户届时需要将finekey部署包上传到服务器并解压执行

    • 对于上传和解压finekey部署包的目标文件夹,请确保用户有执行tar命令的权限,以解压finekey安装包

    • 对于上传和解压finekey部署包的目标文件夹,请指定用户为该文件夹的所有者

    chown -R 用户名 /finekey存放位置绝对路径

    • 对于上传和解压finekey部署包的目标文件夹,请确保用户有该文件夹的读写执行权限

    chmod -R 755 /finekey存放位置绝对路径

    运维平台安装目录权限

    安装运维平台时,需要在运维平台安装目录新增、编辑文件

    • 对于上一章准备的运维平台安装目录,请指定用户为该文件夹的所有者

    chown -R 用户名 /运维平台安装目录绝对路径

    • 对于上一章准备的运维平台安装目录,请确保用户有该文件夹的读写执行权限

    chmod -R 755 /运维平台安装目录绝对路径

    用户的sudo权限

    必须允许用户在任何主机上以root身份使用sudo权限执行后续配置的一些命令

    • 请自行编辑 /etc/sudoers 文件,示例写法如下:请自行修改dev为你的用户名

    dev     ALL=(root) /bin/sh,/bin/mkdir,/bin/rm,/bin/cp,/bin/systemctl,/bin/kill,/usr/sbin/sysctl,/usr/bin/gpasswd,/usr/sbin/groupadd,/usr/bin/chown,/usr/sbin/modprobe,/usr/bin/echo,/usr/bin/sed,/usr/sbin/swapoff,/bin/sudo


    • 如果仍然权限不足,还可以配置NOPASSWD的sudo权限(自选)

    dev     ALL=(root) NOPASSWD:/bin/sh,/bin/mkdir,/bin/rm,/bin/cp,/bin/systemctl,/bin/kill,/usr/sbin/sysctl,/usr/bin/gpasswd,/usr/sbin/groupadd,/usr/bin/chown,/usr/sbin/modprobe,/usr/bin/echo,/usr/bin/sed,/usr/sbin/swapoff,/bin/sudo

    对用户禁用requiretty选项

    确保用户在执行 sudo 命令时不需要 TTY 会话,否则无法通过脚本/远程命令使用sudo

    • 请自行编辑 /etc/sudoers 文件,注释掉原本的requiretty相关内容

    #Defaults: requiretty

    关闭SELinux

    SELinux 是 Linux 内核中的一个安全模块,通过强制访问控制机制来严格限制程序和用户对系统资源的访问。

    在 SELinux 开启的情况下,可能会影响通过 systemctl 命令以服务方式启动 Docker 。

    为确保 finekey 部署顺利进行,请在执行部署前先关闭 SELinux 。



    查看SELinux状态

    命令:

    • getenforce

    返回值:

    • Enforcing:强制模式,所有违反SELinux策略的操作都会被阻止

    • Permissive:宽容模式,违反SELinux策略的操作不会被阻止,但会被记录在日志中

    • Disabled:SELinux被禁用,系统不再使用SELinux的安全策略

    如返回值为Enforcing,则需要手动关闭SELinux

    关闭SELinux1)临时关闭SELinx
    • 命令:sudo setenforce 0

    将SELinux从强制模式切换到宽容模式,无需重启服务器立刻生效

    2)永久关闭SELinux(可选,需重启Linux服务器生效)

    • 编辑配置文件sudo vi /etc/selinux/config

    • 修改 SELinux 状态:SELINUX=disabled

    将SELinux禁用,重启服务器后改方可生效

    3)注意事项

    如果是在执行了./finekey命令卡住后,再参考上文关闭SELinux,那么需要杀死相关进程方可再次执行./finekey进行部署

    • 手动停止docker:systemctl stop docker

    • 上面这个命令仍然会卡住,中断命令:Ctrl + C

    • 杀死原来卡住的进程:kill -9 $(pidof dockerd)

    此时即可再次执行./finekey进行部署


    附件列表


    主题: 部署运维平台
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持