在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
一、什么样的情形需要批量部署 1、操作系统的安装 常见的有collber,red hat satelite(redhat)系统专用。 2、操作系统的配置 常见的有cfengine,puppet,chef,func。其中puppet最受欢迎 3、批量程序的部署 4、批量命令的运行查看状态信息 二、ansible介绍 ansible的架构大致如下 运维工具常见的工作模式 名词解释 连接插件connection plugins负责和被监控端实现通信。 Host Inventory:指定操作的主机,是一个配置文件里面定义监控的主机 各种模块核心模块command模块自定义模块 借助于插件完成记录日志邮件等功能 PlayBooks:剧本执行多个任务时。并非必需可以让节点一次性运行多个任务 三、基本使用方法 复制代码 代码如下:$ cat /etc/ansible/hosts [local] # 配置密码登陆,需要ansible本机安装sshpass 192.168.213.135 ansible_ssh_user=root ansible_ssh_pass=root [zabbix] # 密钥登陆 172.17.0.2:49154 ansible_ssh_user=root 172.17.0.4:49155 ansible_ssh_user=root [vpn] 172.17.0.10 测试连接登陆是否OK 复制代码 代码如下:$ ansible local -m ping 192.168.213.135 | success >> { "changed": false, "ping": "pong" } ansible常见用法为ansible host-pattern -m 模块 -a 命令,host-pattern类似于简化的正则表达式,而模块可以通过ansible-doc -l命令来查询。下面是一些常用模块的使用方法: 安装软件: 复制代码 代码如下:ansible local -m apt -a ‘name=gcc state=present’ 或者复制代码 代码如下:ansible local -m yum -a “name=nmap state=installed” 执行命令: 复制代码 代码如下:ansible local -m shell -a ‘uptime’ 拷贝文件: 复制代码 代码如下:ansible local -m copy -a “src=/tmp/server dest=/tmp/server” 文件属性: 复制代码 代码如下:ansible local -m file -a “dest=/tmp/server mode=755 owner=root group=root” * playbook playbook是由一个或多个“play”组成的列表。play的主要功能在于将事先归并为一组的主机装扮成事先通过ansible中的task定义好的角色。 一个简单的playbook配置如下: 复制代码 代码如下:- hosts: local remote_user: root tasks: - name: echo hi shell: echo "hi" ansible还支持设置handlers,handlers是在执行tasks之后服务器发生变化之后可供调用的handler,使用起来如下: 复制代码 代码如下:# playbook.yml --- - hosts: local # hosts中指定 remote_user: root # 如果和当前用户一样,则无需指定 tasks: - name: whoami copy: src=~/hosts dest=~/hosts.dest # 本地拷贝到远端 notify: # 如果copy执行完之后~/hosts.dest文件发送了变化,则执行 - clear copy # 调用handler handlers: - name: clear copy shell: 'mv ~/hosts.dest hosts.del' # 假装删除 |
请发表评论