随笔分类 - Ansible 笔记
摘要:在PowerShell中依此执行以下命令,即可使用ansible管理Windows Server: Set-ExecutionPolicy RemoteSigned -Force; winrm quickconfig -q -force; winrm set winrm/config/service
阅读全文
摘要:当一个功能或需求需要很多个playbook时,可以编写一个主playbook,然后将子playbook导入主playbook。 示例1: - name: import web playbook import_playbook: web.yaml - name: import db playbook
阅读全文
摘要:1. 可以在命令行传递变量 ansible-playbook -e "host=dev user=root" vars.yaml - name: var test hosts: "{{ host }}" tasks: - name: var test debug: msg: "Hello {{ us
阅读全文
摘要:Notify所在的Task状态为Changed时触发Handler Task, Handler与普通的Task没有任何区别。 示例 修改Apache配置后,重启Apache服务 - name: stup web server hosts: dev tasks:- name: copy apache
阅读全文
摘要:Ansible Roles是ansible自1.2版本开始引入的新特性,用于层次性、结构化地组织playbook。 Roles能够根据层次型结构自动加载template、变量文件、tasks以及handlers等。 1. Role路径 # /home/user/.ansible/roles # /u
阅读全文
摘要:lineinfile 向文本中添加单行 blockinfile 向文本中添加多行 - name: lineinfile hosts: dev tasks: - name: lineinfile lineinfile: path: /tmp/test.txt line: 'Add this line
阅读全文
摘要:When 条件表达式 == < > <= >= != or and vars is defined # 变量存在 vars is not defined # 变量不存在 vars in list # 变量在列表中 When 四种register结果判断 when: result is failed
阅读全文
摘要:在playbook中可以使用register将捕获命令的输出保存在临时变量中,然后使用debug模块进行显示输出。 - name: var user hosts: dev vars: user: yaoyao tasks: - name: create var user user: name: "{
阅读全文
摘要:Ansible可以执行命令的模块有三个: command shell raw 应尽量避免使用这三个模块来执行命令,因为其他模块大部分都是幂等性的,可以自动进行更改跟踪。 command、shell、raw不具备幂等性。 command、shell模块: 要求受管主机上安装Python。command
阅读全文
摘要:Ansible Facts Ansible Facts是Ansible从受管主机自动探查到的变量 Ansible Facts由setup模块调取,其中包含的信息储存到可重复使用的变量中 借助Ansible Facts,可以方便的检索受管节点的状态,并根据其状态决定要执行的操作 事实提供如下相关信息:
阅读全文
摘要:Ansible Template使用jinjia2格式。 还可以使用jinjia2的filter来实现跟进一步的功能扩展: | to_json | to_nice_json | to_yaml | to_nice_yaml 基本语法: {% for i in range(1,10)%} server
阅读全文
摘要:Ansible默认会提供一些内置的变量以实现一些特定的功能,我们称之为魔法变量。 groups ansible all -m debug -a 'var=groups' group_names ansible all -m debug -a 'var=group_names' hostvars an
阅读全文
摘要:Ansible 2.5之前主要使用with_ <lookup>关键字来创建循环,循环关键字基本上类似于with_list,with_items。 Ansible 2.5开始官网推荐使用Loop来进行循环控制。 示例1 Loop数组循环: - name: create user hosts: dev
阅读全文
摘要:Ansible Vault可以对文件进行加密。 可以将Vault密码通过命令行交互式保存,也可以将密码存储在文件中。 1. 首先定义一个users.yaml - name: create user hosts: dev vars: users: - user01 - user02 - user03
阅读全文
摘要:YAML两个主要的元素: - List - Map List示例 YAML格式: args: -beijing -shanghai -shenzhen -guangzhou等同于: { "args": ["beijing", "shanghai", "shenzhen", "guangzhou"]
阅读全文
摘要:vmware_vm_facts模块使用示例 执行条件: 安装Pyvmimo: pip install pyvmomi 方法一,直接编写单个yaml文件: - hosts: localhost # 注意这里使用的是 localhost gather_facts: True # 是否开启或关闭收集远程主
阅读全文
摘要:官网链接:https://docs.ansible.com/ansible/latest/modules/list_of_all_modules.html ansible python module location = ~/python3.x/site-packages/ansible-2.7.8
阅读全文
摘要:1、目录结构 2、详细目录 3、主任务文件main.yaml 主任务文件main.yaml - name: print server name and user to remote testbox # 任务名称 shell: "echo 'Currently {{ user }} is loggin
阅读全文
摘要:示例1:创建用户 - name: create user hosts: openstack gather_facts: false tasks: - name: create {{ item }} user: name: "{{ item }}" groups: wheel password: "{
阅读全文
摘要:WEB架构(ubuntu 16.04): Proxy -- WebServer(Nginx+PHP+Django) -- Nosql -- MariaDB 一、 定义Inventory [proxy] 192.168.20.180 [app] 192.168.20.181192.168.20.182
阅读全文