From 0f983cb4f9db0a4a989f33b924ad1cd446db4605 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Mon, 1 Mar 2021 22:57:38 +0800 Subject: [PATCH 1/2] PRF @MjSeven --- ...aybooks Quick Start Guide with Examples.md | 86 +++++++++---------- 1 file changed, 42 insertions(+), 44 deletions(-) diff --git a/translated/tech/20200129 Ansible Playbooks Quick Start Guide with Examples.md b/translated/tech/20200129 Ansible Playbooks Quick Start Guide with Examples.md index b2e80cc517..90ffa5a074 100644 --- a/translated/tech/20200129 Ansible Playbooks Quick Start Guide with Examples.md +++ b/translated/tech/20200129 Ansible Playbooks Quick Start Guide with Examples.md @@ -1,6 +1,6 @@ [#]: collector: "lujun9972" [#]: translator: "MjSeven" -[#]: reviewer: " " +[#]: reviewer: "wxy" [#]: publisher: " " [#]: url: " " [#]: subject: "Ansible Playbooks Quick Start Guide with Examples" @@ -14,22 +14,20 @@ Ansible 剧本快速入门指南 如果你是 Ansible 新手,我建议你阅读下面这两篇文章,它会教你一些 Ansible 的基础以及它是什么。 - * **第一篇: [在 Linux 如何安装和配置 Ansible][1]** - * **第二篇: [Ansible ad-hoc 命令快速入门指南][2]** + * 第一篇: [Ansible 自动化工具安装、配置和快速入门指南][1] + * 第二篇: [Ansible 点对点命令快速入门指南示例][2] 如果你已经阅读过了,那么在阅读本文时你才不会感到突兀。 ### 什么是 Ansible 剧本? -剧本比临时命令模式更强大,而且完全不同。 +剧本playbook比点对点命令模式更强大,而且完全不同。 -它使用了 **"/usr/bin/ansible-playbook"** 二进制文件,并且提供丰富的特性使得复杂的任务变得更容易。 +它使用了 `/usr/bin/ansible-playbook` 二进制文件,并且提供丰富的特性使得复杂的任务变得更容易。 -如果你想经常运行一个任务,剧本是非常有用的。 +如果你想经常运行一个任务,剧本是非常有用的。此外,如果你想在服务器组上执行多个任务,它也是非常有用的。 -此外,如果你想在服务器组上执行多个任务,它也是非常有用的。 - -剧本由 YAML 语言编写。YAML 代表一种标记语言,它比其它常见的数据格式(如 XML 或 JSON)更容易读写。 +剧本是由 YAML 语言编写。YAML 代表一种标记语言,它比其它常见的数据格式(如 XML 或 JSON)更容易读写。 下面这张 Ansible 剧本流程图将告诉你它的详细结构。 @@ -37,22 +35,22 @@ Ansible 剧本快速入门指南 ### 理解 Ansible 剧本的术语 - * **控制节点:** Ansible 安装的机器,它负责管理客户端节点。 - * **被控节点:** 被控制节点管理的主机列表。 - * **剧本:** 一个剧本文件,包含一组自动化任务。 - * **主机清单:*** 这个文件包含有关管理的服务器的信息。 - * **任务:** 每个剧本都有大量的任务。任务在指定机器上依次执行(一个主机或多个主机)。 - * **模块:** 模块是一个代码单元,用于从客户端节点收集信息。 - * **角色:** 角色是根据已知文件结构自动加载一些变量文件、任务和处理程序的方法。 - * **Play:** 每个剧本含有大量的 play, 一个 play 从头到尾执行一个特定的自动化。 - * **Handlers:** 它可以帮助你减少在剧本中的重启任务。处理程序任务列表实际上与常规任务没有什么不同,更改由通知程序通知。如果处理程序没有收到任何通知,它将不起作用。 + * 控制节点Control node:Ansible 安装的机器,它负责管理客户端节点。 + * 受控节点Managed node:控制节点管理的主机列表。 + * 剧本playbook:一个剧本文件包含一组自动化任务。 + * 主机清单Inventory:这个文件包含有关管理的服务器的信息。 + * 任务Task:每个剧本都有大量的任务。任务在指定机器上依次执行(一个主机或多个主机)。 + * 模块Module: 模块是一个代码单元,用于从客户端节点收集信息。 + * 角色Role:角色是根据已知文件结构自动加载一些变量文件、任务和处理程序的方法。 + * 动作Play:每个剧本含有大量的动作,一个动作从头到尾执行一个特定的自动化。 + * 处理程序Handler: 它可以帮助你减少在剧本中的重启任务。处理程序任务列表实际上与常规任务没有什么不同,更改由通知程序通知。如果处理程序没有收到任何通知,它将不起作用。 ### 基本的剧本是怎样的? 下面是一个剧本的模板: -```yaml ---- [YAML 文件应该以三个破折号开头] +``` +--- [YAML 文件应该以三个破折号开头] - name: [脚本描述] hosts: group [添加主机或主机组] become: true [如果你想以 root 身份运行任务,则标记它] @@ -69,14 +67,14 @@ Ansible 剧本快速入门指南 Ansible 剧本的输出有四种颜色,下面是具体含义: - * **绿色:** **ok –** 代表成功,关联的任务数据已经存在,并且已经根据需要进行了配置。 - * **黄色: 已更改 –** 指定的数据已经根据任务的需要更新或修改。 - * **红色: 失败–** 如果在执行任务时出现任何问题,它将返回一个失败消息,它可能是任何东西,你需要相应地修复它。 - * **白色:** 表示有多个参数。 + * **绿色**:`ok` 代表成功,关联的任务数据已经存在,并且已经根据需要进行了配置。 + * **黄色**:`changed` 指定的数据已经根据任务的需要更新或修改。 + * **红色**:`FAILED` 如果在执行任务时出现任何问题,它将返回一个失败消息,它可能是任何东西,你需要相应地修复它。 + * **白色**:表示有多个参数。 为此,创建一个剧本目录,将它们都放在同一个地方。 -```bash +``` $ sudo mkdir /etc/ansible/playbooks ``` @@ -84,7 +82,7 @@ $ sudo mkdir /etc/ansible/playbooks 这个示例剧本允许你在指定的目标机器上安装 Apache Web 服务器: -```bash +``` $ sudo nano /etc/ansible/playbooks/apache.yml --- @@ -102,7 +100,7 @@ $ sudo nano /etc/ansible/playbooks/apache.yml state: started ``` -```bash +``` $ ansible-playbook apache1.yml ``` @@ -112,7 +110,7 @@ $ ansible-playbook apache1.yml 使用以下命令来查看语法错误。如果没有发现错误,它只显示剧本文件名。如果它检测到任何错误,你将得到一个如下所示的错误,但内容可能根据你的输入文件而有所不同。 -```bash +``` $ ansible-playbook apache1.yml --syntax-check ERROR! Syntax Error while loading YAML. @@ -139,9 +137,9 @@ Should be written as: 或者,你可以使用这个 URL [YAML Lint][4] 在线检查 Ansible 剧本内容。 -执行以下命令进行**“演练”**。当你运行带有 **"-check"** 选项的剧本时,它不会对远程机器进行任何修改。相反,它会告诉你它将要做什么改变但不是真的执行。 +执行以下命令进行“演练”。当你运行带有 `--check` 选项的剧本时,它不会对远程机器进行任何修改。相反,它会告诉你它将要做什么改变但不是真的执行。 -```bash +``` $ ansible-playbook apache.yml --check PLAY [Install and Configure Apache Webserver] ******************************************************************** @@ -163,9 +161,9 @@ node1.2g.lab : ok=3 changed=2 unreachable=0 failed=0 s node2.2g.lab : ok=3 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 ``` -如果你想要知道 ansible 剧本实现的详细信息,使用 **"-vv"** 选项,它会展示如何收集这些信息。 +如果你想要知道 ansible 剧本实现的详细信息,使用 `-vv` 选项,它会展示如何收集这些信息。 -```bash +``` $ ansible-playbook apache.yml --check -vv ansible-playbook 2.9.2 @@ -210,7 +208,7 @@ node2.2g.lab : ok=3 changed=2 unreachable=0 failed=0 s 这个示例剧本允许你在指定的目标节点上安装 Apache Web 服务器。 -```bash +``` $ sudo nano /etc/ansible/playbooks/apache-ubuntu.yml --- @@ -248,9 +246,9 @@ $ sudo nano /etc/ansible/playbooks/apache-ubuntu.yml 这个示例剧本允许你在指定的目标节点上安装软件包。 -**方法-1:** +**方法-1:** -```bash +``` $ sudo nano /etc/ansible/playbooks/packages-redhat.yml --- @@ -267,9 +265,9 @@ $ sudo nano /etc/ansible/playbooks/packages-redhat.yml - htop ``` -**方法-2:** +**方法-2:** -```bash +``` $ sudo nano /etc/ansible/playbooks/packages-redhat-1.yml --- @@ -286,9 +284,9 @@ $ sudo nano /etc/ansible/playbooks/packages-redhat-1.yml - htop ``` -**方法-3: 使用数组变量** +**方法-3:使用数组变量** -```bash +``` $ sudo nano /etc/ansible/playbooks/packages-redhat-2.yml --- @@ -307,7 +305,7 @@ $ sudo nano /etc/ansible/playbooks/packages-redhat-2.yml 这个示例剧本允许你在基于 Red Hat 或 Debian 的 Linux 系统上安装更新。 -```bash +``` $ sudo nano /etc/ansible/playbooks/security-update.yml --- @@ -331,13 +329,13 @@ via: https://www.2daygeek.com/ansible-playbooks-quick-start-guide-with-examples/ 作者:[Magesh Maruthamuthu][a] 选题:[lujun9972][b] 译者:[MjSeven](https://github.com/MjSeven) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 [a]: https://www.2daygeek.com/author/magesh/ [b]: https://github.com/lujun9972 -[1]: https://www.2daygeek.com/install-configure-ansible-automation-tool-linux-quick-start-guide/ -[2]: https://www.2daygeek.com/ansible-ad-hoc-command-quick-start-guide-with-examples/ -[3]: data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7 +[1]: https://linux.cn/article-13142-1.html +[2]: https://linux.cn/article-13163-1.html +[3]: https://www.2daygeek.com/wp-content/uploads/2020/01/ansible-playbook-structure-flow-chart-explained.png [4]: http://www.yamllint.com/ From f19211ebe7ae396dfe53b087d785543d9cffd77d Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Mon, 1 Mar 2021 22:58:15 +0800 Subject: [PATCH 2/2] PUB @MjSeven https://linux.cn/article-13167-1.html --- ...00129 Ansible Playbooks Quick Start Guide with Examples.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename {translated/tech => published}/20200129 Ansible Playbooks Quick Start Guide with Examples.md (99%) diff --git a/translated/tech/20200129 Ansible Playbooks Quick Start Guide with Examples.md b/published/20200129 Ansible Playbooks Quick Start Guide with Examples.md similarity index 99% rename from translated/tech/20200129 Ansible Playbooks Quick Start Guide with Examples.md rename to published/20200129 Ansible Playbooks Quick Start Guide with Examples.md index 90ffa5a074..bf14ca23c7 100644 --- a/translated/tech/20200129 Ansible Playbooks Quick Start Guide with Examples.md +++ b/published/20200129 Ansible Playbooks Quick Start Guide with Examples.md @@ -1,8 +1,8 @@ [#]: collector: "lujun9972" [#]: translator: "MjSeven" [#]: reviewer: "wxy" -[#]: publisher: " " -[#]: url: " " +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-13167-1.html" [#]: subject: "Ansible Playbooks Quick Start Guide with Examples" [#]: via: "https://www.2daygeek.com/ansible-playbooks-quick-start-guide-with-examples/" [#]: author: "Magesh Maruthamuthu https://www.2daygeek.com/author/magesh/"