DevOps 巅峰战役 04- 资源准备

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?这是我最常使用的服务器型号,所以就基于这个版本进行开发,如果有特殊版本的需求,只需重复我们的资源准备步骤即可。

界面设计


DevOps 巅峰战役 04- 资源准备


我设想的界面中,暂时是有三个一级菜单:常用工具、服务管理、服务配置。

常用工具菜单下有软件工具安装的子菜单,常用的工具我暂时设想到是:时间同步【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



未完待续... ...


分享到:


相關文章: