首页 > 其他分享 >Ansible - 9 - 技巧提示

Ansible - 9 - 技巧提示

时间:2022-11-04 22:33:25浏览次数:36  
标签:include 技巧 提示 ansible Ansible test listen root name


Ansible技巧提示

1 - 免密登录

# 通过秘钥方式连接
ssh-keygen -t rsa 
ssh-copy-id -i /vipxf/.ssh/id_rsa.pub [email protected]
ssh-copy-id -i /vipxf/.ssh/id_rsa.pub [email protected]

2 - playbook输入root密码

[root@test01 ansible-test]# cat test-temp.yaml 
---
- name: test-root
  hosts: ta
  remote_user: vipxf
  gather_facts: no
  become: yes
  become_user: root
  become_method: su
  become_flags: "-"
  vars:
    ansible_become_pass: "{{ root_pass_input }}"
  tasks:
    - name: test
      shell: date && sleep 3
      ignore_errors: True
[root@test01 ansible-test]# 
[root@test01 ansible-test]# ansible-playbook  test-temp.yaml -e root_pass_input=redhat

PLAY [test-root] **************************************************************************************************************************************************************************************************************

TASK [test] *******************************************************************************************************************************************************************************************************************
changed: [172.20.8.247]

PLAY RECAP ********************************************************************************************************************************************************************************************************************
172.20.8.247               : ok=1    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

[root@test01 ansible-test]# 

3 - 简单的复用方式

通过关键字include可以实现简单的代码复用。

# 在playbook中,Include 指令可以跟task 混合在一起使用
  - tasks:
      - include: tasks/foo.yml  # 引用配置文件

# 参数化的include
  - tasks: 
      - include: aaa.yml user=anliven  # 引用配置文件的同时传入变量
      - include: bbb.yml pwd=P@ssw0rd

4 - task通知多个handlers任务

通过关键字listen为handlers中的一个或多个触发器任务指定主题,task就可以按主题名进行通知。
触发顺序按照handler定义的先后顺序执行。

---
- hosts: ta
  remote_user: vipxf
  gather_facts: no
  vars:
    - package: vim
  tasks:
    - name: test-step one
      shell: echo "111" 
      notify: "test listen"  # task通知handlers主题
    - name: test-step two
      shell: echo "222"
  handlers:
    - name: check-hostname-date
      shell: hostname && date
      ignore_errors: True
      listen: "test listen"  # 按照定义顺序被触发
    - name: who-am-i
      shell: whoami && date
      ignore_errors: True
      listen: "test listen"  # 按照定义顺序被触发

标签:include,技巧,提示,ansible,Ansible,test,listen,root,name
From: https://www.cnblogs.com/anliven/p/16857920.html

相关文章

  • Ansible - 8 - 图形界面
    Ansible图形界面AnsibleWebUI目前主要有AnsibleTower、AnsibleAWX、semaphore。AnsibleTowerAnsible官方WebUI文档:https://docs.ansible.com/ansible-tower/......
  • Ansible - 2 - 命令讲解
    Ansible命令命令集#以下所有命令均可使用`-h`参数获取帮助信息ansible#Defineandrunasingletask'playbook'againstasetofhosts#常用命......
  • Ansible - 3 - 变量使用
    变量(variable)Ansible的变量名仅能由字母、数字和下划线组成,且只能以字母开头。Python关键字和playbook关键字都不能作为有效的变量名。Ansible的变量可以被定义在play......
  • 使用emplace_back的new initializer expression list treated as compound expression
    测试代码使用emplace_back可以避免不必要的构造和拷贝,而是直接在向量的内存位置执行construct进行构造,代码看起来也更加简洁。但是在使用的时候,会发现有一些和直观不太对......
  • 野花--flex布局小技巧之让某个子元素靠右或靠左显示
    flex布局小技巧之让某个子元素靠右或靠左显示以下以块元素的Flex布局为示例:只需要两句代码,轻松搞定!代码1:在父元素里面加入以下代码:(父盒子加了display:flex,就相当于起到......
  • Ansible 安装并简单使用
    Ansible简介Ansible是一款IT自动化工具。主要应用场景有配置系统、软件部署、持续发布及不停服平滑滚动更新的高级任务编排。Ansible本身非常简单易用,同时注重安全和可......
  • jenkins+ansible使用
      通过jenkins执行shell脚本调ansible-playbook可以方便的进行自动化管理部署1、写一个简单的palybookansible主机清单可以写在hosts文件里也可以动态获取----hos......
  • python 打包后运行提示 ModuleNotFoundError: No module named 'xxx'
    毫无疑问,是打的包有问题。目前见到的原因有三:1.pycharm开发环境的引用的包版本和外面的环境引用的包版本不一致。  处理方式:想办法让两个版本一致。  相关命......
  • Ansible - 剧本执行
    剧本(Playbook)基础介绍Playbook是ansible用于配置,部署,和管理被控节点的剧本。playbook类似Linux的shell脚本,用于实现和管理大量的、规律的、复杂的操作任务playbook......
  • LP1-5:WEB应用测试技巧
    一、静态页面静态文字1)检查一个页面或者一组中多个页面的字体、size、颜色、位置等因素是否符合需求;2)检查页面文字图标的间距、行距是否统一,对齐方式是否统一......