hydd的Linux笔记Day36

本文是关于Ansible的Linux笔记,介绍了Ansible的基本概念、原理和模块应用,包括环境准备、批量配置、程序部署等。重点讲解了Ansible的Shell、Script、File、Copy、Fetch、Lineinfile、User、Yum等模块的使用,并通过实例演示了如何验证逻辑卷的创建和管理。
摘要由CSDN通过智能技术生成

Day36

Ansible

环境准备

在这里插入图片描述

Ansible简介

​ Ansible是一款自动化运维工具,基于Python开发

​ 它具有

​ 批量系统配置,批量修改服务器密码

​ 批量程序部署,批量安装软件包

​ 批量运行命令等功能,批量修改配置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WBZuiXyx-1603758703995)(C:\Users\BJTT\AppData\Roaming\Typora\typora-user-images\1603674557635.png)]

产品特色

​ 基于SSH架构,模块丰富,社区活跃,支持自定义模块,支持异构IT架构,部署简单,容易上手。

Ansible原理

​ 控制端主机自带很多模块(模块就是脚本);

​ ansible通过ssh远程被管理主机,将控制端的模块(脚本)或命令传输到被管理主机;

​ 在被管理端主机执行模块(脚本)或命令,执行不同的模块或命令可以实现不同的功能;

最后ansible退出ssh远程。

​ 绝大多数模块(脚本)都需要参数才能执行成功!!!类似于shell脚本的位置变量!

部署Ansible

准备基础环境

​ 控制节点要求:

​ 域名解析(为了方便后期操作,可以不做)

​ 配置SSH密钥(ansible是基于ssh实现远程控制)

​ 安装Ansible软件

1)Control控制节点

修改/etc/hosts,在文件中手动添加如下内容,修改该文件的目的是做域名解析。

[root@control ~]# vim  /etc/hosts        #修改文件,手动添加如下内容(不要删除文件原来的内容)
192.168.4.253    control    
192.168.4.11    node1    
192.168.4.12    node2    
192.168.4.13    node3    
192.168.4.14    node4    
192.168.4.15    node5

验证:**[**root@control ~]# ping node1 #可以使用ping命令依次ping所有域名

​ 配置SSH密钥实现免密码登录(非常重要)

​ Ansible是基于SSH远程的原理实现远程控制,如果控制端主机无法免密登录被管理端主机,后续的所有试验都会失败!!

[root@control ~]#  ssh-keygen        #生成ssh密钥
[root@control ~]#  for i in node1 node2 node3 node4 node5
do
ssh-copy-id   $i 
done
#拷贝密钥到远程主机
#提示:拷贝密钥到远程主机时需要输入对方电脑的账户密码才可以!!
#拷贝密钥到node1就需要输入node1对应账户的密码,拷贝密钥到node2就需要输入node2对应的密码

警告:如果有任何一台主机远程还需要密码,就不要往下继续操作,后面实验都会失败!!!

验证:

[root@control ~]# ssh  node1            #使用ssh命令依次远程所有主机都可以免密码登录[root@node1 ~]# exit          #退出ssh远程登录 
2)部署Ansible软件(仅Control主机操作)。

[root@control ~]# tar -xf   ansible_soft.tar.gz
[root@control ~]# cd ansible_soft
[root@control ansible_soft]# dnf  -y  install   *

被控制节点要求:

  • Ansible默认通过SSH协议管理机器

  • 被管理主机要开启SSH服务,并允许控制主机登录

  • 被管理主机需要安装有Python

    修改配置文件

    主配置文件说明:

    主配置文件ansible.cfg(主配置文件的内容可以参考/etc/ansible/ansible.cfg)

    ansible配置文件查找顺序

    首先检测ANSIBLE_CONFIG变量定义的配置文件(默认没有这个变量)

    其次检查当前目录下的./ansible.cfg文件

    再次检查当前用户家目录下~/ansible.cfg文件

    最后检查/etc/ansible/ansible.cfg文件0

    1) 修改主配置文件。
    
    [root@control ~]# mkdir  ~/ansible
    [root@control ~]# vim  ~/ansible/ansible.cfg
    [defaults]
    inventory = ~/ansible/inventory            
    #主机清单配置文件(inventory可以是任意文件名),英语词汇:inventory(清单、财产清单)
    #forks = 5          #ssh并发数量
    #ask_pass = True        #使用密钥还是密码远程,True代表使用密码
    #host_key_checking = False      #是否校验密钥(第一次ssh时是否提示yes/no)
    
    2) 修改主机清单文件(清单文件名必须与主配置文件inventory定义的一致)。
    
    [root@control ~]# vim  ~/ansible/inventory
    [test]        #定义主机组(组名称任意)
    node1         #定义组中的具体主机,组中包括一台主机node1
    [proxy]         #定义主机组(组名称任意),英语词汇:proxy(代理人,委托人)
    node2          #proxy组中包括一台主机node2
    [webserver]
    node[3:4]        #这里的node[3:4]等同于node3和node4
    [database]
    node5
    [cluster:children]      #嵌套组(children为关键字),不需要也可
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值