[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

广告
将在 10 秒后关闭
bannerAds