自动化运维工具ansible的使用

  • ansible常识

ansible功能:批量操作,批量管理服务器,连接机器进行自动化运维

ansible组件:包括主机清单,模块和插件,playbook

  •  主机加入ansible管理范围

将主机加入ansible主机清单:cd /etc/ansible->vim hosts->写入

[web]

192.168.67.136 ansible_ssh_user='root' ansible_ssh_pass='123456'

[db]

192.168.67.135 ansible_ssh_user='root' ansible_ssh_pass='123456'

这里的web和db为使用ansible指令时的主机代号

修改完主机清单后一定要ssh root@192.168.67.135 和ssh root@192.168.67.136 先连接一遍机器,后续才能进行ansible指令

建立免密通道方式为:ssh-keygen生成公钥私钥,再将/root/.ssh/下的id_rsa.pub传到需要远程控制的主机(ssh-copy-id -i id_rsa.pub root@192.168.67.135),再ssh连接检查是否已建立免密通道。

ansible all -m yum -a "name=htop state=installed"批量给连接上的机器安装软件包,如果报错可能是连接的服务器无获取相应软件包的源,可以 ansible all -m yum -a “name=epel-release=installed”先批量安装epel源再进行操作

  • ansible模块

ansible all -m shell -a “ip add”:查询所有管理机器的ip地址,执行linux命令,在执行脚本需要在被管理机器上

ansible all -m copy -a “src= dest=”:传给其他机器

ansible db -m fetch -a "src=/etc/redis.conf dest=/playbook"

ansible all -m script -a “/etc/ansible/init_env.sh”:执行脚本不需要在被管理机器上

ansible all -m yum -a “name= state=”安装或卸载脚本

ansible all -m cron -a "minute=30 hour=2 job='bash /backup/backup_file.sh' name=backup_file"给主机添加计划任务

ansible all -m service -a "name=node_exporter state=stopped"服务启动或关闭

  • playbook(多个ansible指令结合)

- hosts: web

  remote_user: root

  tasks:

  - name: install redis

    yum: name=redis state=installed

  - name: start redis

    service: name=redis state=started enabled=true

  - name: create crontab

    cron: minute=30 hour=3 job='bash /backup/backup_file.sh' name=backup_file

- hosts: db

  remote_user: root

  tasks:

  - name: install redis

    yum: name=redis state=installed

  - name: start redis

    service: name=redis state=started enabled=true

  - name: create crontab

    cron: minute=30 hour=3 job='bash /backup/backup_file.sh' name=backup_file

  • ansible-playbook常用指令

ansible-playbook --syntax-check install_nginx.yaml 检查语法错误

ansible-playbook install_nginx.yaml 执行剧本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值