ansible的基本安装
目录
一、简介
1.ansible自动化运维人工运维时代
2.自动化运维时代
3.ansible介绍
4.ansible特点
二、ansible实践
1.环境
2.ansible管理安装
3.ansible被管理安装
4.管理方式
5.添加被管理机器的ip
6.ssh密码认证方式管理
三、配置免密登录
1.ansible自带的密码认证参数
2.ssh密钥方式批量管理
一、简介
1.ansible自动化运维人工运维时代
运维人员早期需要维护数量众多的机器,因此需要执行反复,重复的劳动力,很多机器需要同时部署相同的服务或是执行相同的命令,得反复的登录不同的机器,执行重复的动作。
比如说你要在backup服务器配置rsync服务,进行数据同步的操作,那么客户端都得单独的安装一下rsync命令工具才能正确使用你可能一台台机器去登录,安装rsync之后,再推出,登录下一个机器,可以使用xshel等工具,快捷的创建ssh登录,但是还是属于人]运维,效率比较低
2.自动化运维时代
早期运维人员会结合ssh免密登录以及shell脚本来完成自动化的部署操作系统管理员面临的问题主要是,配置管理系统,远程执行命令,批量安装服务,启停服务等等
后来也就诞生了众多的开源软件,自动化运维软件
- fabric
- puppet
- saltstack
- chef
- Ansible
3.ansible介绍
ansible是一个同时管理多个远程主机的软件,必须是任意可以通过ssh登录的机器,因此ansible可以管理的机器如
- 远程虚拟机
- 物理机
- 也可以直接管理本机机器
ansible通过shh协议实现了,管理节点(老板,安装了ansible服务的机器),被管理节点(员工,被管理的机器节点)的通信。只能是通过ssh协议登录的主机,就可以完成ansible自动化部署操作。
ansible通过shh协议实现了,管理节点(老板,安装了ansible服务的机器),被管理节点(员工,被管理的机器节点)的通信。只能是通过ssh协议登录的主机,就可以完成ansible自动化部署操作
- 批量文件分发
- 批量数据复制
- 批量数据修改,删除
- 批量自动化安装软件服务
- 批量服务启停
- 脚本化,自动批量服务部署
4.ansible特点
ansible的编排引擎可以出色的完成各种任务配置管理,ansible在流程控制,资源部署等方便很强大,并且ansible无须安装客户端软件管理简洁,使用yaml配置文件语法,功能强大,便于维护。
ansible是基于python语言开发的,主要由python的两个ssh处理模块,paramiko,以及PyYAML模块。
- 安装部署简单
- 管理主机便捷,支持多台主机并行管理
- 无须安装被管理节点的客户端(no agent),且无须占用客户端的其他端口,仅仅使用ssh服务即可
- 不仅仅支持python,还支持其他语言的二次开发
- 不用root用户也可执行,降低系统权限
二、ansible实践
1.环境
准备三个虚拟机
一台管理机器

两台被管理机器


三台设备要配置好ssh
2.ansible管理安装
yum install epel-release -y
yum install ansible libselinux-python -y
看下ansible的各种命令
rpm -ql ansible | grep -E '^/etc|^/usr/bin'

3.ansible被管理安装
yum install ansible libselinux-python -y
4.管理方式
ansible批量管理主机的方式主要两种
- 传统的输入ssh密码验证
- 密钥管理
备份一下hosts文件
cp /etc/ansible/hosts{,.ori}
ls /etc/ansible/

5.添加被管理机器的ip
vim /etc/ansible/hosts
添加被管理ip
[manage]
192.168.0.107
192.168.0.103
![]()
6.ssh密码认证方式管理
ansible是直接利用linux本地的ssh服务,以及一些远程的ssh操作,一般情况下客户端的sh服务默认都是开启的,无须额外管理
- -m MODULE_NAME,--module-name=MODULE_NAME
#module name to execute (default=command)
#指定执行使用的模块,默认使用 command 模块
- -a MODULE_ARGS,--args=MODULE_ARGS
#module arguments
#指定执行模块使用的参数
- -k 询问密码验证
在管理机器上,告诉其他被管理的机器,你要执行什么命令,以及用什么用户去执行
ansible manage -m command -a 'hostname' -k -u root

