ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Centos 7.6 下利用ansible自动化安装httpd

2020-12-22 18:01:07  阅读:178  来源: 互联网

标签:httpd name Centos 192.168 etc ansible yum


参考资料:

Ansible中文权威指南:

http://www.ansible.com.cn/docs/intro.html

 

一、ansible简介

ansible是一款由python语言编写的一款自动化运维工具,它集合了众多运维工具(puppet、cfengine、chef、func、fabric)优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。它的创始人,Michael DeHaan(cobbler与Func软件的作者),他在2012年3月9日发布了ansible 0.01版。2015年10月17日被RedHat宣布收购。

  二、ansible的特点

  1、无客户端,只需安装SSH、python即可,其中python建议版本2.6.6以上

  2、基于openssh通信,底层基于ssh协议(Windows基于powershell)

  3、支持密码和SSH认证,因可以通过系统帐户密码认证或公钥私钥认证,所以整个过程简单、方便、安全。

  4、支持Windows,但仅支持被管理端是Windows,管理端必须是Linux系统 

  5、模块化:调用特定的模块,完成特定任务

  6、支持playbook编排任务(类似shell中的脚本)

  7、幂等性:一个任务执行一遍和执行N遍的效果一样,不因重复执行带来意外情况

  8、可以使用任何编程语言编写模块(python可以调用其他语言的库)

  9、YAML格式,编排任务,支持丰富的数据结构

  三、ansible是如何工作的?

  Ansible没有客户端,因此底层通信依赖系统软件,在Linux系统下基于openssh通信,在Windows下基于powershell,管理端必须是Linux系统,使用者认证通过后在管理节点通过ansible工具调用各应用模块指令推送至被管理端执行,并在执行完毕后自动删除产生的临时文件。

 

实验准备:

 

两台主机:

 

一台管理机(192.168.6.129)一台客户机(192.168.6.130)

一:管理机(192.168.6.129)

安装ansible服务(这里需要用到光盘的镜像文件) 启动autofs服务

1.yum 仓库配置 (此处的可以加多一个阿里云epel )

1 [base]                     
2 name=cdrom repo            
3 baseurl=file:///mnt/cdrom  
4 enabled=1                  
5 gpgcheck=1                 
6 gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-CentOS-7 
View Code

2.安装ansible服务

1 yum -y install ansible 

3.配置清单

/etc/ansible/  #目录

/etc/ansible/hosts #主机清单

/etc/ansible/ansible.cfg #主配置文件

4.实现远程主机的连接

 

ansible支持密码和SSH认证,因可以通过系统帐户密码认证或公钥私钥认证,所以整个过程简单、方便、安全,因此这里可以通过基于ssh 的Key认证来实现远程连接

ssh-genkey 
ssh-copy-id 192.168.6.129(主机端)
scp -r .ssh 192.168.6.130:~/ 
View Code

5.配置主机清单

1 Vim /etc/ansible/ansible/hosts
2 
3 [websrvs]  #组名
4 192.168.6.130 #远程主机IP

测试:

1 [root@Centos7 ansible]# ansible websrvs -m ping

 

 6.配置自动化部署脚本 install_httpd.yml (对格式敏感)

 1 ---
 2   - hosts: websrvs    # /etc/ansible/hosts 文件配置中的websrvs
 3     remote_user: root # 用那个用户执行操作
 4 
 5     tasks:
 6       - name: copy epel file    # 简介
 7         copy: src=/etc/yum.repos.d/test.repo dest=/etc/yum.repos.d/test.repo #模块操作
 8       - name: clean yum    # 简介
 9         shell: yum clean all  #模块操作
10       - name: flush yum     # 简介
11         shell: yum repolist   #模块操作  
12       - name: install httpd    # 简介
13         yum: name=httpd    #模块操作
14       - name: start httpd     # 简介
15         service: name=httpd state=started enabled=yes  #模块操作
View Code

 

 测试:

1 [root@Centos7 ansible]# ansible-playbook -C install_httpd.yml 

7. 自动化安装ansible 服务

查看ss -ntl  状态

80端口没开 httpd 服务是80端口的

 

 80端口没开 httpd 服务是80端口的

 

 

1 [root@Centos7 ansible]#ansible-playbook install_httpd.yml

 

 查看客户机(192.168.6.130)80端口已开

 

 

 

 

 

 

 

 

 

 

 

标签:httpd,name,Centos,192.168,etc,ansible,yum
来源: https://www.cnblogs.com/Harry-z/p/14174393.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有