码迷,mamicode.com
首页 > 其他好文 > 详细

ansible基本用法

时间:2020-05-30 14:18:02      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:sbin   led   设置密码   param   条件   不同   特性   book   http   

ansible

1、 ansible的架构图

技术图片

1)ansible基于ssh基础的配置管理、部署和任务执行系统
2)anisble是一个非常简单的模型驱动的配置管理,多节点部署和远程任务执行系统。Ansible作品通过SSH,不需要安装任何软件或守护进程在远程节点。扩展模块可以用任何语言编写

2 ansible特性

① 模块化:调用特定的模块,完成特定的任务
② 基于Python语言开发,由paramiko、pyyaml和jinja2三个核心库实现
③ 部署简单:agaentless不用代理程序
④ 支持自定义模块
⑤ 强大的playbook机制

3、ansible的安装及使用

1)yum -y install ansible #用yum安装ansible
2)安装成功后执行rpm -ql ansible #查看目录文件

/etc/ansible/ansible.cfg   #ansiblede 配置文S件  
/etc/ansible/hosts       #主机清单  
/etc/ansible/ansible-playbook    #程序  
/etc/ansible/ansible_plugins/   #插件目录 

3)配置主机清单
定义group组名,组名中包括主机名或者主机ip,可以任意定义group,并且主机可以在不同组内重复定义(前提条件是hosts与该主机进行了密钥对认证)

4常用模块使用方法

查看模块用法: ansible-doc -s 模块名
① ping模块:
ansible webservers1[all|webservers2] -m ping
② Command模块:
Ansible webservers -m command -a “ifconfig” #直接执行命令,但不识别管道符
③ shell模块 :在远程主机上调用shell解释器执行命令,支持shell各种功能,比如管道符。
Ansible webservers -m shell -a “echo ‘123’ | passwd --stdin test” #给test用户设置密码为123,但是如果用command模块,该命令则不能执行成功。
④ copy模块: 复制文件到远程主机与生成文件
ansible all -m copy -a “src=/etc/my.cnf dest=/tmp/my.cnf.bak mode=640” #复制源文件到目标文件并指定权限
ansible all -m copy -a “content=’hello\nworld\n’ dest=/tmp/ansible.file mode=777” #生成文件到目标文件并指定权限
⑤ file模块: 设置文件属性,设置目标文件状态
ansible webservers2 -m file -a “path=/tmp/my.cnf.bak owner=mysql” #设置/tmp/my.cnf.bak文件的属主为mysql
ansible webservers2 -m file -a “path=/tmp/my.cnf.bak state=absent” #state指定目标状态,目标文件状态为absent,即为删除
ansible webservers2 -m file -a “path=/tmp/test.ansible state=directory” #state目标文件状态为目录,则为创建新文件
ansible webservers2 -m file -a “path=/usr/sbin/nginx src=/usr/local/nginx/sbin/nginx state=link” #创建软连接

ansible基本用法

标签:sbin   led   设置密码   param   条件   不同   特性   book   http   

原文地址:https://www.cnblogs.com/zoer/p/12992346.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!