输出网卡信息
ansible manage -m command -a 'ip a' -k -u root

三、配置免密登录
每次执行ansible命令的时候,都需要输入ssh的认证密码,也就是rot的密码,如果不同的主机密码不一致,那你还得输入多次才行因此我们可以配置如下的快捷登录方式
1.ansible自带的密码认证参数
可以在 /etc/ansible/hosts文件中,定义好密码即可,即可实现快速的认证,远程管理主机
参数
- ansible_host 主机地址
- ansible_port 端口,默认是22端口
- ansible_user 认证的用户
- ansible ssh_pass 用户认证的密码
vim /etc/ansible/hosts
填入
[manage]
192.168.0.107 ansible_user=root ansible_ssh_pass=123456
192.168.0.103 ansible_user=root ansible_ssh_pass=123456

验证
ansible manage -m command -a 'hostname'

2.ssh密钥方式批量管理
ssh免密登录形式
原理图

105(ansible管理机的配置)
生成私钥
ssh-keygen -f ~/.ssh/id_rsa -P "" > /dev/null 2>&1

编写公钥分发脚本
cd /myshell/vim ssh.sh
#!/bin/bash
rm -rf ~/.ssh/id_rsa*
ssh-keygen -f ~/.ssh/id_rsa -P ""> /dev/null 2>&1
SSH_Pass=123456
Key_Path=~/.ssh/id_rsa.pubfor ip in 103 107
dosshpass -p$SSH_Pass ssh-copy-id -i $Key_Path "-o StrictHostKeyChecking=no" 192.168.0.$ip
done# 非交互式分发公销命令需要用 sshpass指定SSH密码,通过-o StrictHostlking=no 跳过 SSH连接确认信息

测试一下

