当前位置: 首页 > 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主机和网络设备
http://www.lryc.cn/news/151955.html

相关文章:

  • CCF HPC China2023|澎峰科技:使能先进计算,赋能行业应用
  • 【FlowDroid】一、处理流程学习
  • MyBatis——MyBatis插件原理
  • 简易虚拟培训系统-UI控件的应用5
  • Lnmp架构
  • es5的实例__proto__(原型链) prototype(原型对象) {constructor:构造函数}
  • Oracle DBlink使用方法
  • UE4 植物生长
  • 企业应用系统 PHP项目支持管理系统Dreamweaver开发mysql数据库web结构php编程计算机网页
  • 微服务通信[HTTP|RPC同步通信、MQ异步通信]
  • C语言模拟最简单的计算机
  • c++图论免费ppt,简单深度理解图论
  • xml中in的使用
  • Unity生命周期函数
  • 【OpenCV入门】第六部分——腐蚀与膨胀
  • [C++] STL_list常用接口的模拟实现
  • js实现点击查看全部/收起功能
  • 安全区域边界技术测评要求项
  • 基于YOLOV8模型的农作机器和行人目标检测系统(PyTorch+Pyside6+YOLOv8模型)
  • 我的私人笔记(安装hbase)
  • 【MySQL】用户管理
  • 音视频 ffmpeg命令转封装
  • 恢复已删除的git分支
  • ATF(TF-A)安全通告 TFV-3 (CVE-2017-7563)
  • 虚拟机Ubuntu18.04系统使用时所需要的便利配置选项
  • python内置函数
  • 线性思维和系统思维
  • 为什么要学习C++
  • eureka服务注册和服务发现
  • QT的介绍和优点,以及使用QT初步完成一个登录界面