快速部署¶
OpsAny默认使用Docker进行容器化部署,如果服务器可以访问外网,可以直接从镜像仓库拉取镜像。如果无法访问外网,需要部署内网的制品仓库,或者直接拷贝Docker镜像,本地导入。
部署主机配置¶
OpsAny社区版部署,使用一台虚拟机即可,推荐使用4CPU和16G内存的主机,硬盘根据纳管的服务器数量综合考虑,例如100台主机,一年需要至少500G空间存储监控数据,日志数据另计。
配置推荐 | 操作系统 | 主机配置 | 备注 |
---|---|---|---|
体验配置 | CentOS 7.8 | 2C、8G、50G | 关闭SELinux和防火墙 |
推荐配置 | CentOS 7.8 | 4C、16G、100G | 关闭SELinux和防火墙 |
测试通过系统:
- CentOS 7.x所有版本
- CentOS 8.x所有版本
- Ubuntu 18.04、20。04
平台部署场景¶
内网部署,内网访问¶
部署场景介绍: 平台部署在内网,仅管理内网主机,无法上公网。
部署需求:
需要内网受管主机可以访问到OpsAny平台的80、443、4505、4506、10051端口。
内网部署,公网访问¶
部署场景介绍:平台部署在内网,管理内网主机,同时也需要管理外网主机。
部署需求:
- 需要公网IP地址和域名,需要内网和公网均可以访问到OpsAny平台的80、443、4505、4506、10051。
- 在【管控平台】-【控制器】中需要设置外网和内网控制器地址。但是访问平台的地址只能三选一(域名、公网IP、内网IP),为了安全性,不支持内外网混合访问。建议使用域名。
Docker容器在线部署¶
部署OpsAny PaaS平台¶
1.安装Docker和初始化使用的软件包
1.1安装Docker和MySQL
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
curl -o /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y git wget docker-ce mariadb jq python3 python3-pip
systemctl enable --now docker
1.2安装MongoDB客户端
cat > /etc/yum.repos.d/mongodb.repo <<"EOF"
[mongodb-org]
name=MongoDB Repository
#baseurl=https://mirrors.tuna.tsinghua.edu.cn/mongodb/yum/el$releasever/
baseurl=http://mirrors.cloud.tencent.com/mongodb/yum/el$releasever/
gpgcheck=0
enabled=1
EOF
yum install -y mongodb-org-shell mongodb-org-tools
1.1安装Docker和MySQL
dnf config-manager --add-repo=http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
dnf -y install docker-ce --nobest
dnf -y install mariadb jq git
systemctl enable --now docker
1.2.MongoDB客户端
cat > /etc/yum.repos.d/mongodb.repo <<"EOF"
[mongodb-org]
name=MongoDB Repository
#baseurl=https://mirrors.tuna.tsinghua.edu.cn/mongodb/yum/el$releasever/
baseurl=http://mirrors.cloud.tencent.com/mongodb/yum/el$releasever/
gpgcheck=0
enabled=1
EOF
yum install -y mongodb-org-shell mongodb-org-tools
1.1.安装Docker和MySQL客户端
# step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# step 2: 安装GPG证书
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# Step 3: 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# Step 4: 更新并安装Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce jq wget mysql-client git
systemctl enable --now docker
1.2.安装MongoDB客户端
sudo wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
sudo add-apt-repository 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse'
sudo apt install -y mongodb-org-shell mongodb-clients
2.克隆代码
cd /opt && git clone https://gitee.com/unixhot/opsany-paas.git
cd /opt && git clone https://github.com/unixhot/opsany-paas.git
3.修改安装配置【必须修改】
cd /opt/opsany-paas/install && cp install.config.example install.config
vim /opt/opsany-paas/install/install.config
# 安装OpsAny的本机内网IP地址。
LOCAL_IP="192.168.56.11"
# 访问OpsAny的域名,如果是在内网访问请修改为和LOCAL_IP一样,如果是外网访问,请修改为真实访问的域名或者公网IP。
安装后暂不支持修改,此配置会作为Cookie的作用域的域名,所以如果配置的和访问的不同,会导致无法通过验证。
DOMAIN_NAME="192.168.56.11"
4.执行安装脚本进行PAAS平台部署
cd /opt/opsany-paas/install/
./paas-install.sh
拉取较慢,请耐心等待。如果安装失败,可以执行uninstall.sh,然后重新执行paas-install.sh
5.访问域名测试,默认用户名admin 密码admin
- https://192.168.56.11/
此时仅仅是部署了PaaS平台,还未部署任何的应用,需要部署应用之后才可以使用。
部署OpsAny SaaS应用¶
1.申请OpsAny软件包: 申请社区版
申请完毕之后,请查看邮件,软件包下载地址和验证密钥会发送到您申请时填写的邮箱中。
2.根据邮件内容下载软件包,解压并执行安装操作。
注意解压到opsany-paas同级目录,例如/opt/opsany-paas,/opt/opsany-saas。
cd /opt/
tar zxf opsany-saas.tar.gz
cd /opt/opsany-paas/install/
./saas-install.sh
3.解压并部署opsany-agent,将agent目录放置在uploads下面,提供下载。
cd /opt/
tar zxf opsany-agent.tar.gz
mv agent /opt/opsany/uploads/
4.安装完毕之后,访问平台,访问会提示设置License,请填写邮件中的授权人和授权密钥即可。
5.现在就可以正式使用OpsAny了,有任何问题,可以在交流群提问。
部署服务明细¶
序号 | 服务名称 | 监听端口 | 备注 |
---|---|---|---|
基础服务 | OpenResty | 80、443 | 提供Web访问 |
MySQL | 3306 | 提供数据存储 | |
MongoDB | 27017 | 提供文档型数据存储 | |
RabbitMQ | 5672、15672 | 提供消息队列服务 | |
Redis | 6379 | 提供缓存服务 | |
Elasticsearch | 9200 | 提供日志存储和搜索 | |
平台服务 | appengine | 8000 | SAAS服务支持 |
paas | 8001 | 开发中心服务 | |
esb | 8002 | 企业服务总线 | |
login | 8003 | 统一登陆 | |
WebSocket | 8004 | 为堡垒机提供websocket | |
应用服务 | Saltapi | 8005 | 提供远程执行和文件分发 |
Zabbix | 8006 | 提供监控服务 | |
Grafana | 8007 | 提供可视化图表 | |
paasagent | 4245、8085 | SAAS服务部署 | |
RDP-websocket | 4822 | 连接Windows服务器 | |
saltstack | 4505、4506 | 管控平台 | |
备注 | 管理外网主机,平台需要独立地址并对外端口:80、443、4505、4506、10051 |