首页 > 其他分享 >Ansible快速入门

Ansible快速入门

时间:2024-11-22 14:31:03浏览次数:1  
标签:入门 快速 ansible Ansible Master 模块 主机 root

Ansible快速入门

一、介绍

Ansible是一款简单的运维自动化工具,只需要使用ssh协议连接就可以来进行系统管理,自动化执行命令,部署等任务。

Ansible的特点

1、ansible不需要单独安装客户端,也不需要启动任何服务
2、ansible是python中的一套完整的自动化执行任务模块
3、ansible playbook 采用yaml配置,对于自动化任务执行过一目了然

Ansible组成结构

  • Ansible
    Ansible的命令工具,核心执行工具;一次性或临时执行的操作都是通过该命令执行。
  • Ansible Playbook
    任务剧本(又称任务集),编排定义Ansible任务集的配置文件,由Ansible顺序依次执行,yaml格式。
  • Inventory
    Ansible管理主机的清单,默认是/etc/ansible/hosts文件。
  • Modules
    Ansible执行命令的功能模块,Ansible2.3版本为止,共有1039个模块。还可以自定义模块。
  • Plugins
    插件,模块功能的补充,常有连接类型插件,循环插件,变量插件,过滤插件,插件功能用的较少。
  • API
    提供给第三方程序调用的应用程序编程接口。

二、环境准备

IP 系统 主机名 描述
172.16.1.3 CentOS7 Master ansible管理节点
172.16.1.4 CentOS7 Node1 被管理节点1
172.16.1.5 CentOS7 Node2 被管理节点2
  • 管理节点关闭防火墙和SElinux
