当前位置: 首页 > news >正文

Ansible学习笔记(持续更新)

Ansible学习目录

  • 1.自动化运维
    • 1.1 企业实际应用场景
      • 1.1.1 Dev开发环境
      • 1.1.2 测试环境
      • 1.1.3 发布环境
      • 1.1.4 生产环境
      • 1.1.5 灰度环境
    • 1.2 程序发布
    • 1.3 自动化运维应用场景
    • 1.4 常用自动化运维工具
  • 2.Ansible介绍和架构
    • 2.1 Ansible特性
    • 2.2 Ansible架构
      • 2.2.1 Ansible主要组成部分
      • 2.2.2 Ansible工作原理
      • 2.2.3 Ansible注意事项

1.自动化运维

1.1 企业实际应用场景

1.1.1 Dev开发环境

  • 使用者:程序员
  • 功能:程序员开发测试软件
  • 管理者:程序员

1.1.2 测试环境

  • 使用者:QA测试工程师(quality assurance)
  • 功能:测试经过Dev环境测试通过的软件功能
  • 管理者:运维

1.1.3 发布环境

  • 使用者:运维
  • 功能:发布代码至生产环境
  • 管理者:运维
  • 发布机:往往有主备2台

1.1.4 生产环境

  • 使用者:运维,少数情况开放权限给核心开发人员
  • 功能:对用户提供公司产品的服务
  • 管理者:只能是运维
  • 生产环境服务器:一般比较多且十分重要。往往需要自动工具协助部署

1.1.5 灰度环境

  • 使用者:运维
  • 功能:在全量发布代码前将代码的功能面向少量精准用户发布,可基于主机或用户执行灰度发布。待精准用户使用没有重大问题的时候,再全量发布至所有服务器
  • 管理者:运维
  • 发布过程:在调度器下线一批主机->关闭服务->部署最新版本应用程序->启动服务->在调度器上启用这一批服务器

1.2 程序发布

1.3 自动化运维应用场景

  • 文件传输
  • 应用部署
  • 配置管理
  • 任务流编排

1.4 常用自动化运维工具

  • Ansible:python,Agentless,中小型应用环境
  • SaltStack:python,一般需部署agent,执行效率更高
  • Pippet:ruby,功能强大,配置复杂,重型,适合大型环境

2.Ansible介绍和架构

2.1 Ansible特性

  • 模块化:调用特定的模块,完成特定任务,支持自定义模块
  • 部署简单:基于python和ssh(默认已安装),agentless无需代理,不依赖PKI
  • 安全:基于OpenSSH
  • 幂等性:一个任务执行一遍与执行n遍效果一样,不因重复执行带来意外情况
  • 支持playbook编排任务,YAML格式,编排任务,支持丰富的数据结构
  • 较强大的多层解决方案role

2.2 Ansible架构

2.2.1 Ansible主要组成部分

  • PLAYBOOKS:编排定义Ansible任务集的配置文件,由Ansible顺序依次执行,通常是JSON格式的yml文件
  • INVENTORY:Ansible管理主机的清单 /etc/ansible/hosts
  • MODULES:Ansible执行命令的功能模块,多数为内置核心模块,也可自定义
  • PLUNGINS:Ansible模块功能的补充,如连接类型插件、循环插件、变量插件、过滤插件等
  • API:供第三方程序调用的应用程序编程接口

2.2.2 Ansible工作原理

  • Ansible的命令来源
    • USERS
    • CMDB(配置管理数据库)API调用
    • PUBLIC&PRIVATE CLOUD API调用
    • USERS->Ansible Playbook->Ansible
  • Ansible实现管理的方法
    • Ad-Hoc即Ansible单条命令,主要用于临时命令使用场景
    • ansible-playbook主要用于长期规划好的,大型项目的场景,需要有前期的规划过程
  • Ansible-playbook剧本执行过程
    • 将已有编排好的任务集写入ansible-playbook
    • 通过ansible-playbook命令分拆任务集至逐条ansible命令,按预定规则逐条执行

