Ansible环境搭建,CentOS 系列操作系统搭建Ansible集群环境

Ansible是一种自动化工具,基于Python写的,原理什么的就不过多再说了,详情参考:https://www.itwk.cc/post/403.html
https://blog.csdn.net/qq_34185638/article/details/131079320?spm=1001.2014.3001.5502

环境准备

HOSTNAMEIPOS
master.example.com10.5.5.132CentOS Stream 8 Mini Install
node1.example.com10.5.5.133CentOS Stream 8 Mini Install
node2.example.com10.5.5.134CentOS Stream 8 Mini Install

此次实验将会用到三台主机,一台作为控制节点,两台作为被管理节点(受控主机)

配置主机名

image-20230730223006054

关闭SELINUX

setenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config

image-20230730223317597

配置本地域名解析(管理节点执行)

/etc/hosts文件中添加被管理节点的 ip+fqdn,直接用IP也可以,但是不易于管理,使用fqdn可以使用这些名称来标识和操作主机,而不必依赖于IP地址。


127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
10.5.5.133  node1 node1.example.com
10.5.5.134  node2 node2.example.com

配置免密登录

配置免密登录,实现控制节点无需输入密码的情况下通过SSH协议连接到被管理节点。

生成RSA密钥对

ssh-keygen -t rsa

image-20230730224131989

将公钥复制到远程服务器

ssh-copy-id [username]@server

image-20230730224332247

验证

image-20230730224530216

安装Ansible

在控制节点安装Ansible

安装epel源,(官方仓库没有提供ansible相关rpm包)

yum -y install epel-release

安装ansible

yum -y install ansible

安装完成之后执行ansible --version判断是否正常使用。

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

配置Ansible

安装完毕之后,默认的配置文件位置在/etc/ansible目录下,其中含有ansible.cfg 配置文件,hosts默认主机清单,roles角色目录,接下来需要进行修改ansible,cfg配置文件

使用文本编辑工具打开ansible.cfg 内容如下:

image-20230730225715528

意思就是说,从 Ansible 2.12 版本开始,你可以使用 ansible-config init 命令生成一个示例的配置文件。使用 --disabled 参数将生成一个包含所有默认设置的注释文件,这意味着所有设置都被禁用并以注释形式显示。你可以将输出重定向到 ansible.cfg 文件中,以便稍后进行编辑和使用,也可以在Ansible的GitHub仓库中的stable分支中查找示例。

以上仅供了解,推荐直使用GitHub的仓库上的ansible.cfg配置文件,因为ansible-config init 命令生成的配置文件是一个示例文件,包含了所有默认设置,并将这些设置以注释的形式展示出来,生成的配置文件并不是一个完整的、可用的配置文件,因为它将所有的设置都禁用了(通过添加注释)。这样做是为了确保在生成的配置文件中没有任何潜在的影响或冲突。

而在 GitHub 上的 Ansible 仓库中的示例配置文件是一个更完整的配置文件,它包含了一些常用的配置选项和示例值。这个示例配置文件是为了给用户提供一个起点,可以根据自己的需求进行修改和定制。

下载配置文件:

cd /etc/ansible
rm -rf ansible.cfg
wget https://github.com/ansible/ansible/blob/stable-2.9/examples/ansible.cfg

如果没有wget命令的话使用yum -y install wget 安装。

编辑示例配置文件,以下是我们要配置的地方;

image-20230730232152157

image-20230730232217060

image-20230730232233716

image-20230730232326421

inventory = /etc/ansible/hosts
	#指定 Ansible 的主机清单文件的路径。默认情况下,Ansible 使用 /etc/ansible/hosts 文件作为主机清单,其中包含了要管理的远程主机的列表
	
sudo_user = root 
	#指定在执行远程命令时要使用的 sudo 用户设置为 root,表示使用 root 用户执行命令

ask_pass = False
	#指定是否询问密码,设置为 False,表示不询问密码,因为已经做了免密登录了

roles_path = /etc/ansible/roles
	#指定 Ansible 角色的路径,Ansible 角色是一种组织和重用任务和变量的机制,后面会讲到,在这个示例中,默认为 /etc/ansible/roles

remote_user = root 
	#指定远程主机的登录用户名,设置为 root,表示使用 root 用户登录远程主机

become = True
	#指定是否启用特权升级(become),特权升级允许 Ansible 在远程主机上以不同的用户身份执行命令。在这个示例中,设置为 True,表示启用特权升级

become_method = sudo
	#指定特权升级的方法。这里设置为 sudo,表示使用 sudo 命令进行特权升级

become_user = root 
	# 指定特权升级后要切换到的用户,设置为 root,表示特权升级后切换到 root 用户

become_ask_pass = False 
	#指定是否询问特权升级密码, False,表示不询问特权升级密

配置文件修改完成之后,需要创建主机清单文件,Ansible inventory 主机清单写法详解请参考:https://www.itwk.cc/post/430.html

编辑主机文件/etc/ansible/hosts

[servers]
node1.example.com
node2.example.com

测试ansible是否可以与被管理节点通信

使用ping模块检查与被管理节点连通性

image-20230730234121261

使用adhoc方式执行临时命令

image-20230730234208728







本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/63194.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

为react项目添加开发/提交规范(前端工程化、eslint、prettier、husky、commitlint、stylelint)

因历史遗留原因,接手的项目没有代码提醒/格式化,包括 eslint、pretttier,也没有 commit 提交校验,如 husky、commitlint、stylelint,与其期待自己或者同事的代码写得完美无缺,不如通过一些工具来进行规范和…

22.Netty源码之解码器

highlight: arduino-light 抽象解码类 https://mp.weixin.qq.com/s/526p5f9fgtZu7yYq5j7LiQ 解码器 Netty 常用解码器类型: ByteToMessageDecoder/ReplayingDecoder 将字节流解码为消息对象;MessageToMessageDecoder 将一种消息类型解码为另外一种消息类…

AI赋能转型升级 助力打造“数智辽宁”——首次大模型研讨沙龙在沈成功举行

当前,以“ChatGPT”为代表的大模型正在引领新一轮全球人工智能技术发展浪潮,推动人工智能从以专用小模型定制训练为主的“手工作坊时代”,迈入以通用大模型预训练为主的“工业化时代”,正不断加速实体经济智能化升级,深…

K8S系列文章之 离线安装自动化工具Ansible

参考 文档 离线安装 Ansible - DevOps - dbaselife 一、Ansible简介 Ansible是一款开源的IT配置管理工具,常被IT界的小伙伴们用于自动化的场景,多用在服务部署、配置管理方面。配置文件采用最常见的yaml格式,学习起来也是比较容易&#xff…

从0开始全栈深度学习工程师之路(四):VSCode提效设置和插件

在从0开始深度学习工程师之路(三):Python开发环境搭建(VSCode) 中,我们一步步搭建了基于VSCode的开发环境,这一篇我们继续优化我们的开发环境,毕竟工欲善其事,必先利其器。 配置 同步设置 我…

《HeadFirst设计模式(第二版)》第三章代码——装饰者模式

