ansible 001 ansible介绍 原理

news/2024/5/2 20:02:30/文章来源:https://www.cnblogs.com/supermao12/p/16631887.html

ansible 自动化运维

ansible 部署应用程序 (在操作系统层面之上)

系统初始化过程
主机名,yun源,网络,服务,时间同步,内核参数 (可以在pxe这里完成)
ansible可以方便100多台服务器来变更,不至于pxe重新安装

PXE  预启动的执行环境   
PXE (Pre-boot Execution Environment)协议使计算机可以通过网络启动。 当硬盘没有OS时可以选择
光盘
u盘
网络 
启动

网络 (网卡) ip 当前的环境也得有dhcp服务器来分配ip 引导程序 启动 安装系统 脚本 anacoda
anacoda.cfg 为预写配置

主控端安装ansible软件就行

pupput
rubysaltstack
python
安装包
服务 master与agent对接   (属于saltstack)   客户端服务需要汇报心跳
模块化ansible
python
安装包
基于ssh服务   (被管的客户端,在主机清单写)
模块化ssh    加密
telent   被抓包都是明文

配一个aliyun的epel源
下载ansible并写主机清单。来测试

[root@workstation ansible]# cat hosts 
192.168.230.165
192.168.230.166
[root@workstation ansible]# 


红色为报错

黄色有改动,且成功

使用相应的模块完成会更好 虽然shell是万金油
shell不能保证ansible的幂等性 重复执行效果一样


从上图可以看出差别。user模块发现符合要求,则不在重新创建,而shell重新创建且引发了报错

ansible 基于ssh 所以并发连接会受限,ssh并发1000台,那么ssh就会顶不住
ansible可以多级控制 ansible嵌套ansible下发命令
ansible拥有playbook,按顺序执行指令

配置域名,写主机清单

[root@workstation ansible]# cat /etc/hosts 
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.230.164  workstation.example.com  workstation
192.168.230.165  servera.example.com  servera
192.168.230.166  servera.example.com  serverb
[root@workstation ansible]# vi hosts 
[root@workstation ansible]# cat hosts 
servera
serverb
[root@workstation ansible]# [root@workstation ansible]# ansible all --list-hosts
hosts (2):serveraserverb
[root@workstation ansible]# 


遇到此问题,手动接收密钥

查看联通性

成功-k后,短时间内就不需要-k了

我使用ssh的哪个用户登录?

[root@workstation ansible]# ansible all -m shell -a 'whoami' -k
SSH password: 
serverb | CHANGED | rc=0 >>
root
servera | CHANGED | rc=0 >>
root

登录后的工作目录为家目录

[root@workstation ansible]# ansible servera -m shell -a 'pwd' -u xiaomao -k 
SSH password: 
servera | CHANGED | rc=0 >>
/home/xiaomao
[root@workstation ansible]# 

使用xiaomao来连接,并且发现家目录为xiaomao
通过家目录来判断当前用户更加靠谱
pwd未切换用户,读不到root的环境变量

补充ce内容
提权之后,角色会从普通用户变为root

[xiaomao@servera ~]$ sudo id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[xiaomao@servera ~]$ id
uid=1000(xiaomao) gid=1000(xiaomao) groups=1000(xiaomao) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[xiaomao@servera ~]$ [xiaomao@servera ~]$ sudo cat /etc/sudoers.d/xiaomao
xiaomao ALL=(ALL) NOPASSWD:ALL
[xiaomao@servera ~]$

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

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

相关文章

使用小乌龟来更新代码-02

小乌龟更新代码使用的是pull 右击项目文件,TortoiseGit--->pull来更新代码,从远程仓库拉取最新的代码,拉取后。 点击OK 然后点击Pulled Diff,点击Show log看看当前版本和最新版本相比哪里有修改,是否有冲突: 例如,我把一个压缩文件给删除了,还有修改了Default里的一…

【Prometheus+Grafana系列】监控MySQL服务

前言 前面的一篇文章已经介绍了 docker-compose 搭建 Prometheus + Grafana 服务。当时实现了监控服务器指标数据,是通过 node_exporter。Prometheus 还可用来监控很多服务,比如常见的 MySQL。本文就介绍如何通过 mysqld_exporter 来监控 MySQL 指标。 下载安装包 cd /opt w…

CrystalDiskMark 磁盘读写性能测试 All In One

CrystalDiskMark 磁盘读写性能测试 All In OneCrystalDiskMark 磁盘读写性能测试 All In One https://crystalmark.info/en/software/crystaldiskmark/macOS ❌ 不支持 Windows 系统 ✅ 支持 U盘,移动固态硬盘,硬盘refs©xgqfrms 2012-2020www.cnblogs.com/xgqfrms 发布文…

彻底理解线程

操作系统支持多个应用程序同时执行,每个应用至少对应一个进程,彼此之间的操作和数据不受干扰。当一个进程需要磁盘IO的时候,CPU就切换到另外的进程,提高了CPU利用率。有了进程,为什么还要线程?因为进程的成本太高了。启动新的进程必须分配独立的内存空间,建立数据表维护…

软件质量保障流程

一. 软件质量保障流程 1.1 微服务产品的特点 微服务架构下,一个大型复杂软件系统不再是一个单体,而是一系列相互独立的微服务,特点鲜明:每个服务独立,开发技术栈独立 每个服务可以独立开发、部署、发布 服务之间通过轻量级通信机制沟通,常用的是 RESTful APIMicro Servic…

JavaScript实现栈结构(Stack)

