[Ansible] 汇总Ansible的使用方法
为了将服务器配置管理的自动化从shell迁移到Ansible,我们需要以下备忘录(更新中)。
只需要一个选项,在中文中重新诠释以下内容:验证环境
$ ansible --version
ansible 2.3.0.0
config file = /etc/ansible/ansible.cfg
configured module search path = Default w/o overrides
python version = 2.7.12 (default, Nov 19 2016, 06:48:10) [GCC 5.4.0 20160609]
公式文件
Ansible文档 – Ansible文档
YAML的语法
YAML 语法 — Ansible 文档
公式实现示例
ansible/ansible-examples:一些初始的ansible playbook示例,用于展示其功能及如何配合使用。请查看http://galaxy.ansible.com,了解Ansible社区提供的示例角色,用于部署多种热门应用程序。
安装
使用软件包进行安装
请按照以下方式在Ubuntu上进行安装。
$ sudo apt-get install software-properties-common
$ sudo apt-add-repository ppa:ansible/ansible
$ sudo apt-get update
$ sudo apt-get install ansible
请参考以下内容以获得其他环境下的方法。
安装 — Ansible 文档
在Vagrant中使用(ansible_local)。
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure(2) do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.box_check_update = true
# Run Ansible from the Vagrant VM
config.vm.provision "ansible_local" do |ansible|
ansible.playbook = "playbook.yml"
ansible.verbose = true
ansible.install = true
end
end
Ansible本地部署 – Vagrant由HashiCorp提供的配置
在默认情况下,设定“ansible.install”为true,将在客户操作系统上安装Ansible。
请在前面进行pip的设置或使用vagrant-proxyconf来解决代理问题。
相关:
[Vagrant][Windows] 使用Vagrant在Windows上创建虚拟机环境 – Qiita
忽略列表
github/gitignore 的主支分支上的 Ansible.gitignore
执行方式
对localhost进行执行
[Ansible] 在本地主机上执行 Ansible 的 Playbook – Qiita
剧本构建模式
Ansible清单模式|Developers.IO
变量
Ansible内置变量
要确认Ansible中的ansible_*变量的值,可以参考以下方法 – Qiita
文件操作
文件模块 – Ansible文档
经常在Ansible中使用的文件操作模块 | Developers.IO
文件内容的修改
在Qiita上有三种使用Ansible更改文件行的方法。
lineinfile: 書中更行
lineinfile – 确保文件中存在特定行,或使用反向引用的正则表达式来替换现有行。- Ansible 文档
blockinfile:多行重写
blockinfile – 在标记行包围的文本块中插入/更新/删除内容。- Ansible 文档
使用Jinja2模板生成文件。
模板 – 将文件从本地传输到远程服务器。- Ansible文档
模板设计师文档 – Jinja2文档(2.9版)
在Ansible的正则表达式中需要转义的字符是什么?
【常用版】正则表达式中需要转义字符的字符列表 – Qiita
指令
运行shell
在节点中执行命令 – Ansible文档
执行Ansible中的shell命令的技巧 – Qiita
提示
※注意:在Vagrant的ansible_local中无法使用提示符。
在提示符中设置变量
提示 – Ansible文档
包裹
安装软件包
适宜
[Ansible][apt] 在Ansible中配置apt的方法 – Qiita
系统相关
【Linux】【Ansible】设置时区 – Qiita
【Linux】【Ansible】设置语言环境 (ja_JP.UTF-8) – Qiita
设定任务的执行条件
条件语句 — Ansible 文档
只有在文件存在的情况下执行
ansible最佳实践:只在存在文件情况下执行- Qiita
利用参数循环执行任务
使用`with_fileglob`等工具只有在文件存在时才能执行。
调试
输出调试消息
调试 – 在执行过程中打印语句 — Ansible文档
设定范例
PostgreSQL 可以被原生中文表述为:PostgreSQL。
使用Ansible安装PostgreSQL – Qiita
提供参考
如果要使用Vagrant + Ansible创建开发环境,那么使用ansible_local provisioner是一个不错的选择!- Shin x Blog
处理Ansible密码的方法- Qiita
Ansible的幂等性和Playbook|Developers.IO