Ansible
基于Python的自动化配置管理工具
找不到路径
知行合一,找准方向,不断学习,持续进步...
展开
-
Ansible相关扩展
1. Ansible-cmdb Ansible-cmdb是一个基于ansible的开源工具,用来将Ansible setup采集到的信息转换为包含系统配置信息的静态HTML概述页面(和其他内容)。它支持多种类型的输出(html,csv,sql等),并使用自定义数据扩展由Ansible收集的信息。 安装: pip install ansible-cmdb 更多用法请参照文档 ansible-cmdb -i hosts out/ > overview.html 2. Ansible AP原创 2020-11-25 09:51:13 · 262 阅读 · 0 评论 -
Ansible配置复用
1. include 利用include可以将一个Playbook根据具体的操作拆分成多个文件,更容易组织和管理Playbook。 定义一个安装nginx的yaml文件 # cat install_nginx.yml - name: install nginx package: name: nginx state: present - name: ensure nginx enabled and started systemd: name: nginx sta原创 2020-11-25 09:38:34 · 254 阅读 · 0 评论 -
Ansible流程控制
1. 简介 在开发中,经常会编写一些流程控制相关的逻辑,如条件判断、循环等,ansible也提供了对条件判断、循环等的操作。 2. Jinja2 Ansible的模板配置是基于Jinja2的,如变量的定义:{{ variable }} 3. when 关于when的更多示例 when使用示例 # cat deploy_app.yml --- - hosts: proxy tasks: - name: Deploying to development... debug:原创 2020-11-25 09:37:48 · 207 阅读 · 0 评论 -
Ansible变量进阶
1. 简介 Ansible基于Jinja2实现的模板引擎,对于变量的操作以及处理也十分灵活。在Ansible中,变量以英文大小写字母开头,中间可以有下划线和数字,如:prod、prod_version、prod_version_1等,建议变量都采用小写字母+下划线的方式设置。 2. 额外变量 在执行ansible-playbook时,可以利用--extra-vars设置额外变量 定义测试的playbook文件 # cat test_vars.yml --- - hosts: all tasks原创 2020-11-25 09:36:37 · 373 阅读 · 0 评论 -
Ansible剧本Playbook
1. 简介 Ansible提供了Playbook、Roles的功能来更方便的组织批量执行的操作,一般Playbook由以下几部分组成: --- # 语法规定首行需要写 - hosts: webservers # 定义执行主机/组 vars: # 定义变量 tasks: # 定义tasks handlers: # 定义触发器 2. 常用选项 指定并行执行的进程数:-f, --forks, 默认是5 ansible-playbook -i hosts dep原创 2020-11-25 09:35:07 · 462 阅读 · 0 评论 -
Ansible帮助与Ad-hoc
1. 简介 Ad-hoc可以简单的理解为一些临时的操作,主要是使用ansible来执行,可以通过ansible --help查看更多帮助信息。 2. 常用操作 查看主机列表 ansible all -i hosts --list-hosts 检测主机存活 ansible all -i hosts -m ping 获取主机内存 ansible all -i hosts -m command -a "free -g" 3. 模块帮助 查看所有模块 ansible-doc -l 查原创 2020-11-25 09:33:50 · 157 阅读 · 0 评论 -
Ansible主机清单
1. 简介 Ansible通过一个hosts文件来定义主机信息,也就是所谓的Inventory,如果是通过yum安装的,则主机文件默认是/etc/ansible/hosts,也可以通过-i或--inventory-file指定hosts文件,示例如下: ansible -i hosts -m ping hosts文件可以通过ini的风格配置、也支持yaml的格式,个人比较喜欢ini的配置方式。 2. 主机与主机组 ansible有一个默认的主机组名为:all,表示所有主机 常规配置 mai原创 2020-11-25 09:32:12 · 694 阅读 · 0 评论 -
Ansible快速入门
1. 简介 Ansible是一款非常出色的自动化配置管理工具,由Python语言开发,基于SSH协议实现对远程Linux主机的管理,相对于salt而言ansible不需要安装额外的agent,拥有丰富的模块,配合Playbook、Roles使用非常灵活、方便。 2. 安装 Ansible支持多种安装方式,下面是两个示例: 基于yum yum install ansible 基于pip pip install ansible 3. 配置文件 基于yum的安装方式,可以到/etc/ansi原创 2020-11-25 09:25:56 · 350 阅读 · 0 评论