Ansible

作者: 陈菲TW | 来源:发表于2019-04-09 17:25 被阅读0次

什么是Ansible?

Ansible是Red Hat提供的一种IT自动化工具,典型的应用场景就是基础设施即代码;可以把复杂的任务分解为若干个可重用的playbook。

核心概念:

1. Playbooks

2. Inventory:group & host;以及对应的group_vars和host_vars。

3. ansible-playbook命令;--limit用于指定host;-e 用于指定额外参数(extra-vars);-vvvv用于日志打印?

4. role:代表小的可以独立出来的功能,用于简化playbooks,类似于OO中的抽取协作类或者抽取方法。但是role和playbook有根本区别,role只能在playbook中引用,我们无法单独运行一个role。同时role里面也没有配置运行在哪个host。

5. ansible galaxy:用于共享role;可以从Galaxy下载他人预定义的role,也可以通过Galaxy分享自己写的role。通过定义requirements.yml声明依赖。

优势:

1. 一次解决问题,并可以把解决方案留下并且每个人都可用;从而实现了1)再生性、2)一致性、3)可见性,所有对环境的修改对团队所有人可见。

2. 基于YAML语言,简单易学。

其他知识点:

1. become_user和become:Ansible允许你切换到一个不同于登录用户的其他用户,通常用于权限升级(privilege escalation),即通过sudo等工具切换用户。

2. ansible运行时变量:ansible_date_time.iso8601, ansible_nodename, ansible_user_id

YAML语言基础:

1. 使用缩进来表示结构体,当某一行缩进较少时,则表示一个结构体的结束。需要注意的是避免用tab。

2. 用“- ”表示列表。需要注意的是横杠后面必须有一个空格,目的是区分-1(negative one)与- 1。

3. 使用“:”冒号表示键值对的映射。

4. 使用#井号作为注释的开头。

5. 使用中括号表示队列,使用大括号表示Map。

6. 使用三个横杠 (---)来分隔指令和文档内容,如果没有指令,也标志文档的开始。

7. 使用双大括号来对里面对表达式进行计算:{{ var }},{{ expression }}。

相关文章

  • 【Ansible学习】- Ansible初探

    安装 Ansible基础 Ansible架构图 Ansible核心组件说明 Ansible:Ansible的核心程...

  • 快速上手 Ansible

    Ansible 系列:(一):快速上手 Ansible(二):Ansible 命令(三):Ansible 主机清单...

  • Ansible 命令

    Ansible 系列:(一):快速上手 Ansible(二):Ansible 命令(三):Ansible 主机清单...

  • Ansible 主机清单配置文件

    Ansible 系列:(一):快速上手 Ansible(二):Ansible 命令(三):Ansible 主机清单...

  • Ansible Playbook 剧本语法

    Ansible 系列:(一):快速上手 Ansible(二):Ansible 命令(三):Ansible 主机清单...

  • Ansible(一)、实现SSH免密

    1.ansible安装 2.ansible配置 /etc/ansible/ansible.cfg /etc/ans...

  • Ansible第一篇:基础

    一、配置文件 ansible.cfg /etc/ansible/ansible.cfg 是ansible安装好后...

  • 自动化运维-ansible

    目录 十五、ansible介绍十六、ansible安装十七、ansible远程执行命令十八、ansible拷贝文件...

  • 04-invertory

    Ansible Ansible version : 2.6.2 inventory Ansible可以同时处理基础...

  • Ansible部署

    安装ansibleyum install ansible 确认ansible版本ansible --version...

网友评论

      本文标题:Ansible

      本文链接:https://www.haomeiwen.com/subject/sfkpiqtx.html