Js实现栈结构 一、前言 1.1 什么是数据结构 数据结构就是在计算机中,存储和组织数据的方式。 例如:图书管理,怎样摆放图书才能既能放很多书,也方便取? 常见的数据结构:栈(Stack) 队列(Queue) 链表(Linked List) 集合(Set) 哈希(Hash) 树(Tree) 图(Graph)1.…

Jenkins设置中文

Jenkins是一个持续集成的平台,但是初次安装Jenkins之后,是英文的状态。下面给大家介绍如何将Jenkins设置为中文语言。一、下载Locale插件1点击【Manage Jenkins】选项。2点击【Manage Plugins】选项。 点击【可选插件】选项。 右侧搜索栏输入【Locale】选项。 勾选【插件选项…

URL重定向及绕过方法

1 概述 URL重定向漏洞也称URL任意跳转漏洞,是由于网站信任了用户的输入导致恶意跳转。URL重定向主要用来钓鱼,比如URL跳转中最常见的跳转在登录口、支付口,也就是一旦登录将会跳转任意自己构造的网站,如果设置成指定的URL,则会造成钓鱼等危害。 2 详情 2.1 跳转常用参数 在…

js删除css样式

js删除css样式_百度知道 https://zhidao.baidu.com/question/680409425108037292.html1、如果使用class加的样式的话,可以使用document.getElementById("objid").className=""来清空样式;  2、如果是直接加的style="***"属性的话,可以使用…

ArcGIS API forJavaScript4.x去除地图获取焦点的黑色边框

ArcGIS API forJavaScript4.x去除地图获取焦点的黑色边框CSS /* 去掉地图聚焦边框 */ .esri-view-surface--inset-outline:focus::after {outline: none !important; }箴言:因为这些东西是非常简单的。不要抱怨自己学不会,那是因为你没有足够用心。

NetCDF库编译安装

1. 准备 系统环境,全部是deepin系统自带,并无单独安装deepin 20.6 gcc 8.3.0 g++ 8.3.0 cmake 3.22.1 netcdf安装版本:此次使用最新4.9.0,系统为deepin 20.6,大于4.3.0 源码下载地址,下载netcdf-c-4.9.0.tar.gz: https://downloads.unidata.ucar.edu/netcdf/ netCDF-C S…

el-button点击了按钮会出现保留点击的状态

问题 el-button点击了按钮之后,将鼠标移出按钮,会出现保留点击的状态 再查看它的css样式后,可以看到官方默认设置有:focus的状态规则解决办法 在el-button的css里自定义或者复制原有的color、border-color、background-color三条样式, 然后再重写:hover方法就可以了, 其实…

SpringBoot日志系统——logback

logback是SpringBoot内置的日志处理框架,你会发现spring-boot-starter其中包含了spring-boot-starter-logging,该依赖内容就是 Spring Boot 默认的日志框架 logback。而spring-boot-starter-web包含了spring-boot-starter,可通过引入spring-boot-starter-web后的项目JAR依赖关…

seurat 单细胞数据分析中 VizDimLoadings 函数

前期处理:https://www.jianshu.com/p/fef17a1babc2 #可视化对每个主成分影响比较大的基因集 001、dat <- pbmc[["pca"]]@feature.loadings ## 数据来源 dat[1:3, 1:3] dat <- dat[order(-dat[,1]),][1:29,1] dat <- as…

网页返回顶部的几种方法

网页返回顶部的几种方法 - 腾讯云开发者社区-腾讯云 https://cloud.tencent.com/developer/article/2043539 1,在页面顶部固定一个 返回网页顶部的 按钮.back-to-top {position: fixed;right: 20px;bottom: 10px;width: 100px;height: 30px;text-align: center;line-height: …

Navicat_Keygen_Patch_v5.6

navicat download: Navicat keygen download: Navicat_Keygen_Patch_v5.6 注意事项: 1.运行注册机请断网;2.最好关闭电脑的杀毒软件; 3.无需将注册机放到 Navicat Premium 安装目录下;4.请选择对版本,Products那块;5.安装完成后不要直接运行软件,要先打开注册机 pat…

AI模型集成到业务系统的方式演化

如今,AI模型百花齐放,在业务场景中的使用是越来越多,那AI模型是如何集成到系统中的呢?这几年的集成方式又有何变化呢?在一些早期系统中,模型比较简单,这时,真正在线上系统部署模型时,模型只是以算法的形式出现,模型参数作为算法所需要的“数据”,存储在内存或分布式…

Python教程:文件和读写的详细教程

文件操作的模式 文件操作的模式如下表:1. open 打开文件 使用 open 打开文件后一定要记得调用文件对象的 close() 方法。比如可以用 try/finally 语句来确保最后能关闭文件。 file_object = open(rD:\test.txt) # 打开文件 try:all_the_text = file_object.read( ) # 读文件的…

学习:python进阶 (一)

python解释器多版本共存 1.下载需要的版本安装包 2.增加环境变量,把优先用的python放到第一个 修改python.exe可执行文件,在终端输入对应名称可以指定需要运行的python版本 虚拟环境 python3 -m venv 虚拟环境路径 #新建虚拟环境 cd 虚拟环境路径/Script acticate.bat #开启虚…

04Spring MVC入门

Spring MVC三层架构表现层 业务层 数据访问层MVC(处理表现层)Model:模型层 View:视图层 Controller:控制层底层请求方式 在controller中添加 @RequestMapping("/http")public void http(HttpServletRequest request, HttpServletResponse response) throws IOExce…