自动化运维工具-ansible部署

首先我们来谈一下,为什么要引入自动化运维呢?
引入自动化运维的目的是为了提高运维效率、降低人工操作的错误率、减少重复性的工作、提高系统的可靠性和稳定性。传统的手动运维方式存在以下问题:

  1. 出现了大量的人工干预,运维人员需要不断地手工维护系统,难以应对复杂的变化以及日益增长的需求。
  2. 可能存在漏洞和疏忽,即使是最有经验的运维人员也难以保证操作的准确性和一致性,最终可能导致系统出现故障。
  3. 随着业务的不断扩展,服务器、应用程序和网络设备等系统的数量和规模也会不断增加,而手动运维往往需要花费大量的时间和人力成本。

引入自动化运维可以解决上述问题。自动化运维能够自动化地完成重复性的、简单的操作,并且可以快速识别和解决潜在问题,提高系统的可靠性和稳定性。同时,自动化运维可以大大减少人工操作的错误率,更加高效地完成运维任务,节省时间和成本。

人工运维

人工运维时代运维人员早期需要维护数量众多的机器,因此需要执行反复,重复的劳动力,很多机器需要同时部署相同的服务或是执行相同的命令,还得反复的登录不同的机器,执行重复的动作。

自动化运维

早期运维人员会结合ssh免密登录以及shell脚本来完成自动化的部署操作。

系统管理员面临的问题主要是,配置管理系统,远程执行命令,批量安装服务,启停服务等等

后来也就诞生了众多的开源软件,自动化运维软件

  • fabric
  • puppet
  • saltstack
  • chef
  • Ansible <<<<<<<<<<

其中有两款软件是基于python语言开发的,saltstack,ansible都是基于python编写

自动化运维的好处:

  • 提高工作效率
  • 减少重复性的劳动力操作
  • 大大的减少了人为出错的可能性
  • 支持数据化管理,数据化追源,找到问题的来源点

ansible简介

在这里插入图片描述
ansible是一个同时管理多个远程主机的软件。通过shh协议实现了,管理节点(老板,安装了ansible服务的机器),被管理节点(员工,被管理的机器节点)的通信。

只要是通过ssh协议登录的主机,就可以完成ansible自动化部署操作

  • 批量文件分发
  • 批量数据复制
  • 批量数据修改,删除
  • 批量自动化安装软件服务
  • 批量服务启停脚本化
  • 自动批量服务部署

模块化

ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。

在这里插入图片描述

connection plugins:连接插件,负责和被监控端实现通信,默认使用SSH连接
host inventory:主机清单,是一个配置文件里面定义监控的主机
modules : 模块,核心模块、command模块、自定义模块等
plugins : modules功能的补充,包括连接插件,邮件插件等
playbook:编排,定义 Ansible 多任务配置文件,非必需。服务部署的流程:上传tar包-解压-改名字-写变量-检测是否成功

ansible安装

安装:控制节点1. 配置EPEL网络yum源[root@ansible-server ~]# yum install -y epel-release2. 安装ansible[root@ansible-server ~]# yum install -y ansible3.查看版本[root@ansiable-server ~]# ansible --version4.看帮助[root@ansible-server ~]# ansible --help
命令作用
-m module指定模块,默认为command模块
–version显示版本
-v详细过程 -vv -vvv更详细过程
–list显示主机列表,也可以用–list-hosts
-k提示输入ssh连接密码,默认key认证
-C预执行检测
-T执行命令的超时时间,默认10s
-u指定远程执行的用户
-b执行sudo切换身份操作
-become-user指定sudo的用户
-K提示输入sudo密码

基础操作

  1. 配置文件

ansible经常操作的配置文件有两个
主配置文件:
/etc/ansible/ansible.cfg  #主要设置一些ansible初始化的信息,比如日志存放路径、模块、等配置信息
主机清单文件:
默认位置/etc/ansible/hosts #设置被管理主机的相关信息
添加被管理主机
  1. 添加单个主机
[root@ansible-server ~]# vim /etc/ansible/hosts  #在最后追加被管理端的机器
192.168.157.113                      #单独指定主机,可以使用主机名称或IP地址

在这里插入图片描述

  1. 添加主机群
[root@ansible-server ~]# vim /etc/ansible/hosts 
[webservers]        #使用[]标签指定主机组 ----标签自定义
192.168.157.113        #如果未解析添加ip,解析添加主机名
192.168.157.114

在这里插入图片描述

  1. 包含其他组
[webservers1]     #组一
ansible-web1
[webservers2]     #组二
ansible-web2
[weball:children]      #children是关键字  表示 weball中包含 webserver1 和 webserver2
webservers1        #组一  
webservers2        #组二
  1. 为一个组设置内置变量

[weball:vars]         #vars关键字,表示为weball组群设置变量
ansible_ssh_port=22     #指定ssh端口  
ansible_ssh_user=root   #指定用户

在这里插入图片描述
在这里插入图片描述

  1. 执行命令