[root@Master ~]# systemctl stop firewalld
[root@Master ~]# systemctl disable firewalld
[root@Master ~]# setenforce 0
[root@Master ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
[root@Master ~]# egrep "^SELINUX=" /etc/selinux/config
SELINUX=disabled
  • 管理节点修改/etc/hosts文件实现本地解析
[root@Master ~]# cat >>/etc/hosts<<'EOF'
172.16.1.4 Node1
172.16.1.5 Node2
EOF

之后使用ping域名方式是否解析正常。

  • 管理节点实现免密登录被管理节点
#生成公钥私钥ssh-keygen->回车->回车->回车
[root@Master ~]# ssh-keygen

#传递公钥到被管理节点
[root@Master ~]# for i in localhost Node1 Node2; do ssh-copy-id $i; done

完成后测试看看是否可以免密登录。

三、安装Ansible软件包

  • 安装ansible软件包,由于ansible需要epel源,这里选用阿里epel源。可以把Base源也加上:
[root@Master ~]# yum -y install wget
[root@Master ~]# wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
[root@Master ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
[root@Master ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
  • 安装ansible软件包
[root@Master ~]# yum -y install ansible
  • 查看软件包版本
[root@Master ~]# ansible --version

四、定义被管理主机的清单文件

  • ansible主要配置文件如下

Snipaste_2024-03-21_10-18-07

  • 主配置文件的默认配置:

/etc/ansible/ansible.cfg

Snipaste_2024-03-21_10-55-47

· 主机清单配置方式,默认全部都是注释的

4.1 清单定义

[root@Master ~]# mv /etc/ansible/hosts /etc/ansible/hosts-default

可以直接把要管理的主机IP或者主机名写入,写主机名的前提是之前有本地配置了解析。

例如:

172.16.1.1
172.16.1.2
...
Node1
Node2
...

分组方式:

[webserver]
172.16.1.1
node2
...

[dbserver]
172.16.1.3
node3
...

假设这里要安装k8s集群就可以配置如下,如果主机非常多,有Node1、Node2、···、Node100,可以简写成:

[kubernetes]
localhost
Node[1:2]

[node]
Node[1:2]

4.2 清单查看方法

  • 查看所有主机清单
[root@Master ~]# ansible all --list-host
  • 查看某个组的主机清单
[root@Master ~]# ansible kubernetes --list-host

五、常用使用模块

命令格式:ansible 组名/主机 [-m 模块名] [-a 具体操作]

  • 查看主机清单
[root@Master ~]# ansible all --list-host
  • 查看某个组内的主机清单
[root@Master ~]# ansible kubernetes --list-host
  • ansible-doc命令介绍:

· 常用选项

​ -l:列出所有模块列表

​ -s:查看模块帮助信息

[root@Master ~]# ansible-doc -l
[root@Master ~]# ansible-doc -s ping

5.1 ping模块测试连通性

[root@Master ~]# ansible node -m ping
  • ansible返回结果颜色表示:

5.2 command模块

使用文档命令查看使用帮助:

[root@Master ~]# ansible-doc -s command

可以看到该模块--name的解释,用于在目标主机上执行命令。

Snipaste_2024-03-21_13-39-22

  • chdir:切换目录之后执行
[root@Master ~]# ansible node -m command -a 'chdir=/root ls -l'

表示切换到/root目录之后执行ls -l命令。

  • create:如果文件不存在将创建
[root@Master ~]# ansible node -m command -a 'creates=/data mkdir /data'

在/目录下创建data目录,如果存在将会绿色提示已经存在。

[root@Master ~]# ansible node -m command -a 'creates=/data/hello.txt touch /data/hello.txt'

在/data目录下新建hello.txt文件,如果存在会绿色提示文件存在。

  • removes:如果文件存在将删除它
[root@Master ~]# ansible node -m command -a 'removes=/data/hello.txt rm -rf /data/hello.txt'

删除/data下的hello.txt文件,如果不存在将会绿色显示不存在。

[root@Master ~]# ansible node -m command -a 'removes=/data rm -rf /data'

删除/data文件夹,如果不存在将会绿色显示不存在。

  • 其它

Snipaste_2024-03-21_14-12-27

Snipaste_2024-03-21_14-16-23

5.3 shell 模块

​ shell模块和command模块是一样的,都是在目标主机上执行命令,但是它比command强大,它比command好在支持grep、>、*等等,但是它也不支持vi、vim。

Snipaste_2024-03-21_14-31-02

Snipaste_2024-03-21_14-39-20

Snipaste_2024-03-21_14-56-00

5.4 script

  • script模块用于远程执行脚本,脚本存放在ansible主机本地即可,不需要拷贝到远程主机。

  • 常用参数:

    提示:shell模块中的chdir、creates、removes参数的作用与command中的作用都是相同的,不在例举。

示例:

有如下脚本:

[root@Master ~]# cat /root/hello.sh
#!/bin/bash
echo "hello"

在远程主机上执行:

Snipaste_2024-03-21_15-02-51

这个主要考验执行脚本的编写能力,它不用拷贝到其它主机上,执行之后会被其它主机调用。

5.5 copy 模块

[root@Master ~]# ansible node -m copy -a 'src=/root/hello.sh dest=/root'

src指定本地文件路径,dest指定目标路径。

Snipaste_2024-03-21_15-08-53

Snipaste_2024-03-21_15-09-59

标签:入门,快速,ansible,Ansible,Master,模块,主机,root
From: https://www.cnblogs.com/luguojie/p/18562821

相关文章

  • 一个方法,快速识别低代码与零代码平台
    可视化开发领域在这几年得到了快速的发展,开发平台产品也逐渐发展成了两种形态:低代码开发平台和零代码开发平台。在数字化的浪潮下,低代码/零代码通过提升“开发生产力”极大地促进了技术应用效率和产业数字化进程。目前中国的低代码/零代码在制造业、政务与公共事业、金融、电......
  • MISC从入门到放弃
    右侧有目录导航[BUUCTF]RSA分析得到一段文字:在一次RSA密钥对生成中,假设p=473398607161,q=4511491,e=17求解出d作为flga提交解题第一想法是python脚本,网上找到一个importgmpy2p=473398607161q=4511491e=17d=int(gmpy2.invert(e,(p-1)*(q-1)))print(d)得到fl......
  • (长期更新)《零基础入门 ArcGIS(ArcMap) 》实验一(上)----空间数据的编辑与处理(超超超详细
    老规矩,点赞+收藏+长评+关注!!!需要实验数据的直接划到博客最底端。目录ArcMap介绍概念操作地图操作地图浏览分析显示结果定制编程ArcMap下载ArcMap实验--空间数据的编辑与处理1.1实验内容及目的1.1.1实验内容1.1.2实验目的1.2实验方案1.3操作流程1.3.1环境设......
  • 20241122电路板维修入门之集成块焊接篇
    在没有热风焊台的情况下,也可考虑用烙铁配合焊锡来拆除或焊接集成块,它的方法是用烙铁在芯片的各个引脚都堆满焊锡,然后用烙铁循环把焊锡加热,直到所有的引脚焊锡都同时熔化,就可以把芯片取下来了。把芯片从电路板上取下来,可以考虑用细铜丝从芯片的引脚下穿过,然后从上面用手提起。......
  • 20241121电路板维修入门之CPU断针焊接篇
    CPU断针的情况很常见,370结构的赛扬一代CPU和P4的CPU针的根部比较结实,断针一般都是从中间折断,比较容易焊接,只要在针和焊盘相对应的地方涂上焊膏,上了焊锡后用烙铁加热就可以焊上了,对于位置特殊,不便用烙铁的情况可以用热风焊台加热。赛扬二代的CPU的针受外力太大时往往连根拔起,且......
  • C语言_入门例题_PAGE1
    入门例题在屏幕上输入一行信息#include<stdio.h>intmain() { printf("ThisisaCprogram.\n"); return0; }求两个整数之和#include<stdio.h>intmain() { inta,b,sum; a=123; b=456; sum=a+b; printf("sumis%d\n",sum);//%d是指定输......
  • 入门RTOS第七篇(队列函数)
    1.使用队列的流程:创建队列,写队列,读队列,删除队列2.创建队列有两种方法:动态分配内存、静态分配内存函数原型如下:QueueHandle_txQueueCreate(UBaseType_tuxQueueLength,UBaseType_tuxItemSize);静态分配内存:xQueueCreateStatic,队列的内存要事先分配好函数原型如下:Qu......
  • 运维怎么转行网络安全?零基础入门到精通,收藏这一篇就够了
    经常有人问我:干网工、干运维多年遇瓶颈,想学点新技术给自己涨涨“身价”,应该怎么选择?聪明人早已经用脚投票:近年来,越来越多运维的朋友寻找新的职业发展机会,将目光聚焦到了网络安全产业。1、为什么我建议你学习网络安全?有一种技术人才:华为阿里平安等大厂抢着要,甚至高薪难求......
  • 小程序免备案:快速部署与优化的全攻略
    小程序免备案为开发者提供了便捷高效的解决方案,省去繁琐的备案流程,同时通过优化网络性能和数据传输,保障用户体验。本文从部署策略、应用场景到技术实现,全面解析小程序免备案的核心优势。小程序免备案:快速部署与优化的全攻略什么是小程序免备案?在中国,域名和服务器通常需要......
  • 如何利用CST快速生成电机PWM控制信号
    目前在直流电机控制系统中,普遍采用以单片机或 DSP 作为微处理器的控制系统。直流电机伺服驱动器的主电结构通常采用H桥,调速大都通过PWM方式,其调制方式大致有双极式、单极式和受限单极式三种。不同的PWM方式下电机的运行特性以及主电回路的开关损耗和安全性各有不同。无刷直......