Ansible自动化运维学习——综合练习

这篇具有很好参考价值的文章主要介绍了Ansible自动化运维学习——综合练习。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

(一)练习一

1.新建一个role——app

2.创建文件

3.删除之前安装的httpd服务和apache用户 

4.准备tasks任务

(1)创建组group.yml

(2)创建用户user.yml

(3)安装程序yum.yml

(4)修改模板httpd.conf.j2

(5)编写templ.yml

(6)编写start.yml

(7)编写copyfile.yml

(8)定义顺序main.yml 

5.准备变量文件vars

(1)编写变量脚本——main.yml

6.准备触发器handlers

(1)编写脚本main.yml

7.编写playbook脚本调度任务

8.角色app目录结构

9.执行脚本

10.检查结果

(二)练习二——使用运算符//,设置缓存大小

1.准备工作

2.修改node141机器的内存

(1)node141现在的内存 

(2)修改node141的内存

(3)修改node141后内存

(4)查看node142的内存 

3.编辑配置文件 

4.准备tasks任务

(1)编写yum.yml

(2)编写start.yml

(3)编写templ.yml 

(4)编写main.yml

5.角色memcached目录结构 

6.编写playbook脚本

7.检查并执行playbook脚本

8.脚本执行结果

(三)推荐资料 


(一)练习一

1.新建一个role——app

[root@ansible145 ansible]# cd roles/

[root@ansible145 roles]# rm -rf app/

[root@ansible145 roles]# mkdir app

[root@ansible145 roles]# cd app/

2.创建文件

[root@ansible145 app]# mkdir tasks templates vars handlers files

[root@ansible145 app]# tree
.
├── files
├── handlers
├── tasks
├── templates
└── vars

5 directories, 0 files

3.删除之前安装的httpd服务和apache用户 

ansible all -m shell -a 'rm -rf /data/*'

ansible all -m shell -a 'userdel -r apache'

ansible all -m shell -a 'yum -y remove httpd'

ansible all -m shell -a 'rpm -q httpd'

4.准备tasks任务

(1)创建组group.yml
- name: create group
  group: name=app system=yes gid=123
(2)创建用户user.yml
- name: create user
  user: name=app system=yes shell=/sbin/nologin uid=123
(3)安装程序yum.yml
- name: install package
  yum: name=httpd
(4)修改模板httpd.conf.j2
[root@ansible145 tasks]# cp /etc/httpd/conf/httpd.conf ../templates/httpd.conf.j2

[root@ansible145 tasks]# vim ../templates/httpd.conf.j2

41 #Listen 12.34.56.78:80
42 Listen {{ ansible_processor_vcpus*10 }}
43 #
44 # Dynamic Shared Object (DSO) Support

64 #
65 User {{ username }}
66 Group {{ groupname }}
67 
68 # 'Main' server configuration
(5)编写templ.yml
- name: copy conf
  template: src=httpd.conf.j2 dest=/etc/httpd/conf/httpd.conf
  notify: restart service
(6)编写start.yml
- name: start service
  service: name=httpd state=started enabled=yes
(7)编写copyfile.yml
- name: copy conf
  copy: src=vhosts.conf dest=/etc/httpd/conf.d/ owner=app
(8)定义顺序main.yml 
- include: group.yml
- include: user.yml
- include: yum.yml
- include: templ.yml
- include: copyfile.yml
- include: start.yml

5.准备变量文件vars

(1)编写变量脚本——main.yml
[root@ansible145 vars]# vim main.yml

username: app
groupname: app

6.准备触发器handlers

(1)编写脚本main.yml
[root@ansible145 app]# vim handlers/main.yml

- name: restart service
  service: name=httpd state=restarted

7.编写playbook脚本调度任务

[root@ansible145 ansible]# vim app_role.yml

- hosts: websrvs
  remote_user: root
  roles:
    - app

8.角色app目录结构

Ansible自动化运维学习——综合练习,Linux学习,运维,ansible,自动化

9.执行脚本

[root@ansible145 ansible]# ansible-playbook app_role.yml

10.检查结果

