IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Ansible自动化运维工具使用详解 -> 正文阅读

[系统运维]Ansible自动化运维工具使用详解

环境准备:

3台主机 ????1个控制节点 两个被控制节点

解析:本地互相解析(三台机器都配置)

vim /etc/hosts

192.168.11.191 server????控制节点

192.168.11.192 slave-1???被控制节点

192.168.11.193 slave-2???被控制节点

配置完解析后在配置ssh公钥认证:控制节点需要发送ssh公钥给所有被控制节点

ssh-keygen

ssh-copy-id -i 192.168.11.192

ssh-copy-id -i 192.168.11.193

所有机器:

systemctl stop firewalld && setenforce 0???关闭防火墙和selinux

安装:控制节点

1. 配置EPEL网络yum源

yum install -y epel-release

2.安装ansible

yum install -y ansible

3.查看帮助

ansible --help

4.查看版本

ansible --version

ansible---inventory主机清单

官方文档: http://docs.ansible.com/ansible/intro_inventory.html#>

inventory文件通常用于定义要管理主机的认证信息,例如ssh登录用户名、密码以及key相关信息

查看配置文件:

rpm ?-qc ansible

-q:---query查询

1.主配置文件:

/etc/ansible/ansible.cfg ?#主要设置一些ansible初始化的信息,比如日志存放路径、模块、等配置信息

2.主机清单文件:

默认位置/etc/ansible/hosts

1.添加主机或者主机组:

vim /etc/ansible/hosts ?#在最后追加被管理端的机器

slave-1?????????????????????#单独指定主机,可以使用主机名称或IP地址

2.添加主机组:

[slave] ???????#使用[]标签指定主机组 ----标签自定义

192.168.11.192???????#如果未解析添加ip

slave-2?????#解析添加主机名

3.为一个组指定变量,组内每个主机都可以使用该变量:

[slave:vars] ????????#设置变量,vars--

ansible_ssh_port=22 ????

ansible_ssh_user=root ??

ansible_ssh_private_key_file=/root/.ssh/id_rsa ?

ansible_ssh_pass=test ?????#也可以定义密码,如果没有互传秘钥可以使用密码。

Ansible Inventory 常见的内置参数:

查看组内主机列表:

语法:ansible ?组名 ?--list-hosts

ansible slave?--list-hosts

使用ping模块检查ansible节点的连通性:

指定单台机器

ansible slave-1 -m ping -o???

同时指定多台机器:

ansible slave-1,slave-2?-m ping -o

执行shell命令:

ansible slave-1?-m shell -a 'uptime'

不加 -m ?默认是 command 模块

ansible slave-1 -a 'uptime'

重定向输出到本地文件中:

ansible slave-1 -m shell -a 'df -Th' > /opt/a.txt

常用模块

1.远程复制备份模块:copy

模块参数详解: ?

src=:指定源文件路径

dest=:目标地址(拷贝到哪里)

owner:指定属主

group:指定属组

mode:指定权限,可以以数字指定比如0644

backup:在覆盖之前将原文件备份,备份文件包含时间信息。有两个选项:yes|no

vim a.txt ?#创建一个测试文件

123123

ansible slave -m copy -a 'src=/root/a.txt dest=/opt owner=root group=root mode=644' -o

vim a.txt ?#追加如下内容

123123

321321

ansible slave -m copy -a 'src=/root/a.txt dest=/opt/ owner=root group=root mode=644 backup=true' -o

注释:如果文件没有变化,不会备份。只有文件内容不同,才会做备份。

登录被控制机器其中一台查看

? 第一次

? 第二次

2.软件包管理 yum模块

安装apache

ansible slave-1 -m yum -a "name=httpd state=latest" -o

state= ????#状态是什么,干什么

state=absent ??????用于remove安装包

state=latest ??????表示最新的

state=removed ?????表示卸载

到被控制节点看一下

卸载软件:

ansible slave-1 -m yum -a "name=httpd state=removed" -o

到被控制节点看一下

3.服务管理service模块

ansible slave-1 -m service -a "name=httpd state=started" #启动

ansible slave-1 -m service -a "name=httpd state=stopped" #停止

ansible slave-1 -m service -a "name=httpd state=restarted" #重启

ansible slave-1 -m service -a "name=httpd state=started enabled=yes" #开机启动

ansible slave-1 -m service -a "name=httpd state=started enabled=no" ?#开机关闭

4.文件模块file

模块参数详解: ?

owner:修改属主

group:修改属组

mode:修改权限

path=:要修改文件的路径

recurse:递归的设置文件的属性,只对目录有效

????????yes:表示使用递归设置

state:??创建新的文件或者目录

touch:创建一个新的空文件

directory:创建一个新的目录,当目录存在时不会进行修改

#创建一个文件

ansible?slave-1?-m file -a 'path=/opt/aaa.txt mode=777 state=touch'

到被控制节点看一下?

#创建一个目录

ansible slave-1?-m file -a 'path=/opt/aaa?mode=777 state=directory'

到被控制节点看一下

5.收集信息模块setup

ansible slave-1?-m setup ?#收集所有信息

ansible slave-1?-m setup -a 'filter=ansible_python_version'???只查询ansible版本信息filter过滤

??

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-05-13 12:00:08  更:2022-05-13 12:02:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 15:36:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码