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



未完待續... ...


分享到:


相關文章: