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/rolesremote_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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java分布式微服务3——Docker

文章目录 Docker介绍安装DockerDocker基础操作Docker服务的启动镜像命令容器命令1. 从docker hub去查看Nginx容器的运行命令2. 查看所有容器状态3. 查看容器日志4. 进入Nginx容器执行命令,修改Html内容,添加“Hello World”5. 停止与开始容器6. 删除容器…

synchronized原理

synchronized synchronized的用法参考Java中使用同步关键字synchronized需要注意的问题 - 小浩 - 博客园 synchronized是非公平锁 synchronized实现原理 16_深入JVM源码-monitor竞争_哔哩哔哩_bilibili 9 synchronized与锁 深入浅出Java多线程 (redspider.group) Java中…

springboot()—— swagger

零、一张图读懂swagger 懂了,这玩意就是用swagger搞出来的! 就是一个后端开发自测的东西嘛! 一、概念 存在即合理,我们看一下swagger诞生的原因:在前后端分离的架构中,前端新增一个字段,后端就…

【PDF密码】PDF文件不能打印,为什么?

正常的PDF文件是可以打印的,如果PDF文件打开之后发现文件不能打印,我们需要先查看一下自己的打印机是否能够正常运行,如果打印机是正常的,我们再查看一下,文件中的打印功能按钮是否是灰色的状态。 如果PDF中的大多数功…

Python-OpenCV 图像的基础操作

图像的基础操作 获取图像的像素值并修改获取图像的属性信息图像的ROI区域图像通道的拆分及合并图像扩边填充图像上的算术运算图像的加法图像的混合图像的位运算 获取图像的像素值并修改 首先读入一副图像: import numpy as np import cv2# 1.获取并修改像素值 # 读…

安全狗V3.512048版本绕过

安全狗安装 安全狗详细安装、遇见无此服务器解决、在windows中命令提示符中进入查看指定文件夹手动启动Apache_安全狗只支持 glibc_2.14 但是服务器是2.17_黑色地带(崛起)的博客-CSDN博客 安全狗 safedogwzApacheV3.5.exe 右键电脑右下角安全狗图标-->选择插件-->安装…

在win10上安装Docker desktop,并在docker中安装mysql

操作步骤: 安装docker 去 官网 下载安装软件;选择windows 2. 依次点击安装; 安装完成后无需登录,直接启动即可; 如果有提示需要更新wsl,执行以下命令更新: wsl --update wsl --status 查看状态 验证一下 适用命令:docker run hello-world 设置国内镜像 docker安装mysql…

不懂录音转文字转换器如何使用?来掌握这几个方法吧

作为一名忙碌的职场人士,我每天都要参加各种会议。我发现自己经常会错过会议的一些重要信息,利用录音记录又要费时间去听再转录,实在令我很头疼。直到我开始使用录音转文字这个工具,它简直像魔法一样。只要将需要转换的音频上传就…

建议收藏!独立站新手容易踩的5个坑,你中了吗?

接过很多独立站商户咨询,发现大家很容易踩几个坑,也是大家问的比较多的。 今天把印象最深的5个坑分享给大家,希望大家可以少踩坑,并且结合建议对以下几个方面进行优化,至少能保证你的独立站做到及格线上线&#xff01…

进程与线程、线程创建、线程周期、多线程安全和线程池(ThreadPoolExecutor)

目录 进程与线程线程和进程的区别是什么?线程分两种:用户线程和守护线程线程创建四种方式run()和start()方法区别:为什么调用 start() 方法时会执行 run() 方法,为什么不能直接调用 run() 方法?Runnable接口和Callable…

【Android】在AndroidStudio开发工具运行Java程序

在Android Studio开发工具中,Android系统开始就是用java语言开发的,还可以java代码来写程序,控制台,桌面应用,还可以写可调用的模块,这里讲一下创建Java程序步骤,方便入门java语言开发。 新建一…

初识网络(JavaEE初阶系列9)

目录 前言: 1.网络的发展史 1.1独立模式 1.2网络互联 1.3局域网LAN 1.4广域网WAN 2.网络通信基础 2.1IP地址 2.2端口号 3.认识协议 3.1协议分层 3.2分层的作用 3.3TCP/IP五层(或四层)模型 3.4OSI七层模型 3.5网络设备所在分层 …