阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

自动化运维之Ansible的安装部署与命令模块

473次阅读
没有评论

共计 2694 个字符,预计需要花费 7 分钟才能阅读完成。

  • Ansible 简介

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

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

主要包括:

(1) 连接插件 connection plugins:负责和被监控端实现通信;

(2)host inventory:指定操作的主机,是一个配置文件里面定义监控的主机;

(3) 各种模块核心模块、command 模块、自定义模块;

(4) 借助于插件完成记录日志邮件等功能;

(5)playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。

  • 搭建环境

管理端:CentOS7-1 192.168.177.145

被管理端:centos7-2 192.168.177.135

被管理端:centos7-3 192.168.177.132

Ansible 安装

192.168.177.145:

# systemctl stop firewalld.service  // 关闭防火墙
# setenforce 0
# yum install -y epel-release  // 安装 epel 源
# yum install ansible -y   // 安装 Ansible
# vim /etc/ansible/hosts 
  [abc]
  192.168.177.135
  [mysql]
  192.168.177.132
# ssh-keygen -t rsa       // 设置密钥对
# ssh-copy-id root@192.168.177.135
# ssh-copy-id root@192.168.177.132  // 配置密钥对
# ssh-agent bash    // 免交互代理
# ssh-add

自动化运维之 Ansible 的安装部署与命令模块
自动化运维之 Ansible 的安装部署与命令模块
自动化运维之 Ansible 的安装部署与命令模块
自动化运维之 Ansible 的安装部署与命令模块

192.168.177.135(另一台也一样):

# systemctl stop firewalld.service  // 关闭防火墙
# setenforce 0
# cd ~/.ssh

自动化运维之 Ansible 的安装部署与命令模块

Ansible 命令行模块

command 模块

命令格式:ansible [主机] [-m 模块] [-a args]

# ansible 192.168.177.135 -m command -a 'date'   // 指定 ip 执行 date
# ansible mysql -a 'date'   // 指定分类执行 date

自动化运维之 Ansible 的安装部署与命令模块
自动化运维之 Ansible 的安装部署与命令模块

cron 模块

用于定义任务计划

两种状态(state):present 表示添加(可以省略),absent 表示移除。

# ansible-doc -s cron      // 查看 cron 模块信息
# ansible abc -m cron -a 'minute="*/1"job="/usr/bin/echo nihao"name="test nihao"'  // 添加周期性计划任务
# ansible abc -a 'crontab -l'
# ansible abc -m cron -a 'name="test nihao"state=absent'   // 移除计划任务,假如该计划任务没有取名字,name=None 即可 

自动化运维之 Ansible 的安装部署与命令模块
自动化运维之 Ansible 的安装部署与命令模块

user 模块

用于创建新用户和更改删除已存在的用户

user 模块是请求的是 useradd, userdel, usermod 三个指令

# ansible-doc -s user
# ansible mysql -m user -a 'name=zhangsan'  // 创建 zhangsan
# ansible mysql -m user -a 'name=zhangsan state=absent'   // 删除 zhangsan

自动化运维之 Ansible 的安装部署与命令模块
自动化运维之 Ansible 的安装部署与命令模块

group 模块

对用户组进行管理

group 模块请求的是 groupadd, groupdel, groupmod 三个指令

# ansible mysql -m group -a 'name=test gid=306 system=yes'  // 创建 test 组
# ansible mysql -m user -a 'name=wang' // 创建用户 wang
# ansible mysql -m group -a 'name=test1 gid=506 system=yes'  // 创建 test1 组
# ansible mysql -m user -a 'name=wang uid=506 group=test1 system=yes' // 将 wang 添加到 test1 组 

自动化运维之 Ansible 的安装部署与命令模块
自动化运维之 Ansible 的安装部署与命令模块
自动化运维之 Ansible 的安装部署与命令模块

copy 模块

用于实现文件复制和批量下发文件

# ansible-doc -s copy
# ansible abc -m copy -a 'src=/etc/fstab dest=/opt/fstab.bk owner=root mode=644' // 将 /etc/fstab 复制到被管理端 /opt 下
# ansible abc -a 'cat /opt/fstab.bk' // 查看 

自动化运维之 Ansible 的安装部署与命令模块
自动化运维之 Ansible 的安装部署与命令模块

file 模块

用于设置文件属性

# ansible mysql -m file -a 'path=/opt/test.txt state=touch'  // 创建空文件
# ansible mysql -m file -a 'path=/opt/test.txt owner=wang group=test1 mode=666'   // 设置文件的属主,属组和权限
# ansible mysql -m file -a 'src=/opt/test.txt path=/opt/test.txt.link state=link'  // 创建链接性文件
# ansible mysql -m copy  -a 'content="hello"dest=/opt/test.txt'  // 在 test.txt 中写入内容 

自动化运维之 Ansible 的安装部署与命令模块
自动化运维之 Ansible 的安装部署与命令模块
自动化运维之 Ansible 的安装部署与命令模块
自动化运维之 Ansible 的安装部署与命令模块

ping 模块

用于测试指定主机的连通性

# ansible all -m ping

自动化运维之 Ansible 的安装部署与命令模块

yum 模块

# ansible abc -m yum -a 'name=httpd' //yum 安装 httpd 服务 

自动化运维之 Ansible 的安装部署与命令模块

service 模块

用来控制管理服务的运行状态

# ansible abc -m service -a 'name=httpd enabled=true state=started'  // 开机自启动 

自动化运维之 Ansible 的安装部署与命令模块
自动化运维之 Ansible 的安装部署与命令模块

shell 模块

在被管理端运行命令

# ansible mysql -m shell -a 'echo"abc123"| passwd --stdin wang'  // 创建密码 

自动化运维之 Ansible 的安装部署与命令模块

script 模块

将本地脚本复制到被管理端运行

# ansible-doc -s script
# vi /opt/test.sh
#!/bin/bash
echo "hello ansible from script"> /opt/script.txt
# chmod +x /opt/test.sh
# ansible mysql -m script -a '/opt/test.sh'

自动化运维之 Ansible 的安装部署与命令模块

setup 模块

# ansible mysql -m setup           // 获取 mysql 组主机的 facts 信息 

自动化运维之 Ansible 的安装部署与命令模块

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2694字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19350
评论数
4
阅读量
7959196
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
【1024程序员】我劝你赶紧去免费领一个AWS、华为云等的主机

【1024程序员】我劝你赶紧去免费领一个AWS、华为云等的主机

【1024 程序员】我劝你赶紧去免费领一个 AWS、华为云等的主机 每年 10 月 24 日,程序员们都会迎来...
星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛 NAS-12:开源笔记的进化之路,效率玩家的新选择 前言 如何高效管理知识与笔记,已经成为技术...
国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号 AI 知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率 大家好,我是星哥,...
星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定! 前言 作为 NAS 玩家,你是否总被这些...
星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

  星哥带你玩飞牛 NAS-16:飞牛云 NAS 换桌面,fndesk 图标管理神器上线! 引言 哈...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face 免费服务器 +Docker 快速部署 HertzBeat 监控平台 ...
每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站 - 手机博物馆 -CHAZ 3D Experience 一句话介绍:一个用 3D 方式重温...
Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集 在云原生体系中,Prometheus 已成为最主流的监控与报警...
星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛 NAS-12:开源笔记的进化之路,效率玩家的新选择 前言 如何高效管理知识与笔记,已经成为技术...
小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比 星哥玩云,带你从小白到上云高手。今天咱们就来聊聊——什...