ansible基本操作

一、ansible部署

1.dns resolve(解析)                                      2.install ansible

[ansible-server]# vim /etc/hosts                         #yum install -y epel-release     

192.168.0.115 ansible                                        #yum install -y ansible
192.168.0.104 host1                                          #rpm -qc ansible(查看配置文件)           
192.168.0.105 host2                                          # ansible-doc -l   (查看所有模块)
192.168.0.108 host3                                          #ansible-doc -s yum  (看yum模块,了解其功能) 
192.168.0.109 host4

注:该文件夹各台机子相同

3.ssh-key(可选)  使各台机子免密登录              

#ssh-keygen

#ssh-copy-id IP地址

二、基本操作

Inventory -主机清单

1、 #vim /etc/ansible/hosts(增加主机组)

[webserver]
host1
host2
host3
host4

2、子分组

[apache]
host[1:2]
[nginx]
host[3:4]
[webserver:children]
apache
nginx
[webserver:vars]
ansible_ssh_user='root'
ansible_ssh_pass='666666'

3、自定义主机列表

#vim hostlist

[dockers]
host1
host2
[dockers:vars]
ansible_ssh_user='root'
ansible_ssh_pass='666666'

#ansible -i  hostlist dockers  -m ping  -o (测试)

三、Ad-Hoc-点对点模式

1.shell模块(-m指定模块,-a为追加操作 -o为压缩输出)

#ansible host2 -m shell -a 'yum -y install httpd' -o  部署apache

#ansible host3 -m shell -a 'uptime' -o   查询系统负载

#ansible webserver -m shell -a 'hostname' -o -f 2   -f 2   指定线程数

#ansible webserver -m shell -a 'hostname' -o    获取主机名

#ansible-doc shell  (帮助)

2.复制模块

#ansible webserver -m copy -a 'src=/etc/hosts dest=/tmp/2.txt owner=root group=bin mode=777 backup=yes'  (复制带备份)

3.用户模块

创建用户 #ansible webserver -m user -a 'name=qianfeng state=present'

删除用户 #ansible webserver -m user -a 'name=qianfeng state=absent'

修改密码  1.生成加密密码  #echo '777777' | openssl passwd -1 -stdin

($1$XVzsJMDr$5wI4oUaQ.emxap6s.N272.)

               2.修改密码  #ansible webserver -m user -a 'name=qianfeng password="$1$XVzsJMDr$5wI4oUaQ.emxap6s.N272."'

修改#shell ansible webserver -m user -a 'name=qianfeng shell=/sbin/nologin append=yes' 追加

4.软件包管理

#ansible host2 -m yum -a 'name="httpd" state=latest' 安装apache。latest最新的

[root@localhost ~]# ansible-doc yum

- state
        install (`present' or `installed', `latest')

       remove (`absent' or`removed') a package
5.服务模块

#ansible host2 -m service -a 'name=httpd state=started'

#ansible host2 -m service -a 'name=httpd state=started enabled=yes'

#ansible host2 -m service -a 'name=httpd state=stopped'

#ansible host2 -m service -a 'name=httpd state=restarted'

#ansible host2 -m service -a 'name=httpd state=started enabled=no'

6.文件模块

#ansible host1 -m file -a 'path=/tmp/88.txt mode=777 state=touch'

#ansible host1 -m file -a 'path=/tmp/99 mode=777 state=directory'

7.收集模块

#ansible host3 -m setup

#ansible host3 -m setup -a 'filter=ansible_all_ipv4_addresses'(filter过滤)

 

转载于:https://www.cnblogs.com/zjz20/p/11417734.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值