随笔分类 - Ansible自动化运维工具
自动化运维工具
摘要:#一、配置主机清单和hosts ##1.主机清单 [root@m01 ~]# cat /etc/ansible/hosts [web_group] web01 ansible_ssh_pass='1' web02 ansible_ssh_pass='1' [slb] lb01 ansible_ssh
阅读全文
摘要:#一、Ansible Roles概述 roles不管是Ansible还是saltstack,我在写一键部署的时候,都不可能把所有的步骤全部写入到一个'剧本'文件当中,我们肯定需要把不同的工作模块,拆分开来,解耦,那么说到解耦,我们就需要用到roles官方推荐,因为roles的目录结构层次更加清晰。
阅读全文
摘要:#一、配置主机清单 [root@m01 ~]# cat /etc/ansible/hosts [web_group] web01 ansible_ssh_pass='1' web02 ansible_ssh_pass='1' #web03 ansible_ssh_pass='1' [slb] lb0
阅读全文
摘要:#一、jinja2概述 jinja2是Python的全功能模板引擎,就是一个配置文件的模板,支持变量 Ansible通常会使用jinja2模板来修改被管理主机的配置文件等...在saltstack中同样会使用到jinja2 如果在100台主机上安装nginx,每台nginx的端口都不一样,如何解决?
阅读全文
摘要:#一、playbook忽略错误 默认playbook会检测task执行的返回状态,如果遇到错误则会立即终止playbook的后续task执行,然而有些时候playbook即使执行错误了也要让其继续执行。 加入参数:ignore_errors:yes 忽略错误 #二、playbook忽略错误使用 -
阅读全文
摘要:#一、playbook复用概述 在之前写playbook的过程中,我们发现,写多个playbook没有办法,一键执行,这样我们还要单个playbook挨个去执行,很鸡肋。所以在playbook中有一个功能,叫做include用来动态调用task任务列表。 #二、include 和 import区别
阅读全文
摘要:#一、playbook 任务标签概述 如果你有一个大型的剧本,那么只能运行它的特定部分而不是在剧本中运行所有内容可能会很有用。因此,Ansible支持“tags:”属性。 执行playbook时,可以通过两种方式根据 “tags” 过滤任务 1.在命令行上,使用或选项“--tags或 --skip-
阅读全文
摘要:#一、playbook条件语句 不管是shell还是各大编程语言中,流程控制,条件判断这些都是必不可少的,在我们使用Ansible的过程中,条件判断的使用频率极其高。 例如: 1.我们使用不同的系统的时候,可以通过判断系统来对软件包进行安装。 2.在nfs和rsync安装过程中,客户端服务器不需要推
阅读全文
摘要:#一、变量注册概述 当absible的模块在运行之后,其实都会返回一些result结果,就像是执行脚本,我们有的时候需要脚本给我们一些return返回值,我们才知道,上一步是否可以执行成功,但是...默认情况下,ansible的result并不会显示出来,所以,我们可以把这些返回值'存储'到变量中,
阅读全文
摘要:#一、ansible变量概述 ansible变量提供了便捷的方式来管理Ansible playbook的每一个项目中的动态值,比如nginx-1.6.3这个软件包的版本,在其它地方或许会反复使用,那么如果讲此值设置为变量,然后再在其他的playbook中调用,会方便许多。如此一来还方便维护,减少维护
阅读全文
摘要:#一、环境准备 | 主机 | 外网IP | 内网IP | 部署服务 | | | | | | | m01 | 10.0.0.61 | 172.16.1.61 | ansible | | lb01 | 10.0.0.4 | 172.16.1.4 | nginx | | web01 | | 172.16.
阅读全文
摘要:#一、playbook简介 PlayBook即"剧本","兵书"之意,PlayBook是由以下部分组成的: play(host): 定义的是主机的角色。(主角还是配角) Book(task): 定义的是具体执行的任务。(角色的台词和动作) playbook: 由一个或多个play(角色)组成,一个p
阅读全文
摘要:#一、上传包 1.上传php.tar.gz 2.上传代码包kaoshi.zip #二、配置主机清单 [root@m01 ~]# vim /etc/ansible/hosts [web_group] web01 ansible_ssh_password='1' [nfs_group] nfs ansi
阅读全文
摘要:#一、需求 #搭建LNP交作业的页面 1.安装nginx 2.控制端配置nginx推送配置 3.安装php 4.控制端配置php推送配置 5.启动php 6.部署代码 7.启动nginx 8.配置NFS服务端 9.客户端挂载 #二、环境准备 | 主机名 | IP | 身份 | | | | | | m
阅读全文
摘要:#一、需求 #搭建LNP交作业的页面 1.安装nginx 2.控制端配置nginx推送配置 3.安装php 4.控制端配置php推送配置 5.启动php 6.部署代码 7.启动nginx ##二、环境准备 | 主机名 | IP | 角色 | | | | | | m01 | 10.0.0.61 | 跳
阅读全文
摘要:#一、命令模块 ##1.command模块 命令模块 适合使用简单的命令 无法支持"<",">","|",";","&"等符号 官方文档:https://docs.ansible.com/ansible/latest/modules/command_module.html#command-modul
阅读全文
摘要:#一、概述 Ansible ad hoc 命令使用/usr/bin/ansible命令行工具在一个或多个受管节点上自动执行单个任务。临时命令既快速又简单,但它们不可重复使用,执行完即结束,并不会保存。 #二、ad-hoc使用场景 临时命令非常适合您很少重复的任务。 $ ansible [patter
阅读全文
摘要:#一、环境准备 | 主机名 | IP | 身份 | | | | | | m01 | 10.0.0.61 | Ansible 控制端 | | web01 | 172.16.1.7 | Ansible 被控端 | | web03 | 172.16.1.9 | Ansible 被控端 | #二、安装Ans
阅读全文
摘要:#一、Ansible概述、 Ansible 是一种 IT 自动化工具。它可以配置系统、部署软件并协调更高级的 IT 任务,例如持续部署或零停机滚动更新。 Ansible 的主要目标是简单易用。它还非常注重安全性和可靠性,具有最少的移动部件,使用 OpenSSH 进行传输(使用其他传输和拉模式作为替代
阅读全文