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

ansible

时间:2020-06-18 01:14:55      阅读:83      评论:0      收藏:0      [点我收藏+]

标签:time   部分   协议   连接   and   直接   自启动   ansible   use   

iaas  基础架构及服务

场景:虚拟机硬件环境  自己部署软件

paas:   平台机架构里边有硬件操作系统有开发环境,可直接工作

 

saas :软件机服务   在PaaS的基础上连软件都做好了

微软的‘’office‘’软件可直接在在浏览器上运行

Ansible 基于Python开发的;不需要配置代理   可以基于ssh协议实现远程管理  主机少用

Saltstack:基于Python开发的;主机多用

一台主机控制多台主机 = 主控端控制被控端  被控端装代理程序

ssh ip  输入被控端密码控制      这就是无代理的   ssh是加密的相对来说是安全的

Ansible 是一个自动化运维工具

                                                      shell语言                ewk 语言  

 幂等性:同样的事情执行多遍  不会报错

支持其他语言写模块。支持playbook编排任务     

Ansible工作架构   Ansible是主控端控制别的主机,配置文件管理主机。

技术图片

 

 Ansible工作原理、技术图片

 

 运维工作是敲命令,也可playbool   相当于写脚本

Ansible主要组成部分inventory清单   模块   playbook

Control Node:控制机器

2)Inventory:主机清单

3)Playbooks:剧本、任务编排。根据规则定义多个任务,模块组织结构清晰,由ansible自动执行

4)Modules(Core|Custom):模块,用于执行某个具体的任务

5)connection plugin (连接插件):ansible 通过不同的协议连接到远程主机上,执行指定的命令。默认采用ssh协议连接远程主机

 

Ad Hoc  相当于敲单个命令

命令:ansible --version 查看版本    模块的路径   二进制命令的位置吧

           ansible   ip     -m   ping  -k       回应    pong   

          ansible-doc  显示模块帮助,-l显示模块列表

 

技术图片

 

 

技术图片

 

 

我们常用的几个模块:

copy    file      cron   group   user    yum   service   script    ping     command     raw    get_url    synchronize

 

ansible ‘*‘ -m command -a ‘uptime‘

‘*‘:自己定义的主机       -m command:命令  

# 指定节点上的权限,属主和数组为root

ansible ‘*‘ -m file -a "dest=/tmp/t.sh mode=755 owner=root group=root"

#指定节点上定义一个计划任务,每隔3分钟到主控端更新一次时间

ansible ‘*‘ -m cron -a ‘name="custom job" minute=*/3 hour=* day=* month=* weekday=* job="/usr/sbin/ntpdate 172.16.254.139"‘

# 指定节点上创建一个组名为aaa,gid为2017的组

ansible all -m group -a ‘gid=2017 name=a‘

# 在节点上创建一个用户aaa,组为aaa

ansible all -m user -a ‘name=aaa groups=aaa state=present‘

删除用户示例

ansible all -m user -a ‘name=aaa groups=aaa remove=yes‘

# 在节点上安装httpd

ansible all -m yum -a "state=present name=httpd"

# 在节点上启动服务,并开机自启动

ansible all -m service -a ‘name=httpd state=started enabled=yes‘

# 检查主机连接

ansible ‘*‘ -m ping

# 执行远程命令

ansible ‘*‘ -m command -a ‘uptime‘

# 执行主控端脚本

ansible ‘*‘ -m script -a ‘/root/test.sh‘

# 执行远程主机的脚本

ansible ‘*‘ -m shell -a ‘ps aux|grep zabbix‘

# 类似shell

ansible ‘*‘ -m raw -a "ps aux|grep zabbix|awk ‘{print \$2}‘"

# 创建软链接

ansible ‘*‘ -m file -a "src=/etc/resolv.conf dest=/tmp/resolv.conf state=link"

# 删除软链接

ansible ‘*‘ -m file -a "path=/tmp/resolv.conf state=absent"

# 复制文件到远程服务器

ansible ‘*‘ -m copy -a "src=/etc/ansible/ansible.cfg dest=/tmp/ansible.cfg owner=root group=root mode=0644"

# 在节点上运行hostname

nsible all -m raw -a ‘hostname|tee‘

# 将指定url上的文件下载到/tmp下

ansible all -m get_url -a ‘url=http://10.1.1.116/favicon.ico dest=/tmp‘

 

ansible

标签:time   部分   协议   连接   and   直接   自启动   ansible   use   

原文地址:https://www.cnblogs.com/yun9678/p/13155354.html

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