Ansible是用Python写的自动化运维工具,你如果需要管理维护好多主机,需要做批量操作,部署,任务等,他是个不错的选择。 Ansible是基于模块工作的,Ansible本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块。模块的内容会在后面重点介绍。
想要高效的学习Ansible,必须熟悉某一发行的 Linux 系统 (Ubuntu, CentOS),至少需要了解以下内容。
你还需要一台服务器,如果没有可以在本地新建虚拟机,我建议搭建至少两台,以便了解的Ansible的批处理能力。 搭建虚拟机非常简单,你可以搜一下VirtualBox和Vagrant。
Ansible将部署逻辑放在一个称为"playbook”的YAML文件中。通常,文件名是playbook.yml。
组织受控机器的逻辑被放在inventory文件中。它是ini格式的,默认文件名为hosts。
这两个文件构成了Ansible自动化部署的基础。
只要运行ansible-playbook --inventory hosts --user vagrant --ask pass playbook.ymI
命令,输入SSH登录时用户vagrant的密码,就可以执行我们描述好的部署逻辑了。
为简单起见,我们使用用户名和密码的方式登录。更安全的方式是使用SSH密钥登录。
以上就是对Ansible的基本介绍。
如果想更深入地学习,请前往Ansible官网。
了解Ansible的隐喻,对于了解Ansible背后的设计有一定的帮助。Ansible的隐 喻很简单: Ansible是导演,受控机器列表(inventory) 为演员列表,开发者则是编剧。开发者只要把剧本(playbook.yml) 写好,Ansible拿着剧本与invenstory一对上号,演员就会按照剧本如实表演,不会有任何个人发挥。
https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html?highlight=ansible_user 官方提供的playbook的大量例子 https://github.com/ansible/ansible-examples