在CentOS 7中安装与配置【Ansible】的详细指南

在CentOS 7中安装与配置【Ansible】的详细指南

🐇明明跟你说过:个人主页

🏅个人专栏:《Linux :从菜鸟到飞鸟的逆袭》🏅

🔖行路有良友,便是天堂🔖

目录

一、引言

1、Centos 7.9简介

2、Ansible简介

二、安装Ansible

1、服务器准备

2、添加yun源

3、安装Ansible

三、配置Ansible

1、配置Ansible主机清单

2、配置 SSH 免密登录

3、配置 Ansible 配置文件(可选)

4、测试 Ansible 配置

5、使用 Ansible 执行任务

四、常用命令

1、ansible — 执行单条命令

2、ansible-playbook — 执行剧本

3、ansible-galaxy — 管理 Ansible 角色

4、ansible-inventory — 查看库存文件

5、ansible-vault — 加密敏感数据

6、ansible-doc — 查看模块文档


一、引言

1、Centos 7.9简介

CentOS 7.9 是基于 Red Hat Enterprise Linux (RHEL) 7.9 源代码构建的稳定、可靠的企业级 Linux 发行版,提供了最新的安全更新和性能改进,适用于服务器和桌面环境。它支持广泛的硬件平台,并集成了多种网络服务和虚拟化技术,如 KVM 和 Docker,适合用于部署 Web 服务器、数据库和其他企业应用。通过 yum 包管理器和 systemd 系统和服务管理器,CentOS 7.9 提供了简便的软件包管理和系统配置体验,是构建和管理稳定 IT 基础设施的理想选择。

2、Ansible简介

Ansible 是一个简单而强大的自动化工具,用于配置管理、应用部署和任务编排,它通过 SSH 连接远程主机,默认使用基于 YAML 的易读 playbook 来定义自动化任务,无需在客户端安装额外的代理软件,支持广泛的模块和插件以扩展功能,适用于大规模 IT 基础设施的自动化操作。

二、安装Ansible

1、服务器准备

这里准备了三台服务器,一台作为control节点,两台作为node节点

2、添加yun源

在三台机器上分别执行

wget -O /etc/yum.repos.d/CentOs-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo yum clean all yum makecache

3、安装Ansible

只在control节点执行

[root@control ~]# sudo yum install -y ansible

版本检查

[root@control ~]# ansible --version

三、配置Ansible

1、配置Ansible主机清单

Ansible 需要配置目标主机的清单,默认情况下,Ansible 会使用 /etc/ansible/hosts 作为清单文件。

编辑该文件,定义被管理的节点(目标主机)。

[root@control ~]# vim /etc/ansible/hosts

在该文件中,添加类似以下内容来配置目标主机(你可以根据实际情况修改主机名或 IP 地址):

[test] 192.168.40.101 192.168.40.102

  • [test] 是主机组的名称,可以根据实际需要进行命名。
  • 在每个组下,列出被管理的主机或 IP 地址。

2、配置 SSH 免密登录

Ansible 与目标主机通过 SSH 协议进行通信。为了避免每次操作时输入密码,通常配置 SSH 免密登录。

在控制节点上,使用 ssh-keygen 生成 SSH 公私钥对:

一路回车即可

[root@control ~]# ssh-keygen -t rsa -b 2048

然后,将生成的公钥复制到目标主机:

[root@control ~]# ssh-copy-id [email protected]
[root@control ~]# ssh-copy-id [email protected]


完成后,测试免密登录是否成功:

[root@control ~]# ssh 192.168.40.101 [root@control ~]# ssh 192.168.40.102


如果能够成功登录并无需输入密码,则 SSH 免密登录配置成功。

3、配置 Ansible 配置文件(可选)

Ansible 的配置文件 /etc/ansible/ansible.cfg 是可选的,可以根据需要进行定制化配置。常见的配置项包括:

  • inventory:指定清单文件的路径。
  • remote_user:指定默认的远程用户。
  • become:是否启用 sudo 提权。

例如,编辑配置文件来设置默认的远程用户:

