Ansible知识点整理,ansible知识点


Ansible的playbook知识点梳理

    • Playbooks
    • 核心要素
      • hosts

Playbooks

(以下介绍摘自Ansible中文权威指南)
Playbooks 是 Ansible的配置,部署,编排语言.他们可以被描述为一个需要希望远程主机执行命令的方案,或者一组IT程序运行的命令集合.

如果 Ansible 模块你是工作室中的工具,那么 playbooks 就是你设置的方案计划.

在基础层面, playbooks 可以被用来管理用于部署到远程主机的配置文件.在更高的层面上,playbooks 可以依次对多层式架构上的服务器执行上线包括滚动更新在内的操作并可以将操作委托给其他主机包括在此过程中发生的与监视服务器,负载均衡服务器的交互操作在内.

虽然这里讲发很多,但是不需要立刻一次性全部学完.你可以从小功能开始,当你需要的时候再来这里找对应的功能即可.

Playbooks 被设计的非常简单易懂和基于text language二次开发.有多种办法来组织 playbooks 和其附属的文件,同时我们也会提供一些关于学习 Ansible 的建议.

这里强烈建议在阅读的 playbook 文档的时候同步参阅 Example Playbooks https://github.com/ansible/ansible-examples 章节. 这些例子是最佳实战以及如何将各种概念灵活贯穿结合在一起.

核心要素

  • Hosts:同时操作属于一个组的多台主机,组和主机之间的关系通过 inventory 文件配置. 默认的文件路径为 /etc/ansible/hosts
  • Tasks:任务,由模板定义的操作列表
  • Variable:变量
  • Templates:模板,一般是.j2为文件后缀
  • Handlers:处理器,当某条件满足时,出发执行的操作
  • Roles:角色

典型的playbook目录树如下

ansible-mysql/
└── roles
    ├── mysql_install
    │   ├── default
    │   ├── files
    │   │   ├── boost_1_59_0.tar.gz
    │   │   ├── mysql-5.7.23.tar.gz
    │   │   └── mysql_install.sh
    │   ├── handlers
    │   ├── meta
    │   ├── tasks
    │   │   ├── copy.yml
    │   │   ├── install.yml
    │   │   ├── main.yml
    │   │   └── selinux.yml
    │   ├── templates
    │   │   ├── config.j2
    │   │   └── my.cnf.j2
    │   └── vars
    │       └── main.yml
    └── mysql_install.yml

hosts

Ansible 可同时操作属于一个组的多台主机,组和主机之间的关系通过 inventory 文件配置. 默认的文件路径为 /etc/ansible/hosts

在playbook中,每一个操作都可以选在哪些服务器和以什么用户完成,host可以是单个主机,也可以是主机群,每台服务器可以选择ssh免登陆形式,也可以指定账号密码,典型配置如下:

[host-with-passwd]
172.16.21.30
172.16.11.124

[host-with-passwd:vars]
ansible_ssh_user=root
ansible_ssh_pass=123456

[hosts]
172.16.21.[33:40]
node[1:10]

更多详细用法可以参考这里

未完待续…

相关内容

    暂无相关文章