ansible ansible-playbook
changed,failed等标识 执行如果有错误(failed)会回滚,解决问题后,直接再执行这条命令即可,并会把failed改为changed(幂等性) [root@manage01 web]# ansible-playbook
命令运行 格式:ansible-playbook <filename.yml> ... [options] [student@ansible ~/ansible]$ ansible-playbook -h #ansible-playbook常用选项: --check or -C # variables.yml # 如果执行时候又重新指定了变量的值,那么会已重新指定的为准 [student@ansible ~/ansible]$ ansible-playbook -e "dir= }}.log " #引用setup中的ansible_fqdn state: touch # 执行playbook [student@ansible ~/ansible]$ ansible-playbook restarted tags: - rshttpd - rs_httpd # 正常执行的结果 [student@ansible ~/ansible]$ ansible-playbook
Usage: ansible-playbook playbook.yml Options: --ask-vault-pass #ask for vault password
笔记内容:简单使用ansible-playbook 笔记日期:2018-01-30 24.21 ansible安装包和管理服务 24.22 使用ansible playbook 24.23 playbook 命令执行该文件: [root@server ~]# ansible-playbook /etc/ansible/test.yml PLAY [testhost] ******************* 执行该文件: [root@server ~]# ansible-playbook /etc/ansible/create_user.yml PLAY [create_user] *********** 执行该文件: [root@server ~]# ansible-playbook /etc/ansible/when.yml PLAY [testhost] ******************** 执行该文件: [root@server ~]# ansible-playbook /etc/ansible/handlers.yml PLAY [handlers test] ***********
/usr/local/bin/ansible-playbook 自动化任务、编排剧本工具/usr/bin/ansible-pull 远程执行命令的工具. ansible-playbook 命令 ansible-playbook -C --check Check 检查脚本运行情况, 不会在远程服务器里运行。 ---- ansible-playbook setup 介绍: 这个模块默认会被playbooks自动调用,用于收集远程主机的相关变量信息,获取到变量信息可以被playbooks调用。 # ansible-playbook -t web playbook.yml “roles when 语句 对 role 进行条件的判断. # 以变量方式传参 ansible-playbook deploy.yaml --extra-vars "hosts=k3s-cluster user=ubuntu" # 以json格式传参 ansible-playbook
有一些模块,例如copy这个模块有一些机制能跳过本次模块的运行.其实我们也可以使用自己的条件语句去配置跳过模块,这样方便你服务能够选择使用不同的包管理(apt,yum)和不同的文件系统.并且你还可以使用set_fact这个模块做成更多的差异配置
ansible默认只会创建5个进程,所以一次任务只能同时控制5台机器执行.那如果你有大量的机器需要控制,或者你希望减少进程数,那你可以采取异步执行.ansible的模块可以把task放进后台,然后轮询它.这使得在一定进程数下能让大量需要的机器同时运作起来.
简介 家里的服务器新开了两台虚拟机,想做nginx负载均衡的实验,但是要重新安装各种服务,就很麻烦,正好最近学了ansible-playbook,就想试着写一下一键部署脚本 代码 具体的安装方式我前几篇博客已经说了 192.168.30.107 #然后下载nginx源代码包 ➜ wget http://mirrors.sohu.com/nginx/nginx-1.12.0.tar.gz #执行 ansible-playbook
playbook文件定义的任务需要通过ansible-playbook命令进行调用并执行,ansible-playbook命令用法如下: [root@ansible ~]# ansible-playbook # ansible-playbook --list-tasks /etc/ansible/a.yml #列出任务 [root@ansible ~]# ansible-playbook --list-tags [root@ansible ~]# ansible-playbook -C /etc/ansible/httpd.yml #进行预测试。 [root@ansible ~]# ansible-playbook /etc/ansible/httpd.yml #执行脚本。 可以只调用一个角色,也可以调用多个角色,当定义了角色后,用ansible-playbook PALYBOOK文件执行即可。
1、test.yml,执行任务:安装wget,更换仓储源,获取信息等 hosts: all gather_facts: false tasks: name: yum wget yum: pkg=wget state=latest name: mv old repo shell: mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup name: download repo she
https://blog.csdn.net/wh211212/article/details/82763493 ansible-playbook调用zabbix-api自动添加主机 playbook-example when: - zabbix_api_create_hosts changed_when: false tags: - api 执行playbook ansible-playbook
– hosts: webserver remote_user: root become: no become_method: sudo become_user: root tasks: – name: copy jdk to remote hosts copy: src=jdk1.8.0.tar.gz dest=/tmp/
- git-upload-pack 4、完整的安装步骤如下: 下载roles包:https://pan.baidu.com/s/1wh-zyfyDBemoYqx8E4348A 执行安装:ansible-playbook
tag handlers: - name: restart apache service: name=httpd state=restarted 2、可以同时使用10个进程进行,调用格式为: ansible-playbook test.yml -f 10 3、对于没有把握执行的任务,需要加上 ignore_errors: True,这样即使出错,下一个任务也会继续执行 4、ansible-playbook可以根据上一个任务的执行结果 mail service service: name: "{{ mail_service }}" state: restarted 10、对任务做tag标记,可以只执行某个tag,执行语法为:ansible-playbook 动作copy模块执行 notify: restart redis #触发的动作 tags: configfile #任务标记名configfile 11、从外部传入变量,ansible-playbook 的格式为:ansible-playbook tomcat-install.yml --extra-vars "{'host':'192.168.11.111', 'tomcat_home':'/opt/
mysql_security.sh 3、roles安装步骤: 下载roles包:https://pan.baidu.com/s/18RETLv_ESy3m7zwrz7N-uQ 执行: ansible-playbook
https://pan.baidu.com/s/11jR-2W7XO6fk632tfdYrAw 解压后:ansible-playbook /你的路径/nginx_install.yml
推荐专栏:https://blog.51cto.com/cloumn/detail/83from_distribution=VQcJVApVVQwxUwIHVQYFDA 代码gitee:https://gitee.com/wanghui1234/ansible_repo.git
192.168.240.17,使用key登陆 15:22:01 # cd /etc/ansible/ root@ip-10-10-10-10:/etc/ansible 15:22:04 # time ansible-playbook 12、删除已经安装的客户端 15:22:54 # time ansible-playbook zabbix_client_delete.yml --extra-vars "host=192.168.240.17
user`" gather_facts: True roles: - redis_delete 下面是安装redis主从 8、安装redis master 09:43:11 # time ansible-playbook 172.17.0.5:6379> keys * (empty list or set) redis 172.17.0.5:6379> 10、安装redis slave 09:45:20 # time ansible-playbook 57.293 * Background saving terminated with success 13、删除redis安装 无论redis主从,删除都是一样的命令 09:57:32 # time ansible-playbook real 0m6.929s user 0m1.942s sys 0m0.250s root@ip-10-10-10-10:/etc/ansible 10:09:18 # time ansible-playbook