运维工具:
OS Provisioning:PXE,Cobbler(repository、distributioprofile)
PXE:dhcp、tftp、dnsmap、dns
OS Config:
puppet、saltstack、func
Task Execute:
fabric、func、saltstack
Deployment:
fabric
运维工具分类:
agent:puppet、func
agentless:ansible、fabric、ssh service
ansible核心组件:
ansible core
host iventory
core modules
custom modules
playbook (yaml)
ansible的特性:
基于Python语言实现,由Paramiko、PyYAML和Jinjia2三个关键模块
部署简单,agentless
默认使用SSH协议
主从模式:
master:ansible、ssh client
slave:ssh server
支持自定义模块,支持各种编程语言
支持playbook
基于”模块“完成各种“任务”
安装:依赖于epel源
配置文件:/etc/ansible/ansible.cfg
Inventory:/etc/ansible/hosts
如何查看模块帮助
ansible-doc -l
ansible-doc -s MODULE_NAME
ansible命令应用基础:
语法:ansible <host-pattern> [-f forks] [-m nodule_name] [-a args]
-f forks:启动的并发线程数
-m nodule_name:要使用的模块
-a args:模块特有的参数
常见模块:
command:命令模块,默认模块,用于在远程执行命令
ansible all -a
cron:
state:
present:安装
absent:移除
#ansible dbsrs -m cron -a 'minute="*/10" job="/bin/echo hell" name="test cron jobb"'
user:
name:指明创建的用户名字
ansible websrs -m user -a 'name="user1"'
ansible websrs -m user -a 'name=testuser uid=2000 system=yes group="testone"'
group:
ansible websrs -m group -a 'name=testone gid=2000 system=yes'
copy:
ansible websrs -m copy -a 'content="Hello Ansi\nHi Wo" dest="/tmp/ansi/test.txt"'
file:设定文件属性
path:指定文件路径,可以使用name和dest来替换
创建文件的符号链接:
src:指明源文件
path:指明符号链接文件路径
#ansible websrs -m file -a 'path=/tmp/ansi/aa.link src=/tmp/ansi/test.txt state=link'
ping:测试指定主机是否能连接
service:指定运行状态
enabled:是否开机自动启动,取值true或者false
name:服务名称
state:状态,取值有started,stopped,restarted;
shell:在远程主机上运行命令
尤其是在用到管道等功能的复杂命令
script:将本地脚本复制到远程主机并运行之,
注意:要使用相对指定脚本
yum:安装程序包
name:指明要安装的程序包,可以带上版本号
state:present,lasest表示安装,absent表示卸载
setup:收集远程主机的facts
每个被管理节点在接收并运行管理命令之前,会将自己相关信息,如操作系统版本,ip地址等报告给远程的ansible主机
原文地址:https://www.cnblogs.com/sunnyyangwang/p/11211366.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。