标签:私有云部署
在如今公有云大行其道的时代,有些个别的行业或企业出于对安全方便的考虑,希望控制服务器的管理权限,也是存在对私有云的需求。这篇文章主要是介绍了我在某企业内部搭建私有云的具体实践步骤。由于我们的整个架构比较简单,没有涉及到双活,大数据这些复杂的结构,只是简单的实现网站发布和后台数据交互的需求,所以对其他不同业务可能借鉴意义不大,仅供参考。对于我自己来说,这个我第一个完整的搭建平台的项目,希望记录下过程,方便日后参考,也喜欢以后的自己不要嘲笑现在技术薄弱的我,"呵呵,这样也算是私有云"........ 好吧,言归正传,踏实积累。
简单的描述一下整个框架的技术,负载均衡和反向代理我们用的是nginx,前端H5我们使用的Node.js技术,后端API接口我们用的是Tomcat发布,之后资源池,我们用mysql做数据库,mongodb存储日志,tomcat发布资源文件API接口,总线也用tomcat来发布。以下目录是我方(私有云技术提供方)和对方(使用私有云技术的企业)所要准备的资源。
搭建私有云,我方需准备资源如下
1. 软件:
- nginx安装包(nginx-1.7.4.tar.gz)
- nodejs安装包(node-v6.1.0-linux-x64.tar.gz)
- tomcat安装包(apache-tomcat-8.0.5.tar.gz)
- mysql安装包(mysql-5.6.29-linux-glibc2.5-x86_64.tar.gz)
- jdk安装包(jdk-8u45-linux-x64.gz)
- open-falcon监控客户端安装包(agent.tar.gz)
2. 配置文件
- nginx配置文件(nginx.conf)
3. 发布脚本
- API后端服务器一键发布脚本
- API后端服务器全开/关脚本
- API后端服务器一键测心跳脚本
- H5前端服务器一键发布脚本
对方企业需准备资源如下
1. 9台装有Centos7系统的服务器(1台nginx服务器,1台H5服务器,1台API高性能服务器,1台文件资源服务器,1台mysql数据库服务器,1台mongodb数据库服务器,1台总线服务器),并保证nginx服务器联通因特网,其他服务器之间相互联通。
2. 1个泛二级域名(客户端需要通过域名访问服务器)
3. 有CA数字签名认证的SSL证书(server.crt)(保证SSL安装连接,提升连接安装性)
注:电信需要提供到服务器集群的远程方式。各服务器操作系统由厂商提供,其余应用程序由智业提供。
服务器名称 | 服务器配置 | 网络配置 | Ip+账户 | 映射外网ip |
物理机1(API备用) | CPU:8核+ 2*4 内存:64G+ 磁盘:500G+ (/ 406G, /dev 32G, /run/shm 32G) 操作系统:linux centos 7(厂商提供) | 1、连接互联网:>=100M(只允许服务器访问互联网,不允许互联网访问服务器) 2、访问云端集群各服务器 | ||
物理机2(API备用) | CPU:8核+ 2*4 内存:64G+ 磁盘:500G+ (/ 406G, /dev 32G, /run/shm 32G) 操作系统:linux centos 7(厂商提供) | 1、连接互联网:>=100M(只允许服务器访问互联网,不允许互联网访问服务器) 2、访问云端集群各服务器 3、访问院内APP前置服务器 | ||
H5 nodejs Web服务器 | CPU:4核+ 内存:32G+ 磁盘:300G+(/ 50G, /home 234G, /dev 16G, /dev/shm 16G, /run 16G, /sys/fs/cgroup 16G, /run/user/0 3.2G) 操作系统:linux centos 7(厂商提供) | 1、连接互联网带宽:>=100M 独享(对外服务,app访问路口,固定ip) | ||
总线微服务API服务器 | CPU:4核+ 2*2 内存:32G+ 磁盘:300G+(/ 50G, /home 234G, /dev 16G, /dev/shm 16G, /run 16G, /sys/fs/cgroup 16G, /run/user/0 3.2G)
操作系统:linux centos 7(厂商提供) | 1、连接互联网:>=100M(只允许服务器访问互联网,不允许互联网访问服务器) 2、访问云端集群各服务器 | ||
虚拟机3(Mysql服务器) | CPU:4核+ 2*2 内存:32G+ 磁盘:300G+ (/ 50G, /home 234G, /dev 16G, /dev/shm 16G, /run 16G, /sys/fs/cgroup 16G, /run/user/0 3.2G) 操作系统:linux centos 7(厂商提供) | 1、连接互联网:>=100M(只允许服务器访问互联网,不允许互联网访问服务器) 2、访问云端集群各服务器 | 需要开通mysql远程登入账号 grant all on *.* to ‘用户名‘@‘%‘ identified by ‘ ‘; | |
虚拟机4(Mongodb服务器) | CPU:4核+ 2*2 内存:32G+ 磁盘:300G+ (/ 50G, /home 234G, /dev 16G, /dev/shm 16G, /run 16G, /sys/fs/cgroup 16G, /run/user/0 3.2G)
操作系统:linux centos 7(厂商提供) | 1、连接互联网:>=100M(只允许服务器访问互联网,不允许互联网访问服务器) 2、访问云端集群各服务器 | 需要设置mongodb远程登入权限 (详情见文档) | |
虚拟机5(资源服务器) | CPU:4核+ 2*2 内存:32G+ 磁盘:300G+ (/ 50G, /home 234G, /dev 16G, /dev/shm 16G, /run 16G, /sys/fs/cgroup 16G, /run/user/0 3.2G) 操作系统:linux centos 7(厂商提供) | 1、连接互联网:>=100M(只允许服务器访问互联网,不允许互联网访问服务器) 2、访问云端集群各服务器 | ||
虚拟机6(nginx服务器) | CPU:4核+ 2*2 内存:32G+ 磁盘:300G+ (/ 50G, /home 234G, /dev 16G, /dev/shm 16G, /run 16G, /sys/fs/cgroup 16G, /run/user/0 3.2G) 操作系统:linux centos 7(厂商提供) | 1、连接互联网:>=100M(只允许服务器访问互联网,不允许互联网访问服务器) 2、访问云端集群各服务器 3、开放端口80和443 | 需要公网IP |
具体安装步骤参考文档:
nginx安装部署(http://11601346.blog.51cto.com/11591346/1905659)
node.js安装部署(http://11601346.blog.51cto.com/11591346/1851621)
tomcat安装部署(http://11601346.blog.51cto.com/11591346/1908077)
mysql安装部署(http://11601346.blog.51cto.com/11591346/1908064)
mongodb安装部署(http://11601346.blog.51cto.com/11591346/1892046)
在安装中,只有nginx这台主机有公网IP,其他的服务器都是内网IP。需要配置iptables做转发,内网的服务器才能访问外网(在安装应用的时候使用yum安装,需要连通外网)。具体设置步骤如下:
修改nginx服务器中 /etc/sysctl.conf 配置文件,加入 net.ipv4.ip_forward = 1 节点,开启ip转发功能;设置iptables(iptables -t nat -I POSTROUTING -s 10.10.10.0/24 -j SNAT --to-source 10.10.10.77)其中10.10.10.0是内网服务器的IP网段,10.10.10.77是nginx在内网中的IP地址。并暂时关闭firewalld服务,在其他内网服务器上将默认网关指向10.100.10.18,重启network,即可访问外网。
本文出自 “11591346” 博客,请务必保留此出处http://11601346.blog.51cto.com/11591346/1908079
标签:私有云部署
原文地址:http://11601346.blog.51cto.com/11591346/1908079