[root@node141 ~]# ss -ntl
users:(("httpd",pid=10792,fd=4),("httpd",pid=10791,fd=4),("httpd",pid=10790,fd=4),("httpd",pid=10789,fd=4),("httpd",pid=10788,fd=4),("httpd",pid=10787,fd=4))

[root@node141 ~]# getent passwd app
app:x:123:100::/home/app:/sbin/nologin

[root@node141 ~]# getent group app
app:x:123:

[root@node141 ~]# ps aux | grep app
app       10788  0.0  0.1 221948  2968 ?        S    12:01   0:00 /usr/sbin/httpd -DFOREGROUND
app       10789  0.0  0.1 221948  2968 ?        S    12:01   0:00 /usr/sbin/httpd -DFOREGROUND
app       10790  0.0  0.1 221948  2968 ?        S    12:01   0:00 /usr/sbin/httpd -DFOREGROUND
app       10791  0.0  0.1 221948  2968 ?        S    12:01   0:00 /usr/sbin/httpd -DFOREGROUND
app       10792  0.0  0.1 221948  2968 ?        S    12:01   0:00 /usr/sbin/httpd -DFOREGROUND
root      10850  0.0  0.0 112660   964 pts/1    S+   12:08   0:00 grep --color=auto app

Ansible自动化运维学习——综合练习,Linux学习,运维,ansible,自动化

(二)练习二——使用运算符//,设置缓存大小

要求每台被控机memcached的缓存空间为物理内存的1/4

1.准备工作

[root@ansible145 roles]# cd memcached/

[root@ansible145 memcached]# mkdir tasks templates

[root@ansible145 memcached]# yum install -y memcached

[root@ansible145 memcached]# cat /etc/sysconfig/memcached 
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS=""

2.修改node141机器的内存

(1)node141现在的内存 

Ansible自动化运维学习——综合练习,Linux学习,运维,ansible,自动化

(2)修改node141的内存

Ansible自动化运维学习——综合练习,Linux学习,运维,ansible,自动化

(3)修改node141后内存

Ansible自动化运维学习——综合练习,Linux学习,运维,ansible,自动化

(4)查看node142的内存 

Ansible自动化运维学习——综合练习,Linux学习,运维,ansible,自动化

Ansible自动化运维学习——综合练习,Linux学习,运维,ansible,自动化

3.编辑配置文件 

[root@ansible145 memcached]# cp /etc/sysconfig/memcached templates/memcached.j2

[root@ansible145 memcached]# vim templates/memcached.j2 

PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="{{ ansible_memtotal_mb//4 }}"
OPTIONS=""

4.准备tasks任务

(1)编写yum.yml
- name: install package
  yum: name=memcached
(2)编写start.yml
- name: start service
  service: name=memcached state=started enabled=yes
(3)编写templ.yml 
- name: copy conf
  template: src=memcached.j2 dest=/etc/sysconfig/memcached
(4)编写main.yml
- include: yum.yml
- include: templ.yml
- include: start.yml

5.角色memcached目录结构 

Ansible自动化运维学习——综合练习,Linux学习,运维,ansible,自动化

6.编写playbook脚本

[root@ansible145 ansible]# vim memcached_role.yml

- hosts: websrvs
  remote_user: root
  roles:
   - memcached

7.检查并执行playbook脚本

[root@ansible145 ansible]# ansible-playbook -C memcached_role.yml

[root@ansible145 ansible]# ansible-playbook memcached_role.yml

8.脚本执行结果

Ansible自动化运维学习——综合练习,Linux学习,运维,ansible,自动化

Ansible自动化运维学习——综合练习,Linux学习,运维,ansible,自动化

(三)推荐资料 

http://galaxy.ansible.com

https://galaxy.ansible.com/explore#/

http://github.com/

http://ansible.com.cn/

https://github.com/ansible/ansible

https://github.com/ansible/ansible-examples文章来源地址https://www.toymoban.com/news/detail-607575.html

