ansible playbook在服务器怎么执行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ansible playbook在服务器怎么执行相关的知识,希望对你有一定的参考价值。
参考技术A 面playbook 实现功能新增用户:name参数该playbook实现功能做概述面执行程打印 name变量值 ;
hosts参数指定哪些主机进行参作;
user参数指定使用用户登录远程主机操作;
gather_facts参数指定任务部执行前否先执行setup模块获取主机相关信息面task使用setup获取信息用;
vars参数指定变量指字user变量其值test 需要注意变量值定要用引号引住;
task指定任务其面name参数同任务描述执行程打印user提定调用user模块nameuser模块参数增加用户名字调用面user变量值
ansible-playbook权限提升多种方式
ansible-playbook 可以方便快速的批量执行部署和运维任务,对于不同的场景和服务器,需要使用不同的权限提升方式。
最佳实现:为了提高playbook的兼容性,跟功能没有直接关系的权限提升脚本,不要出现在palybook正文中,可以在ansible-playbook运行的时候,通过-e传入。
场景一:我们有服务器的root密码,而且允许root直接登陆。
ansible-playbook -i ‘aliyun.lihuanhuan.net,‘ ./ansible_playbook_test/site.yml -e "ansible_ssh_user=‘root‘ ansible_ssh_pass=‘password‘"
场景二:我们有服务器的root密码,但是只允许通过普通用户user1切换到root。
ansible-playbook -i ‘aliyun.lihuanhuan.net,‘ ./ansible_playbook_test/site.yml -e "ansible_ssh_user=‘user1‘ ansible_ssh_pass=‘user1_password‘ ansible_become=‘yes‘ ansible_become_method=‘su‘ ansible_become_user=‘root‘ ansible_become_pass=‘root_password‘ " -vvv
场景三:我们只有服务器的app_user密码,而且只允许通过普通用户user1切换到app_user。
ansible-playbook -i ‘aliyun.lihuanhuan.net,‘ ./ansible_playbook_test/site.yml -e "ansible_ssh_user=‘user1‘ ansible_ssh_pass=‘user1_password‘ ansible_become=‘yes‘ ansible_become_method=‘su‘ ansible_become_user=‘app_user‘ ansible_become_pass=‘app_user_password‘ " -vvv
refer to https://docs.ansible.com/ansible/latest/user_guide/become.html?highlight=become%20method
以上是关于ansible playbook在服务器怎么执行的主要内容,如果未能解决你的问题,请参考以下文章
python-ansible api2.0 多进程执行不同的playbook
Ansible playbooks入门和编写规范Ansible Playbooks常用模块介绍常用模块集合