首页 网维知识库 自动化运维工具ansible实战

自动化运维工具ansible实战

ansible描述 官网:https://docs.ansible.com ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfen…

ansible描述

官网:https://docs.ansible.com

自动化运维工具ansible实战插图

ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。

ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。

ansible特点
  • 模块化:调用特定的模块,完成特定任务
  • 有Paramiko,PyYAML,Jinja2(模板语言)三个关键模块
  • 支持自定义模块
  • 基于Python语言实现
  • 部署简单,基于python和SSH(默认已安装),agentless
  • 安全,基于OpenSSH
  • 支持playbook编排任务
  • 幂等性:一个任务执行1遍和执行n遍效果一样,不因重复执行带来意外情况
  • 无需代理不依赖PKI(无需ssl)
  • 可使用任何编程语言写模块
  • YAML格式,编排任务,支持丰富的数据结构
  • 较强大的多层解决方案

自动化运维工具ansible实战插图1

准备实验环境
服务器名称 服务器ip
master 192.168.1.20
node01 192.168.1.21
node02 192.168.1.22
1.0各节点配置本地hosts
  • 方便后期配置服务
cat    << EOF >> /etc/hosts
192.168.1.20       master
192.168.1.21       node01
192.168.1.22       node02
EOF
2.0 master节点安装ansible并配置
yum -y install  ansible

ansible主配置常见说明

cat               /etc/ansible/ansible.cfg
inventory                 = /etc/ansible/host   #ansible主机管理清单
forks                      = 5  #并发数量
sudo_user                 = root  #提权
remote_port               = 22   #操作主机的端口
host_key_checking         = False  #第一次交互目标主机,需要输入yes/no,改成False不用输入
timeout                   = 10    #连接主机的超时时间
log_path = /var/log/ansible.log    #设置日志路径
private_key_file = /root/.ssh/id_rsa  #指定认证密钥的私钥

ansible hosts主机清单配置文件说明

自动化运维工具ansible实战插图2

根据不同服务类型可以对主机清单进行分类,例如web/db等

验证ansible对主机的远程操作

2.1 对分组的主机操作
ansible web   -a  "df -h"  #查看web分组磁盘使用情况

自动化运维工具ansible实战插图3

2.2对分组内主机操作,精确匹配

自动化运维工具ansible实战插图4

2.3 对所有主机操作all

自动化运维工具ansible实战插图5

官方文档https://docs.ansible.com/ansible/latest/index.html

2.4 定义变量,并验证
mkdir /etc/ansible/group_vars/
cat  /etc/ansible/group_vars/web.yml #文件命名和组名一致
http_port: 8090
server_name: www.baidu.com

打印变量

ansible web   -a "echo {{server_name}}"

自动化运维工具ansible实战插图6

ansible 常见的选项
-vvv 打印详细输出
ansible web -vvv -a 'cat  /tmp/123'
-f 指定并发数
ansible web -vvv -a 'cat  /tmp/123'  -f 10
-i 指定别的位置的主机清单hosts
ansible web -a  'cat  /tmp/123'  -i /root/hosts
-m 指定模块
ansible  web   -m  shell -a  'echo hello-zhangfan >>  /tmp/123'
3.0配置免密登录认证
#生成密钥
ssh-keygen
将密钥发送到目标主机
ssh-copy-id  root@192.168.1.21
ssh-copy-id  root@192.168.1.22
3.1修改主机清单文件,并测试
cat  /etc/ansible/hosts

自动化运维工具ansible实战插图7

ansible web   -a  "ls  /tmp"

自动化运维工具ansible实战插图8

验证成功

4.0 ansible常用的模块
- 执行shell命令  (command和shell)
- 文件传输  (copy和file)
- 管理软件包 (yum )
- 用户和组(user)
- 从源代码管理系统部署(git)
- 管理服务(service)
- 目标主机信息(setup)
4.1使用shell模块,sudo提权测试
#node01,node02执行
useradd   zhangfan 
echo 123456  |passwd --stdin zhangfan
#node02配置sudo权限
vim  /etc/sudoers

自动化运维工具ansible实战插图9

  • node01不配置sudo权限

master测试