[root@control ~]# vim /etc/ansible/ansible.cfg 

添加如下内容
 

[defaults] inventory = /etc/ansible/hosts remote_user = root become = yes become_method = sudo 

4、测试 Ansible 配置

安装和配置完成后,可以运行一个简单的命令来测试 Ansible 是否能够正确与目标主机通信。

运行 ping 模块,检查目标主机的连接:

[root@control ~]# ansible all -m ping


如果一切配置正确,应该返回类似以下的输出:

5、使用 Ansible 执行任务

使用 Ansible 可以执行简单的命令,比如在所有目标主机上查看系统时间:

[root@control ~]# ansible all -m command -a "date"

 

四、常用命令

1、ansible — 执行单条命令

用于在单个主机或一组主机上执行简单的命令或任务。

ansible <host-pattern> -m <module> -a "<module-args>"
  • <host-pattern>:目标主机或主机组。
  • -m <module>:指定 Ansible 模块(如 ping、shell、copy 等)。
  • -a "<module-args>":传递给模块的参数。

示例:
Ping 主机:

ansible all -m ping
  • 该命令会在所有目标主机上执行 ping 测试,确保它们可以正常访问。

执行命令:

ansible web_servers -m shell -a "uptime"
  • 在 web_servers 主机组上的所有主机执行 uptime 命令。

2、ansible-playbook — 执行剧本

用于执行定义好的 剧本(Playbook),剧本是由一组任务组成的 YAML 文件。

ansible-playbook <playbook.yml>
  • <playbook.yml>:指定要执行的 Playbook 文件。

示例:
执行 Playbook:

ansible-playbook site.yml
  • 这会执行 site.yml 文件中定义的所有任务。

指定变量文件:

ansible-playbook -i inventory.ini site.yml --extra-vars "@vars.json"


3、ansible-galaxy — 管理 Ansible 角色

用于管理 Ansible 角色和集合。可以用来从 Ansible Galaxy 下载角色、创建新角色等。

ansible-galaxy <command> <role-name>

常用子命令:
安装角色:

ansible-galaxy install <role-name>

创建角色:

ansible-galaxy init <role-name>

4、ansible-inventory — 查看库存文件

用于查看 Ansible 的库存文件(即目标主机列表),或动态生成目标主机清单。

ansible-inventory --list

查看 JSON 格式的库存:

ansible-inventory -i inventory.ini --list

查看主机组列表:

ansible-inventory -i inventory.ini --host <hostname>

5、ansible-vault — 加密敏感数据

用于加密、解密文件或变量,常用于保护敏感信息(如密码、密钥等)。

ansible-vault <command> <file>

常用子命令:

  • 创建加密文件:
ansible-vault create <file>
  • 编辑加密文件:
ansible-vault edit <file>
  • 加密现有文件:
ansible-vault encrypt <file>
  • 解密文件:
ansible-vault decrypt <file>
  • 查看加密文件内容:
ansible-vault view <file>


6、ansible-doc — 查看模块文档

用于查看 Ansible 模块的文档,获取模块的使用说明和参数。

ansible-doc <module-name>

示例:

  • 查看 copy 模块的文档:
ansible-doc copy
   💕💕💕每一次的分享都是一次成长的旅程,感谢您的陪伴和关注。希望这些关于Linux的文章能陪伴您走过技术的一段旅程,共同见证成长和进步!😺😺😺



🧨🧨🧨让我们一起在技术的海洋中探索前行,共同书写美好的未来!!!  

Read more

本地离线部署AI大模型:OpenClaw + Ollama + Qwen3.5:cloud/Qwen3:0.6b 超详细教程(无需GPU)

本地离线部署AI大模型:OpenClaw + Ollama + Qwen3.5:cloud/Qwen3:0.6b 超详细教程(无需GPU)