到了这里,关于Ansible自动化运维学习——综合练习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 自动化运维工具—Ansible

    Ansible是一个基于Python开发的配置管理和应用部署工具,现在也在自动化管理领域大放异彩。它融合了众多老牌运维工具的优点,Pubbet和Saltstack能实现的功能,Ansible基本上都可以实现。 市面上其他自动化工具:pupet(ruby语言) saltstack(python) chef(C/S模式)等 Ansible能批量配

    2024年02月10日
    浏览(35)
  • Ansible自动化运维工具

    Ansible是一个基于Python开发的配置管理和应用部署工具,现在也在自动化管理领域大放异彩。它融合了众多老牌运维工具的优点,Pubbet和Saltstack能实现的功能,Ansible基本上都可以实现。 ansible 自动化运维工具(机器管理工具) 可以实现批量管理多台(成百上千)主机,应用级

    2024年02月14日
    浏览(39)
  • 自动化运维ansible(role)

    一、role的介绍 1、Roles称为角色,本质上是为简化playbook配置文件而产生的一种特殊的方法。 2、简单来说,roles就是将原本在一个yaml中的文件进行规则化分散,封装到不同的目录下,从而简化playbook的yaml配置文件大小。从其实现方法上来看,类似于软件开发上的代码封装。

    2024年02月07日
    浏览(29)
  • 自动化运维工具——Ansible

    Ansible是一个基于Python开发的配置管理和应用部署工具,现在也在自动化管理领域大放异彩。它融合了众多老牌运维工具的优点,Pubbet和Saltstack能实现的功能,Ansible基本上都可以实现。 Ansible能批量配置、部署、管理上千台主机。比如以前需要切换到每个主机上执行的一或多个

    2024年02月14日
    浏览(39)
  • Ansible 自动化运维工具

    目录 一: Ansible 简介   Ansible与其他自动化运维工具对比  二: ansible 环境安装部署   三:ansible 命令行模块 1、command 模块 2、 shell 模块 3、 cron 模块 4、 user 模块 5、 group 模块  6、copy 模块 7、 file 模块  8、hostname 模块 9、ping 模块 10、 yum 模块 11、 service/systemd 模块

    2024年02月15日
    浏览(34)
  • 自动化运维——ansible (五十二) (01)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 一、概述 1.1 为什么要用自动化运维软件 1.2 自动化运维 1.3 自动化运维要注意的方面 1.4 自动化运维主要关注的方面  1.5 常见的开源自动化运维软件 1.6 自动化运维软件一般安装在哪 二、ansibl

    2024年02月09日
    浏览(37)
  • 自动化运维工具之Ansible

    Ansible是一个基于Python开发的配置管理和应用部署工具,现在也在自动化管理领域大放异彩。它融合了众多老牌运维工具的优点,Pubbet和Saltstack能实现的功能,Ansible基本上都可以实现。 Ansible能批量配置、部署、管理上千台主机。比如以前需要切换到每个主机上执行的一或多个

    2024年02月08日
    浏览(59)
  • 【Ansible】Ansible自动化运维工具之playbook剧本

      简单来说,playbooks是一种简单的配置管理系统与多机器部署系统的基础。与现有的其他系统有不同之处,且非常适合复杂应用的部署。   Playbooks 可用于声明配置,更强大的地方在于,playbooks可以编排有序的去执行过程,甚至做到多组机器间来回有序的执行特别指定的

    2024年02月14日
    浏览(31)
  • Ansible自动化运维工具---Playbook

    playbook是剧本的意思,通过 task 调用 ansible 的模块将多个 play 组织在一 个playbook中运行。 playbook各部分组成 : Tasks : 任务,即调用模块完成的某操作 Variables : 变量 emplates : 模板 Handlers : 处理器,当某条件满足时,触发执行的操作 Roles : 角色 playbook yaml语法 是换行空两格,-和

    2024年02月03日
    浏览(32)
  • Ansible自动化运维工具的认识

    目录 一、Ansible概述 二、Ansible特点 三、Ansible应用 1、使用者 2、Ansible工具集合 3、作用对象 四、Ansible的搭建 1、实验环境 2、环境准备 Ansible: 3、创建ssh免密交互登录 client端环境准备 五、Ansible配置 六、Ansible命令 1、ansible 实验案例: 1.检查所有主机是否存活 2.列出Rich组中

    2024年02月16日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包