2.2.3 Ansible注意事项

  • Ansible是基于模块工作的,本身没有批量部署的能力,真正具有批量部署的是Ansible所运行的模块,Ansible只是提供一种框架(后续实践后再理解)
  • 执行Ansible的主机一般称为主控端、中控、master、堡垒机
  • Windows不能作为主控端
  • Ansible不是服务,不会一直启动,只是需要的时候启动
  • Ansible的主要操作对象是host主机和网络设备

相关文章:

Ansible学习笔记(持续更新)

Ansible学习目录 1.自动化运维1.1 企业实际应用场景1.1.1 Dev开发环境1.1.2 测试环境1.1.3 发布环境1.1.4 生产环境1.1.5 灰度环境 1.2 程序发布1.3 自动化运维应用场景1.4 常用自动化运维工具 2.Ansible介绍和架构2.1 Ansible特性2.2 Ansible架构2.2.1 Ansible主要组成部分2.2…...

CCF HPC China2023|澎峰科技:使能先进计算,赋能行业应用

CCF HPC China2023圆满落幕! 桂秋八月,为期三天的中国高性能计算领域最高规格盛会——2023CCF全球高性能计算学术年会(HPC China)在青岛红岛国际展览中心圆满落幕。行业超算大咖、顶级学界精英、先锋企业领袖参会者齐聚山东青岛&a…...

【FlowDroid】一、处理流程学习

FlowDroid 一、处理流程学习 下载配置源码概况代码逻辑分析analyzeAPKFilerunInfoflowprocessEntryPointcalculateCallbacks(sourcesAndSinks)再次回到processEntryPoint 自己做一些笔记 下载配置 参照我前面的文章可以使用FlowDroid安装初体验 为了看代码了解FlowDroid如何处…...

MyBatis——MyBatis插件原理