#语法
ansible  <pattern>   -m <module_name>   -a <arguments>  ...pattern:主机清单里定义的主机组名,主机名,IP,别名等,all表示所有的主机,支持通配符,正则
-m module_name: 模块名称,默认为command
-a arguments: 传递给模块的参数
[root@localhost ansible]# ansible weball -m command -a "hostname" -k -u root

在这里插入图片描述

颜色含义
绿色执行成功但为对远程主机做任何改变
黄色执行成功并对远程主机做改变
红色执行失败

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

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

相关文章

AI伦理专题报告:2023年全球人工智能伦理治理报告

今天分享的是人工智能系列深度研究报告&#xff1a;《AI伦理专题报告&#xff1a;2023年全球人工智能伦理治理报告》。 &#xff08;报告出品方&#xff1a;钛媒体国际智库&#xff09; 报告共计&#xff1a;239页 摘要 人工智能(ArtificialIntelligence)作为新一轮科技革命…

RepVGG,结构重参数化让VGG风格的ConvNets再次强大起来

论文&#xff1a;RepVGG Making VGG-style ConvNets Great Again 链接&#xff1a;https://arxiv.org/abs/2101.03697 代码链接&#xff1a;https://github.com/DingXiaoH/RepVGG 发表刊物&#xff1a;cvpr2021 作者&#xff1a;Xiaohan Ding, Xiangyu Zhang, Ningning Ma, Jun…

为什么Java程序员需要掌握多线程?揭秘并发编程的奥秘

为什么Java程序员需要掌握多线程&#xff1f;揭秘并发编程的奥秘 个人简介前言多线程对于Java的意义&#x1f4cc;1.提高程序性能&#xff1a;&#x1f4cc;2 提高用户体验&#xff1a;&#x1f4cc;3支持并发处理&#xff1a;&#x1f4cc;4 资源共享和同步&#xff1a;&#…

Nacos 2.3.0 正式发布,堪称最强!

Nacos 2.3.0的发布&#xff0c;可以说是一场关于配置管理的小型革命。它不仅仅是一个版本的迭代&#xff0c;更是一个桥梁&#xff0c;将我们熟悉的Nacos配置管理与Kubernetes的世界紧密相连。 Nacos 2.3.0的新亮点 在2.3.0-BETA版本的基础上&#xff0c;Nacos 2.3.0带来了以…

STM32CubeIDE(CUBE-MX hal库)----RTC时钟,时钟实时显示

系列文章目录 STM32CubeIDE(CUBE-MX hal库)----初尝点亮小灯 STM32CubeIDE(CUBE-MX hal库)----按键控制 STM32CubeIDE(CUBE-MX hal库)----串口通信 STM32CubeIDE(CUBE-MX hal库)----定时器 STM32CubeIDE(CUBE-MX hal库)----蓝牙模块HC-05&#xff08;详细配置&#xff09; 前言…

12.08

1.头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QDebug>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent nullptr);~Widget(); signals:v…

Spring Boot实现接口幂等

Spring Boot实现接口幂等 1、pom依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http:…

3亿人民币!欧洲高性能计算联合企业从德国开始建设量子生态

&#xff08;图片来源&#xff1a;网络&#xff09; 欧洲高性能计算联合企业&#xff08;EuroHPC JU&#xff09;已启动招标程序&#xff0c;准备在德国部署一台新型Euro-Q-Exa量子计算机。 Euro-Q-Exa系统将是一台基于超导量子比特和最先进的技术研发的量子计算机&#xff0…

snakeyaml编辑yaml文件并覆盖注释

文章目录 前言技术积累实战演示1、引入maven依赖2、覆盖注释工具类3、snakeyaml工具类4、测试用例5、测试效果展示 写在最后 前言 最近在做一个动态整合框架的项目&#xff0c;需要根据需求动态组装各个功能模块。其中就涉及到了在application.yaml中加入其他模块的配置&#…

探索创意无限的Photoshop CC 2020Mac/Win版

作为一款功能强大的图像处理软件&#xff0c;Photoshop CC 2020&#xff08;简称PS 2020&#xff09;在全球范围内备受设计师、摄影师和艺术家的喜爱和推崇。它不仅为用户提供了丰富多样的工具和功能&#xff0c;还不断推出新的创意特效和改进的功能&#xff0c;让用户的创意无…

动态规划——完全背包问题(公式推导,组合、排列)

本文章是对于完全背包 一些题型(如题目所示&#xff0c;组合、排列和最小值类型)的总结和理解&#xff0c;依次记录一下&#xff0c;方便回顾与复习。 本文章是基于个人所总结 实现的&#xff0c;但在其中遇到了一些疑惑与困难&#xff0c;所以总结一篇与完全背包相关的问题。 …

spring 的概述和入门

​ 我是南城余&#xff01;阿里云开发者平台专家博士证书获得者&#xff01; 欢迎关注我的博客&#xff01;一同成长&#xff01; 一名从事运维开发的worker&#xff0c;记录分享学习。 专注于AI&#xff0c;运维开发&#xff0c;windows Linux 系统领域的分享&#xff01; …