虚拟机运维方案(部署虚拟机的方式)
在生活中,很多人可能想了解和弄清楚运维部署方式之——虚机部署的相关问题?那么关于虚拟机运维方案的答案我来给大家详细解答下。
标准化
使用作業系统:Linux CentOS 7
自动化方式
通过 Ansible系统初始化 playbook来管理。
目的
系统初始化工作是一个简单、繁复的工作,从云网得到的虚拟主机只是一个基础的系统环境,有许多安装包和环境所需要的配置都没有进行相应的设置,运维同事需要针对虚拟主机担任角色不同而需要进行一此初始化工作,为了从完全人肉方式初始化系统中解脱出来,所以用 Ansible工具编写 playbook来完成系统初始化工作。提高系统初始化效率,减少主机上线时间,减少因人肉初始化系统带的操作失误。
主机角色及任务梳理
实际环境中因主机担任的角色不同而所需要初始化的操作也有所不同,需要整理出几个大类的主机角色,以及各种主机角色所在做的操作,关联到 Ansible上就所要做的就是 Task。
主机角色分类:
1. 纯JDK运行环境2. Tomcat运行环境3. redis-cluster集群环境4. Nginx环境5. HAproxy环境.....
主机所需执行 Task
根据主机所担任的角色不同所需要执行的 Task也有所不同,而有一些 Task是需要在所有主机执行。
基础 Task
基础stsk是所有主机都需要执行的task,task整理如下:
禁用ssh登陆DNS解析启用开机执行时间同步配置yum源安装基础软件包时间同步设置成crontab执行计划任务时启用日志功能设置主机网关(若无就设置网关)设置常用命令别名设置主机DNS修改主机openfile增加业务用户,设置密码,建立无密码验证修改root用户密码......(待整理,tce/fixo/公有云 环境做法有区别)
JDK运行环境所执行 Task
JDK环境只需要安装JDK包和配置必要的JAVA环境变量即可,针对JAVA的环境变量不会去编辑 /etc/profile 这个系统级的环境文件,只修改用户家目录下的 .bashrc 和 .bash_profile 文件。所执行task整理如下:
拷贝JAVA二进制程序到远程主机的用户home目录拷贝.bashrc和.bash_profile文件到用户家目录
Tomcat运行环境执行 Task
Tomcat环境除了需要JDK外,还需要上传一个Tomcat包到远程主机,再配置Tomcat相应的环境变量,在配置环境变量时同样不会去改变系统级的环境变量,只是修改.bashrc和.bash_profile用户级的环境变量文件。需要执行的task整理如下:
拷贝JAVA二进制包到远程主机的用户家目录拷贝Tomcat二进制包到远程主机的用户家目录拷贝.bashrc和.bash_profile文件到用户家目录根据远程主机的内存大小来配置catalina.sh文件中的JVM的内存大小......
Redis-cluster集群环境需执行task
Redis cluster集群方式待整理。
br拷贝redis二进制包到远程主机br生成redis.conf文件br启动redis实例br... ...
Nginx环境需执行task
Nginx环境的部署采用自编译后的二进制包,编译过程请参考这里,需要执行的task大致如下:
安装依赖包把已编译好的二进制包拷贝到目标主机并解压到相应目录增加运行nginx的用户增加systemctl方式管理的nginx.service脚本提供样例配置文件配置nginx日志滚动提供常用的网络优化参数导出nginx的二进制文件开启nginx配置文件的语法高亮......
HAproxy环境所需执行task
HAproxy的环境部署直接采用yum的安装,版本是 ,需要执行的task整理如下:
安装haproxy软件包提供样例配置文件开启haproxy配置文件的语法高亮开启haproxy的日志功能......
上边把生产环境中常见的环境罗列出来,实际的例子待整理。
注意事项Ansible的所有操作都是基于模块,在使用 Ansible时一定要建立起这个概念,比如你要新建一个文件或目录是使用file模块,拷贝一个文件到远程主机可使用copy模块或synchronize模块,要执行一个命令是使用shell模块或raw模块等等。
温馨提示:通过以上关于运维部署方式之——虚机部署内容介绍后,相信大家有新的了解,更希望可以对你有所帮助。