代码文件结构: 星巴兹案例: CondimentDecorator package Chapter3_DecorativeObjects.Decorators;import Chapter3_DecorativeObjects.Beverage;/*** Author 竹心* Date 2023/8/3**/public abstract class CondimentDecorator extends Beverage {Bever…

数智保险 创新未来 | GBASE南大通用亮相中国保险科技应用高峰论坛

本届峰会以“数智保险 创新未来”为主题,GBASE南大通用携新一代创新数据库产品及金融信创解决方案精彩亮相,与国内八百多位保险公司高管和众多保险科技公司技术专家,就保险领域数字化的创新应用及生态建设、新一代技术突破及发展机遇、前沿科…

空地协同智能消防系统——无人机、小车协同

1 题目 1.1 任务 设计一个由四旋翼无人机及消防车构成的空地协同智能消防系统。无人机上安装垂直向下的激光笔,用于指示巡逻航迹。巡防区域为40dm48dm。无人机巡逻时可覆盖地面8dm宽度区域。以缩短完成全覆盖巡逻时间为原则,无人机按照规划航线巡逻。发…

Ubuntu安装JDK与IntelliJ IDEA

目录 前言 Ubuntu 安装 JDK 1、更新软件包列表 2、安装OpenJDK 3、验证安装 Ubuntu安装IntelliJ IDEA 1、下载 IntelliJ IDEA 2、解压缩 IntelliJ IDEA 安装包 3、移动 IntelliJ IDEA 到安装目录 4、启动 IntelliJ IDEA 前言 APT(Advanced Package Tool&…

-bash: ./startup.sh: Permission denied解决

今天在Linux上启动Tomcat,结果弹出:-bash: ./startup.sh: Permission denied 的提示。 这是因为用户没有权限,而导致无法执行。用命令chmod 修改一下bin目录下的.sh权限就可以了。 在Tomcat的bin目录下 ,输入命令行 :c…

MyBatis关联查询

文章目录 前言多对一关联 association一对多关联 collectionresultMap元素 前言 提示:这里可以添加本文要记录的大概内容: 关联查询是指在一个查询中同时获取多个表中的数据,将它们结合在一起进行展示。 关联表需要两个及以上的表 数据库代…

升级你的GitHub终端认证方式:从密码到令牌

升级你的GitHub终端认证方式:从密码到令牌 前言 GitHub官方在2021年8月14日进行了一次重大改变,它将终端推送代码时所需的身份认证方式从密码验证升级为使用个人访问令牌(Personal Access Token)。这个改变引起了一些新的挑战&am…

java网络编程概述及例题

网络编程概述 计算机网络 把分布在不同地理区域的计算机与专门的外部设备用通信线路连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息、共享硬件、软件、数据信息等资源。 网络编程的目的 直接或间接地通过网络协议与其他计算机实现…

【NLP概念源和流】 04-过度到RNN(第 4/20 部分)

接上文 【NLP概念源和流】 03-基于计数的嵌入,GloVe(第 3/20 部分) 一、说明 词嵌入使许多NLP任务有了显著的改进。它对单词原理图的理解以及将不同长度的文本表示为固定向量的能力使其在许多复杂的NLP任务中非常受欢迎。大多数机器学习算法可以直接应用于分类和回归任务的…

独立站私域怎么玩?浅浅了解一下吧!

当你是一个跨境电商独立站的卖家,你的工作有三个主要焦点:充分利用流量、提升用户转化率和降低用户的总体成本。 然而,除了利用广告以外,是否有更多的策略可以帮助你接触到用户,同时降低吸引新用户的成本呢&#xff1…

SpringBoot统一功能处理(AOP思想实现)(统一用户登录权限验证 / 异常处理 / 数据格式返回)

主要是三个处理: 1、统一用户登录权限验证; 2、统一异常处理; 3、统一数据格式返回。 目录 一、用户登录权限校验 🍅 1、使用拦截器 🎈 1.1自定义拦截器 🎈 1.2 设置自定义拦截器 🎈创建cont…

SSM项目-博客系统

在线体验项目:登陆页面 项目连接:huhublog_ssm: 个人博客系统 技术栈:SpringBoot、SpringMVC、Mybatis、Redis、JQuery、Ajax、Json (gitee.com) 1.项目技术点分析 SpringBoot、SpringWeb(SpringMVC)、MyBatis、MySQL(8.x)、Redis(存储验…

JSP实训项目设计报告—MVC简易购物商城

JSP实训项目设计报告—MVC简易购物商城 文章目录 JSP实训项目设计报告—MVC简易购物商城设计目的设计要求设计思路系统要求单点登录模块商品展示模块购物车展示模块 概要设计Model层View层Controller层 详细设计Model层View层登录界面系统主界面 Controller层 系统运行效果项目…

【驱动开发day8作业】

作业1&#xff1a; 应用层代码 #include <stdlib.h> #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> #include <string.h> #include <sys/ioctl.h>int main(int…

CVE-2022-23134(Zabbix setup 访问控制登录绕过)

目录 一、题目 二、进入题目 一、题目 靶标介绍&#xff1a; Zabbix Sia Zabbix是拉脱维亚Zabbix SIA&#xff08;Zabbix Sia&#xff09;公司的一套开源的监控系统。该系统支持网络监控、服务器监控、云监控和应用监控等。 Zabbix 存在安全漏洞&#xff0c;该漏洞源于在初始…