摘要 本博文主要介绍MyBatis插件机原理,帮助大家更好的理解和学习MyBatis。 一、插件机制概述 MyBatis 允许你在已映射语句执行过程中的某一点进行拦截调用。默认情况下,MyBatis允许使用插件来拦截的方法调用包括: Executor (update, que…...

简易虚拟培训系统-UI控件的应用5

目录 Toggle控件简介 示例-使用Toggle组实现主轴速度选择 本篇介绍UI控件Toggle,尝试一个小示例-使用单选框实现速度的选择控制。 Toggle控件简介 1. Toggle的结构如下:最重要的Toggle组件挂在Toggle节点上,下面的Image组件用于显示单选框…...

Lnmp架构

关闭防火墙 安装依赖包 yum -y install pcre-devel zlib-devel gcc gcc-c make 创建运行用户、组 编译安装Nginx 让系统识别nginx的操作命令 添加Nginx系统服务 vim /lib/systemd/system/nginx.service 编译安装mysql 安装Mysql环境依赖包 创建运行用户 编译安装 cd /opt …...

es5的实例__proto__(原型链) prototype(原型对象) {constructor:构造函数}

现在看这张图开始变得云里雾里,所以简单回顾一下 prototype 的基本内容,能够基本读懂这张图的脉络。 先介绍一个基本概念: function Person() {}Person.prototype.name KK;let person1 new Person();在上面的例子中, Person …...

Oracle DBlink使用方法

DBlink作用:在当前数据库中访问另一个数据库中的表中的数据 create public database link dblink名称 connect to 对方数据库用户名 identified by 对方数据库用户密码 using (DESCRIPTION (ADDRESS_LIST (ADDRESS (PROTOCOL TCP)(HOST 要连接的数据库所在服务…...

UE4 植物生长

这个可以改变SplineMesh朝向...

企业应用系统 PHP项目支持管理系统Dreamweaver开发mysql数据库web结构php编程计算机网页

一、源码特点 PHP 项目支持管理系统是一套完善的web设计系统 应用于企业项目管理,从企业内部的各个业务环境总体掌握,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 php项目支撑管理系统2 二、功能介绍 (1)权限管理&#xff1…...

微服务通信[HTTP|RPC同步通信、MQ异步通信]

概念 A服务调用B服务,B服务调C服务,C服务调D服务,即微服务之间的通信(也可以叫微服务之间的调用) HTTP同步通信 一种轻量级的通信协议,常用于在不同的微服务之间进行通信,也是最简单的通信方式使用REST ful为开发规范,将服务对外暴露的HTTP调用方式为REST API(如GET…...

C语言模拟最简单的计算机

C语言模拟最简单的计算机 以下内容参考南大“计算机系统基础”实验:不停计算的机器 概述 如下面的伪代码所示,计算机运行程序的过程为取指令–>运行指令–>更新PC的值。 while (1) {从PC指示的存储器位置取出指令;执行指令;更新PC; }取指(inst…...

c++图论免费ppt,简单深度理解图论

本篇博文想分享一个ppt,是帮助大家简单深度理解c图论. 作者承诺:分享的东西没有病毒,是资料。 分享的东西一个是ppt,ppt里面是150页的,里面将带领大家简单深度理解c图论,还有一个就是里面例题的数据,大家可以按照数据…...

xml中in的使用

目录 一、简介 二、使用 1、参数为list 2、参数为Array 3、参数为Map XML中大于、小于、不等于符号使用 一、简介 在xml中使用in查询需要使用foreach标签 <foreach item"item" collection"list" index"index" open"(" sep…...

Unity生命周期函数

1、Awake 当对象&#xff08;自己这个类对象&#xff0c;就是这个脚本&#xff09;被创建时 才会调用该生命周期函数 类似构造函数的存在 我们可以在一个类对象创建时进行一些初始化操作 2、OnEnable 失活激活&#xff08;这个勾&#xff09; 想要当一个对象&#xff08;游戏…...

【OpenCV入门】第六部分——腐蚀与膨胀

文章结构 腐蚀膨胀开运算闭运算形态学方法梯度运算顶帽运算黑帽运算 腐蚀 腐蚀操作可以让图像沿着自己的边界向内收缩。OpenCV通过”核“来实现收缩计算。“核”在形态学中可以理解为”由n个像素组成的像素块“&#xff0c;像素块包含一个核心&#xff08;通常在中央位置&…...

[C++] STL_list常用接口的模拟实现

文章目录 1、list的介绍与使用1.1 list的介绍1.2 list的使用 2、list迭代器3、list的构造4、list常用接口的实现4.1 list capacity4.2 插入删除、交换、清理4.2.1 insert任意位置插入4.2.2 push_front头插4.2.3 push_back尾插4.2.4 erase任意位置删除4.2.5 pop_front头删4.2.6 …...

js实现点击查看全部/收起功能

在上一篇文章实现用js截取文本后&#xff0c;我的另一个需求也迎刃而解了。需求就是一段长文本需要溢出隐藏&#xff0c;然后点击全部时显示全部文本&#xff0c;点击收起又回到溢出隐藏的状态。实现的效果如下图&#xff1a; 实现的思路时点击全部时使用这条数据的原文本&…...

安全区域边界技术测评要求项

1.边界防护-非授权设备接入、非授权连接外部网络、无线网络使用和设备可信接入 &#xff08;网络边界就是采用不同安全策略的两个网络的连接处&#xff09; 1-1/2-1/3-4/4-6 a&#xff09;保证跨越边界的访问和数据流通过边界设备提供的受控接口进行通信 b&#xff09;应能够对…...

基于YOLOV8模型的农作机器和行人目标检测系统(PyTorch+Pyside6+YOLOv8模型)

摘要&#xff1a;基于YOLOV8模型的农作机器和行人目标检测系统可用于日常生活中检测与定位农作机和行人目标&#xff0c;利用深度学习算法可实现图片、视频、摄像头等方式的目标检测&#xff0c;另外本系统还支持图片、视频等格式的结果可视化与结果导出。本系统采用YOLOv8目标…...

我的私人笔记(安装hbase)

在安装前需要安装好JDK、Hadoop以及Zookeeper&#xff0c;JDK版本为1.8、Hadoop版本为2.7.4以及Zookeeper的版本为3.4.10。 4.1.下载 下载地址&#xff1a;Index of /dist/hbase 本次学习版本为&#xff1a; hbase-1.2.1-bin.tar.gz 4.2.安装步骤 上传安装包至hadoop01节点…...

【MySQL】用户管理

之前我们一直都使用root身份来对mysql进行操作&#xff0c;但这样存在安全隐患。这时&#xff0c;就需要使用MySQL的用户管理 目录 一、用户 1.1 用户信息 1.2 添加用户 1.3 删除用户 1.4 修改用户密码 二、用户权限 2.1 赋予授权 2.2 回收权限 一、用户 1.1 用户信息…...

音视频 ffmpeg命令转封装

保持编码格式&#xff1a; ffmpeg -i test.mp4 -vcodec copy -acodec copy test_copy.ts ffmpeg -i test.mp4 -codec copy test_copy2.ts改变编码格式&#xff1a; ffmpeg -i test.mp4 -vcodec libx265 -acodec libmp3lame out_h265_mp3.mkv修改帧率&#xff1a; ffmpeg -i …...

恢复已删除的git分支

1.打开对应项目文件夹目录,在目录下执行git命令 2.执行命令 git reflog --dateiso , 找到最后一次commit 的id 3. 执行git checkout -b 新建分支名称 commitId 就会基于commitId这次提交时工作区新建一个分支&#xff0c;就能达到我们找到删除分支的代码效果。 4.直接看ide…...

ATF(TF-A)安全通告 TFV-3 (CVE-2017-7563)

安全之安全(security)博客目录导读 ATF(TF-A)安全通告汇总 目录 一、ATF(TF-A)安全通告 TFV-3 (CVE-2017-7563) 二、CVE-2017-7563 一、ATF(TF-A)安全通告 TFV-3 (CVE-2017-7563) Title RO内存始终在AArch64 Secure EL1下可执行CVE ID CVE-2017-7563 Date 06 Apr 2017 Vers…...

虚拟机Ubuntu18.04系统使用时所需要的便利配置选项

文章目录 一、屏幕分辨率调节二、解决虚拟机和宿主机之间无法进行复制粘贴和自由移动文件&#xff1a;三、允许使用Git指令四、可以使用Cmake进行编译五、vi编辑器查看代码文件&#xff0c;类型linux的记事本 每次配置虚拟机&#xff0c;都需要重新安装配置一些能提供便利功能的…...

python内置函数

Python 解释器内置了很多函数和类型&#xff0c;任何时候都能使用。以下按字母顺序给出列表。 内置函数 A abs() aiter() all() any() anext() ascii() B bin() bool() breakpoint() bytearray() bytes() C callable() chr() classmethod() compile() complex() D delattr(…...

线性思维和系统思维

1 线性思维介绍 线性思维是一种直线的、均匀的、不变的、单一的、单维的思维方式&#xff0c;一切都随着初始条件的给定而给定。 线性思维的5种具体表现&#xff1a; 简单复制过往经验去推断未来 &#xff08;比如&#xff1a;银行工作者是铁饭碗&#xff09;用已知结果得出…...

为什么要学习C++

操作系统历史 UINX操作系统诞生之初是用汇编语言编写的。随着UNIX的发展&#xff0c;汇编语言的开发效率成为一个瓶颈。寻找新的高效开发语言成为UNIX开发者需要解决的问题。当时BCPL语言成为了当时的选择之一。Ken Thomposn对BCPL进行简化得到了B语言。但是B语言不是直接生成…...

eureka服务注册和服务发现

文章目录 问题实现以orderservice为例orderservice服务注册orderservice服务拉取 总结 问题 我们要在orderservice中根据查询到的userId来查询user&#xff0c;将user信息封装到查询到的order中。 一个微服务&#xff0c;既可以是服务提供者&#xff0c;又可以是服务消费者&a…...