前言 随着开源大模型越来越成熟,我们完全可以在自己电脑上本地运行AI,不联网、不上传数据、免费使用,隐私性极强。 今天这篇文章,我会一步步带你完成:Ollama + Qwen3.5:cloud(主力模型)+ Qwen3:0.6b(轻量备选)+ OpenClaw 的本地部署,实现一个属于自己的本地聊天AI,兼顾效果与低配置适配。 一、项目介绍 本项目实现本地离线运行阿里通义千问系列大模型(Qwen3.5:cloud 主力模型 + Qwen3:0.6b 轻量备选模型),全程不需要云端API,不需要高性能显卡,普通电脑就能跑,可根据自身电脑配置选择对应模型。 用到的工具: * Ollama:最简单的本地大模型管理工具,一键拉取、运行、管理模型 * Qwen3.5:cloud:阿里云开源的轻量高性能大语言模型,对话效果强、适配本地部署,作为主力使用

By Ne0inhk
AI工具泛滥时代,为什么“能力“越来越不值钱?

AI工具泛滥时代,为什么“能力“越来越不值钱?

文章目录 * 一、一个荒诞的现象:工具民主化与机会不平等 * 二、三个被误读的AI创业神话 * 三、AI创作者的真正壁垒:从"工具使用者"到"商业闭环构建者" * 四、给新手的实战建议:从0到1的行动清单 * 五、关于《脉向AI》栏目 * 六、适合谁看? 一、一个荒诞的现象:工具民主化与机会不平等 2025被称为"AI应用元年",但一个诡异的分化正在发生。 一方面,AI工具从未如此普及。ChatGPT、Midjourney、Claude、Sora、可灵、即梦……每个月都有新的"生产力神器"登上热搜。知识付费市场上,“AI副业课”" prompt工程&

By Ne0inhk
从高原到云端:一个青海少年的AI农业创业之路

从高原到云端:一个青海少年的AI农业创业之路

“我曾翻越二十公里山路去上学,如今,我的代码正飞越万亩农田。”   一、高原的孩子,心里装着整个世界   我出生在青海的一座山村。村子不通公交,家到镇上中学要走两个多小时——二十余公里的崎岖山路,雨天泥泞,冬天结冰。书包里除了课本,还有母亲塞进去的馍馍和咸菜。   但山再高,也挡不住一颗想看世界的心。   从小,我痴迷历史与文学。《史记》里那些金戈铁马的故事,《红楼梦》中细腻入微的人情冷暖,让我在煤油灯下读到深夜。我内心敏感,常因一片云影掠过麦田、一声鹰啸划破长空而思绪万千。那时的我,以为人生只有两条路:要么走出高原,要么被高原埋没。     直到村里通了网。   那一年,我15岁。第一次用手机连上4G信号,点开一个叫“Python教程”的视频,从此命运悄然转向。   二、代码,是我翻山越岭的新脚力   高中三年,我白天上课,晚上自学编程。没有电脑,就用二手安卓机敲代码;没有老师,就靠B站、GitHub和Stack Overflow。

By Ne0inhk
人工智能:自然语言处理在客户服务领域的应用与实战

人工智能:自然语言处理在客户服务领域的应用与实战

人工智能:自然语言处理在客户服务领域的应用与实战 学习目标 💡 理解自然语言处理(NLP)在客户服务领域的应用场景和重要性 💡 掌握客户服务领域NLP应用的核心技术(如聊天机器人、意图识别、情感分析) 💡 学会使用前沿模型(如BERT、GPT-3)进行客户服务文本分析 💡 理解客户服务领域的特殊挑战(如实时性要求、多语言处理、用户体验) 💡 通过实战项目,开发一个客户服务聊天机器人应用 重点内容 * 客户服务领域NLP应用的主要场景 * 核心技术(聊天机器人、意图识别、情感分析) * 前沿模型(BERT、GPT-3)在客户服务领域的使用 * 客户服务领域的特殊挑战 * 实战项目:客户服务聊天机器人应用开发 一、客户服务领域NLP应用的主要场景 1.1 聊天机器人 1.1.1 聊天机器人的基本概念 聊天机器人是通过自然语言与用户进行交互的程序。在客户服务领域,聊天机器人的主要应用场景包括: * 客户服务:回答客户的问题(如“如何退货”、“商品价格”

By Ne0inhk