ansible使用

Ansible是一种agentless(基于ssh)的自动化运维工具,部署简单,只需要在主控端部署ansible环境,被控端无需做任何操作

安装

ubuntu: apt-get install -y ansible
centos: yum -y install ansible

配置
1.ls /etc/ansible
2.ssh 秘钥认证 ssh-keygen -t rsa ssh-copy-id root@agent_host_ip
3.添加被管理主机 vim /etc/ansible/hosts
4.hosts主机文件:/etc/ansible/hosts

使用
-m 后面接调用module的名字
-a 后面接调用module的参数
-u  指定远程主机以username运行命令
-s  linux系统下的sudo命令
-C  只检查不实际执行
-e  引用外部参数
-i 指定仓库列表, 默认/etc/ansible/hosts
--list-host:  列出执行主机列

常用模块
ansible-doc -l 列出ansible支持的模块
ansible-doc ping 查看该模块帮助信息
1)command:ansible的默认模块 ---ansible client -m cimmane -a "free -m" "查看client分组主机内存使用情况
2)script:在远处主机执行主控端存储的shell脚本文件---ansible client -m script -a "/home/test.sh 12 34"远程执行本地脚本
3)shell:和command相同,但是shell支持管道符----ansible client -m shell -a "/home/test.sh" 执行远程脚本
4).copy :实现主控端向目标株距拷贝文件,类似于scp---ansible client -m copy -a "src=/home/test.sh dest=/tmp/ owner=root group=root mode=0755"

playbook 
Target :hosts:是一个或多个主机的patterns  remote_user:账户名  sudo: 设为yes的时使用root权限
Variabler: vars   变量名:变量值  vars_files  变量文件
Task: name:输出到屏幕的信息  action:执行的动作

使用
 ansible-palybook deploy.yml 执行playbook.yml
 ansible-playbook playbook.yml --list-hosts 查看脚本影响哪些hosts
 ansible-playbook playbook.yml -f 10 并行执行脚本

栗子
1.shell
- name: copy
hosts: "{{ hosts }}"
remote_user: root
tasks:
- name: shell
shell: cp /usr/test.war /tmp/test.war

2.copy
- hosts: host
  tasks:
    - name: copy
      copy: src=/tmp/test.txt dest=/usr/test.txt

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值