成功
相关文章:
ansible的基本安装
目录 一、简介 1.ansible自动化运维人工运维时代 2.自动化运维时代 3.ansible介绍 4.ansible特点 二、ansible实践 1.环境 2.ansible管理安装 3.ansible被管理安装 4.管理方式 5.添加被管理机器的ip 6.ssh密码认证方式管理 三、配置免密登录 1.ansible自带的密码…...
开发仿抖音APP遇到的问题和解决方案
uni-app如何引入阿里矢量库图标/uniapp 中引入 iconfont 文件报错文件查找失败 uni-app如何引入阿里矢量库图标 - 知乎 uniapp 中引入 iconfont 文件报错文件查找失败:‘./iconfont.woff?t1673007495384‘ at App.vue:6_宝马金鞍901的博客-CSDN博客 将课件中的cs…...
手机上玩.NET的两种方式
少见!手机上玩 .NET_哔哩哔哩_bilibili 小米平板敲代码,termux安装dotnet和vscode_哔哩哔哩_bilibili 都是先容器加载linux rootfs,然后安装 linux-arm64 版本的 dotnet 命令行方式运行 dotnet,代码编辑到是可以安装使用 vscode…...
DedeBIZ 管理系统 DedeV6 v6.2.6 社区版 免费授权版
DedeBIZ 系统:开源、安全、高效的 DedeV6 v6.2.6 社区版 DedeBIZ 系统是基于 PHP 7 版本开发的,具有强大的可扩展性,并且完全开放源代码。它采用现流行的 Go 语言设计开发,不仅拥有简单易用、灵活扩展的特性,还具备更…...
编译 CUDA加速的 OpenCV-4.8.0 版本
文章目录 前言一、编译环境二、前期准备三、CMake编译四、VS编译OpenCV.sln五、问题 前言 由于项目需要用上CUDA加速的OpenCV,编译时也踩了不少坑,所以这里记录一下。 一、编译环境 我的编译环境是: Win10 RTX4050 CUDA-12.0 CUDNN 8.9.…...
设计模式篇---外观模式
文章目录 概念结构实例总结 概念 外观模式:为子系统中的一组接口提供一个统一的入口。外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 外观模式引入了一个新的外观类,它为多个业务类的调用提供了一个统一的入口。主要优点…...
leetcode:520. 检测大写字母
一、题目: 链接:520. 检测大写字母 - 力扣(LeetCode) 函数原型:bool detectCapitalUse(char* word) 二、思路: 本题较为简单,分为三种情况: 1.首字母大写,其余小写 2.首字…...
5-6求1-20的阶乘和
#include<stdio.h> //求阶乘 int main(){int n;double sum0;//求和:一点一点加int t1;for (n1;n<15;n){tt*n;sumsumt;}printf("结果是:%22.15e \n",sum);return 0; }为啥最后是%22.15e呢? 因为这个求和的结果太大了 所以转…...
web需求记录
需求1:根据后端传过来的设备名:DESKTOP-4DQRGQB,以及mac:e0:be:03:74:40:0b;iQOO-8,mac:b0:33:66:38:c3:25,用web option 是动态增加的(也就是那个选择框里面的东西是根据后端传过来的值动态增加的…...
[网鼎杯 2018]Fakebook
[网鼎杯 2018]Fakebook 打开环境出现一个登录注册的页面 在登录和注册中发现 了地址栏出现变化,扫一波看看 看看robots.txt和flag.php 访问robots.txt看看 再访问user.php.bak <?php class UserInfo { public $name ""; public …...
微信小程序蓝牙连接 uniApp蓝牙连接设备
蓝牙列表期待效果 代码 <template><view class"bluetooth-list"><view class"align-items option" style"justify-content: space-between;" v-for"item in bluetoothList" :key"item.deviceId"><vie…...
启动Dubbo项目注册Zookeeper时提示zookeeper not connected异常原理解析
原创/朱季谦 遇到一个很诡异的问题,我在启动多个配置相同zookeeper的Dubbo项目时,其他项目都是正常启动,唯独有一个项目在启动过程中,Dubbo注册zookeeper协议时,竟然出现了这样的异常提示—— Caused by: java.lang.…...
我在Vscode学OpenCV 几何变换(缩放、翻转、仿射变换、透视、重映射)
几何变换指的是将一幅图像映射到另一幅图像内的操作。 cv2.warpAffine:使用仿射变换矩阵对图像进行变换,可以实现平移、缩放和旋转等操作。cv2.warpPerspective:使用透视变换矩阵对图像进行透视变换,可以实现镜头校正、图像纠偏等…...
MATLAB算法实战应用案例精讲-【图像处理】图像缩放
目录 前言 知识储备 MATLAB图像处理函数 数字数字图像增强 数字数字图像的变换...
Doris的PROPERTIES与ENGINE(九)
接上篇----------Doris分区与分桶 在建表语句的最后 PROPERTIES 中,可以指定以下两个参数: replication_num 每个 Tablet 的副本数量。默认为 3,建议保持默认即可。在建表语句中,所有 Partition 中的 Tablet 副本数量统一指定。…...
华为云数据库 RDS 下载全量备份文件 wget
地址下载 wget -O FILE_NAME --no-check-certificate "DOWNLOAD_URL"FILE_NAME:重命名,例如mysql1121.qpDOWNLOAD_URL: 地址下载 参考 华为云数据库 RDS 下载全量备份文件...
C#使用whisper.net实现语音识别(语音转文本)
目录 介绍 效果 输出信息 项目 代码 下载 介绍 github地址:https://github.com/sandrohanea/whisper.net Whisper.net. Speech to text made simple using Whisper Models 模型下载地址:https://huggingface.co/sandrohanea/whisper.net/tree…...
从零开始学习typescript——运算符(算术运算符、赋值运算符、比较运算符)
算术运算符 算术运算符主要是针对数值类型和长整型;包括有加法、减法、乘法、除法、自增、自减等运算 加法() let x:number1let y:number 2console.log(xy)减法(-) let x:number1let y:number 2console.log(y-x)乘法…...
likeshop单商户商城系统 任意文件上传漏洞复现
0x01 产品简介 likeshop单商户标准商城系统适用于B2C、单商户、自营商城场景。完美契合私域流量变现闭环交易使用。 系统拥有丰富的营销玩法,强大的分销能力,支持电子面单和小程序直播等功能。无论运营还是二开都是性价比极高的100%开源商城系统。 0x02…...
CentOS 7 使用pugixml 库
安装 pugixml Git下载地址:https://github.com/zeux/pugixml 步骤1:首先,你需要下载pugixml 的源代码。你可以从Github或者源代码官方网站下载。并上传至/usr/local/source_code/ 步骤2:下载完成后,需要将源代码解压…...
手把手教你:在华为欧拉ARM64服务器上离线部署阿里FunASR 0.1.9语音转写服务
华为欧拉ARM64服务器离线部署FunASR语音转写全攻略 1. 环境准备与架构适配 在国产化信创环境中部署AI服务,华为欧拉操作系统搭配ARM64架构已成为主流选择。不同于常见的x86环境,ARM架构服务器在性能表现和软件生态上都有其特殊性。以阿里云开源的FunASR …...
Ultimate SD Upscale深度解析:AI图像分块放大技术的专业实践指南
Ultimate SD Upscale深度解析:AI图像分块放大技术的专业实践指南 【免费下载链接】ultimate-upscale-for-automatic1111 项目地址: https://gitcode.com/gh_mirrors/ul/ultimate-upscale-for-automatic1111 Ultimate SD Upscale作为AUTOMATIC1111 Stable Di…...
如何用 Python 快速接入 Taotoken 并调用多模型 API 完成文本生成任务
如何用 Python 快速接入 Taotoken 并调用多模型 API 完成文本生成任务 1. 环境准备 开始前请确保已安装 Python 3.7 或更高版本。推荐使用虚拟环境管理依赖: python -m venv taotoken-env source taotoken-env/bin/activate # Linux/macOS taotoken-env\Scripts…...
别再只抄代码了!Element-UI el-menu 从入门到精通的 5 个实战技巧(含动态菜单与权限控制)
Element-UI el-menu 高阶实战:动态菜单与权限控制的5个专业技巧 第一次在企业级后台项目中遇到菜单权限问题时,我盯着那个始终显示管理员菜单的界面发呆了半小时。后来才发现,单纯复制官网示例代码根本无法满足实际业务需求。真正高效的el-me…...
D3KeyHelper暗黑3技能连点器:5步配置实现游戏操作自动化终极指南
D3KeyHelper暗黑3技能连点器:5步配置实现游戏操作自动化终极指南 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面,可自定义配置的暗黑3鼠标宏工具。 项目地址: https://gitcode.com/gh_mirrors/d3/D3keyHelper D3KeyHelper是一款专为《…...
WindowsCleaner开源磁盘清理工具:5分钟快速解决C盘爆红终极指南
WindowsCleaner开源磁盘清理工具:5分钟快速解决C盘爆红终极指南 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 你的C盘又变红了吗?每次看…...
【C语言存算一体芯片开发必修课】:5个真实指令调用示例,覆盖卷积加速、内存映射与低功耗唤醒场景
更多请点击: https://intelliparadigm.com 第一章:C语言存算一体芯片开发概览与指令集架构基础 存算一体(Processing-in-Memory, PIM)芯片通过将计算单元嵌入存储阵列,显著降低数据搬运开销,成为突破“内存…...
ClawLodge:OpenClaw生态的配置共享中心与AI智能体开发加速器
1. 项目概述:ClawLodge,一个OpenClaw生态的“应用商店”如果你正在使用或关注OpenClaw,一个新兴的、以“龙虾”为代号的智能体开发框架,那么你很可能已经体会过它的强大与灵活。OpenClaw允许开发者像搭积木一样,通过配…...
怎样快速解锁Xbox游戏成就:5个步骤实现100%完成度终极指南
怎样快速解锁Xbox游戏成就:5个步骤实现100%完成度终极指南 【免费下载链接】Xbox-Achievement-Unlocker Achievement unlocker for xbox games (barely works but it does) 项目地址: https://gitcode.com/gh_mirrors/xb/Xbox-Achievement-Unlocker 想要轻松…...
Go语言轻量级Web框架Plain:极简设计、高性能与完全可控的API开发实践
1. 项目概述:一个极简主义的现代Web框架最近在和朋友讨论后端技术选型时,我们聊到了一个老生常谈的话题:面对琳琅满目的现代Web框架,从功能齐全的“巨无霸”到追求极致的“微内核”,开发者究竟该如何选择?这…...
