DevOps 巅峰战役 04- 资源准备
前面的教程里面,我们已经将基础架构都搭建完毕。接下来,要对整个web界面的呈现进行设计,并对所需资源进行准备。按照正常的逻辑是要画,原型图的,原型图确定了我们再着手开发。为了更方便的开发,我略过了这个步骤,如果大家对原型设计比较感兴趣,我们接下来开个番外篇,专门介绍下原型设计。
现在我们回顾一下,我们使用ansible、nginx、python3、maraidb等工具进行开发了应用中心。这个应用中心可以为centos 7.3.1611系统的服务器提供软件便捷安装。这里提到了centos 7.3.1611系统,也就是说我们这个应用中心是为了centos 7.3.1611系统进行开发的,所以接下来我们资源准备也是基于centos 7.3.1611系统进行准备。
也许大家会有疑问,为什么只支持centos7.3.1611?这是我最常使用的服务器型号,所以就基于这个版本进行开发,如果有特殊版本的需求,只需重复我们的资源准备步骤即可。
界面设计
我设想的界面中,暂时是有三个一级菜单:常用工具、服务管理、服务配置。
常用工具菜单下有软件工具安装的子菜单,常用的工具我暂时设想到是:时间同步【chrony】、定时任务【crontab】、HTTP服务器【httpd】、网络文件系统【NFS】、自动化运维工具【Ansible】、高性能代理服务器【Nginx】、解压工具【zip|unzip】、文件传输工具【lrzsz】、文件下载工具【wget】、网络通信检测工具【telnet】、文本编辑器【crudini】、进程管理工具【supervisord】、监控服务【zabbix】、关系型数据库【MySQL】、Key-Value数据库【Redis】、gcc编译环境、JAVA环境、Nodejs环境、Python3环境。这些工具的安装,对于我来说当然是so easy~~,不过我们开发的应用中心是给不熟悉centos系统的人使用。其实这些软件除了安装,还有很多的参数要配置,我们在应用中心中,要给出快捷安装工具的功能外,还要直接将服务调优,最好能出个README.md 。
服务管理菜单下有supervisor web、zabbix web子菜单。supervisor是进程管理工具,我们用supervisor web统一管理各个服务器上的supervisor管理的进程,想想挺酷炫的,一个web管理所有服务器上的进程~~ 。zabbix web自然是监控每一个服务器上的资源状况,我预计我会选用zabbix的主动模式,减少zabbix服务器的压力。
服务配置菜单下暂时只想到服务器配置优化的子菜单,可以做成一个博客的形式。这个博客可以收录我们常用工具的一些配置优化MD、使用指南MD... ...
资源准备
既然我们的界面设计已经清晰了,那么接下来我们将进行资源准备了。前面我们说到了这么多的常用工具,那我们接下来就是收集这些rpm包了,今天就只收集rpm包~~
写个脚本先【rpm.sh】
#!/bin/bash # 获取文件夹路径 getPath(){ this_dir=`pwd` dirname $0 | grep "^/" >/dev/null if [ $? -eq 0 ]; then this_dir=`dirname $0` else dirname $0 | grep "^\." >/dev/null retval=$? if [ $retval -eq 0 ]; then this_dir=`dirname $0 | sed "s#^.#$this_dir#"` else this_dir=`dirname $0 | sed "s#^#$this_dir/#"` fi fi echo `dirname $this_dir` } ## usage # 命令提示信息 usage() { cat<
yum安装,安装完成之后会删除下载的rpm包;想要yum安装软件后,还保留安装包,需要修改/etc/yum.conf配置文件中的keepcache参数。
sed -i "/^keepcache/ckeepcache=1" /etc/yum.conf
接下来,我们要开始安装上面列出来的工具
# rpm包:时间同步【chrony】、定时任务【crontab】、HTTP服务器【httpd】、网络文件系统【NFS】、自动化运维工具【Ansible】、解压工具【zip|unzip】、文件传输工具【lrzsz】、文件下载工具【wget】、网络通信检测工具【telnet】、文本编辑器【crudini】、Key-Value数据库【Redis】、gcc编译环境 yum -y install chrony yum -y install crontabs yum -y install httpd yum -y install rpcbind nfs-utils yum -y install ansible yum -y install zip unzip yum -y install lrzsz yum -y install wget yum -y install telnet yum -y install epel-release yum -y install crudini yum -y install redis yum -y install zlib zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make gcc-c++ pcre pcre-devel openssl openssl-devel #tar包:高性能代理服务器【Nginx】、进程管理工具【supervisord】、监控服务【zabbix】、关系型数据库【MySQL】、JAVA环境、Nodejs环境、Python3环境 # 今天暂时不介绍tar包的收集
待我们安装完毕,我们需要使用之前的脚本来生成本地源。
sh rpm.sh --generate
未完待续... ...