ansible  web   -m  shell  -a 'ls /root'   -u  zhangfan -k --become  --become-user root -K
ansible  web 
-m  shell \           #指定模块
-a 'ls /root' \         #执行的命令
-u  zhangfan  -k \ 指定远程连接的用户并输入密码
--become  --become-user root \ 提权的用户
-K #sudo提权用户输入的密码
```bash

![](https://img-blog.csdnimg.cn/20210530232429448.png)

发现提权的node02节点正常node01权限不足

##### 4.2 使用copy模块

```bash
ansible  web   -m copy -a  "src=/root/nginx-1.12.tar  dest=/tmp"   -u root

自动化运维工具ansible实战插图10

4.3使用file模块
ansible  web  -m  file  -a "dest=/opt/hello  mode=600 state=directory" -u root

文件状态

absent          #卸载/删除
directory       #目录
file,           #文件
hard            #硬连接
link            #软连接
touch           #空文件

自动化运维工具ansible实战插图11

说明创建目录成功

删除目录

ansible  web  -m  file  -a "dest=/opt/hello   state=absent" 

创建一个文件

ansible  web  -m  file  -a "dest=/opt/hello mode=755  state=touch"
4.3 Yum模块
状态
absent  #卸载
present  #安装
ansible web   -m yum  -a  'name=memcached  state=present'
ansible web   -m yum  -a  'name=memcached  state=absent'
4.4创建用户模块
 ansible  web   -m user  -a   "name=lisi password=123.com"
 ansible  web   -m user  -a   "name=php password=123456  shell=/sbin/nologin"  #指定shell创建

自动化运维工具ansible实战插图12

删除用户

ansible  web   -m user  -a   "name=lisi  state=absent"
4.5git 模块

需要提前创建一个空目录

ansible  web -m  git -a "repo=https://github.com/ansible/ansible.git  dest=/mnt/ansible"
4.6 service模块

启动nginx服务

 ansible web  -m  service  -a "name=nginx state=started"

自动化运维工具ansible实战插图13

加入开机自启

ansible web  -m  service  -a "name=nginx enabled=true"
4.7 setup模块获取相应模块信息

打印所有信息

ansible  web   -m  setup

获取系统版本

ansible  web   -m  setup  -a  "filter=ansible_os_family*"

自动化运维工具ansible实战插图14

获取内存信息

ansible  web   -m  setup  -a  "filter=ansible_*_mb"
免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

作者: 3182235786a

上一篇

一文搞清楚,QPS、TPS、并发用户数、吞吐量

下一篇

Linux 下大文件切割与合并

为您推荐

windows8

windows8

Windows 8 是微软公司于 2012 年推出的一款操作系统,因其独特的界面设计和功能受到广泛关注。本文将从 Win...
Windows 下载指南:获取最新版本的 Windows 操作系统

Windows 下载指南:获取最新版本的 Windows 操作系统

作为全球最受欢迎的操作系统之一,Windows 提供了丰富的功能和用户友好的界面。如果您想获取最新版本的 Windows...
windows资源管理器已停止工作

windows资源管理器已停止工作

Windows 资源管理器已停止工作是 Windows 操作系统中常见的一个问题,通常表现为资源管理器窗口无法正常打开或...
Windows 10 激活方法详解:轻松激活您的操作系统

Windows 10 激活方法详解:轻松激活您的操作系统

购买了全新的Windows 10操作系统后,如何激活它成为许多用户关注的问题。本文将为您详细介绍Windows 10的激...
windows10激活工具

windows10激活工具

Windows 10 激活工具是一款用于激活 Windows 10 操作系统的软件。通过使用激活工具,用户可以轻松地激活...

发表回复 取消回复

登录 • 注册
发布
返回顶部

深圳SEO优化公司临沧seo优化价格大庆关键词按天收费萍乡网站制作公司黔东南阿里店铺运营哪家好阜新seo多少钱铜川建站景德镇百度竞价包年推广报价兰州百度网站优化哪家好通辽网站搜索优化价格黄山百度标王报价湘潭阿里店铺托管推荐肇庆百度标王宁波高端网站设计公司武汉如何制作网站报价营口设计网站报价济宁seo网站优化枣庄外贸网站制作推荐坪地网站改版公司梅州建站潜江网站优化按天收费推荐大浪网站定制报价天门阿里店铺托管价格泰州网站改版推荐平湖网站优化按天计费哪家好汉中网站推广系统韶关阿里店铺运营价格宝鸡网站制作朔州阿里店铺运营推荐遂宁百度网站优化排名哪家好玉林模板制作歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化