网络运维需要掌握什么技术 知乎

网络运维需要掌握什么技术 知乎,第1张

运维工程师主要是做什么的

负责一定产品集的运维,工作内容包括应用系统的发布、部署、变更、监控、事件处理、优化以及系统架构设计调优、提供运维报告等。IT类别的

IT运维工程师主要是什么的啊?

负责机房IT系统核心设备的日常巡检与维护工作,能按要求对其进行配置,保障系统的正常、安全运行;

2、负责服务器系统的安全管理,做好数据安全和病毒的防范工作;

3、负责现场的技术支持,及时解决出现的各类技术故障;

4、负责数据库管理,及相关系统测试;

5、负责制定各服务器的数据备份计划,并且确保备份数据可用性;

6、必要时,协助Helpdesk做一些桌面技术支持工作;

7、负责与相关部门的的交流,及时反馈用户使用信息;

8、运维文档的撰写与归档工作。

运维工程师,工作内容有哪些?

这要看你具体做什么运福了,运维工作也分很多种,如果是服务器运维工程师的话主要应该就是维护服务器的稳定,排查网络问题,不断的进行优化性能之类的

linux运维工程师一般做了哪些方面的工作?

1、对Linux下各种网络服务、应用系统、监控系统等进行自动化脚本开发的工作,并根据项目对系统进行性能优化;

2、负责网站项目中Linux服务器的部署与维护,解决Linux系统下版本兼容性问题;

3、精通linux *** 作系统,熟练部署和维护Linux服务器以及在linux服务器上架设各种服务;

4、熟练编写shell script脚本;

5、熟悉TCP/IP协议;

6、良好的英语读写能力,听说能力优秀者优先。

7、熟练LAMP,LNMP以及Mysql,oracle数据库维护。《Linux就该这么学》里有相关介绍,建议看看。

运维工程师,和系统工程师 的区别 详细一点的!

系统工程师是从系统开始安装到架构都是他来做,而运维工程师是别人已经搭建好了 你去维护一下 就这点区别

网络运维工程师具体是干什么的? 20分

岗位职责:

1 、在线服务的维护监控。 2 、企业邮件系统, 业务 邮件系统等的维护 3 、 Oracle\mysql 数据库的维护,性能调优,数据备份恢复,数据的导入导出。 4 、开发环境的技术支持,代码服务器的维护。 5 、进行网络调试配置,骇时解决故障问题。 6 、办公网络环境的基本维护,各部门的桌面技术支持。

你自己看下吧。

运维工程师需要什么技能?

最好的方法就是去看一些招聘网站的招聘简介了 已经很全了

岗位职责:

1、负责公司网络总体系统及子系统的维护;

2、负责网络整体架构规划、实施、优化、安全;

3、负责整体网络的 *** 作规范文档编写,整合系激资源;

4、负责整体网络的风险评估与备份系统实现;

5、研究主流的互联网应用技术,并负责将此是现在公司业务系统测试及应用;

6、公司整体网络架构规划,实施及维护;

7、主动发现问题,提出合理化建设,积极提出优化手段和建议。

任职资格:

1、大专学历,3年以上工作经验;

2、能够承受一定的工作压力,具备良好的沟通协调能力及突发事件单独处理能力;

3、熟悉unix/linux *** 作系统;

4、熟悉Linux下不同数据库的安装和调试,熟练使用shell脚步语言;

5、精通LAMP架构,对LAMP架构的部署、搭建、优化、排错等方面有丰富的经验。对高负载、大访问量 情况下的LAMP架构有运维经验者优先。

6、熟悉Linux下不同的存储解决方案,同时管理超过50太以上的linux服务器组,有整体管理经验者优先;

7、利用syslong收集各个关键出口设备情况,充分利用snmp协议,规划并架设一整套网络监控系统;

8、具备独立的工作能力,良好的沟通能力和团队精神,高度的责任心,工作积极主动

请问:运维工程师,工作强度如何?

运维工程师的工作强度是不是比开发工程师的工作强度低一些

工作强度低不低是看各个公司的,在A公司运维的强度非常高,基本都是晚上回去还要加班做一些事情,主要原因是人比较少;而B公司的运维强度和人均的负荷成正比,这个我虽然为B服务过(以前我在一家B的供应商呆过,去过B做过一段时间),但是现在B怎么样我不太清楚;

2运维工程师工作的技术含量会不会低一些 所以压力小一些

– 运维的工作性质主要还是维持运行的平稳和高效,工作主要有安装调试软硬件,根据不同开发项目配置服务器软件,监控等事情;相对开发来说更加偏向 *** 作系统或数据库(这是两个方向,一般是分开招人的);而开发的偏向于开发软件和一些中间件,数据库和系统一般就由运维的人把关;

aDBA偏向软件,而OS管理员和network(比如cisco)管理员偏向软硬件结合,还有一种人就是纯粹玩硬件的(安装服务器硬件、机柜什么的);

b至于说技术含量,我个人认为越集成的东西管理的人 *** 心就越少,而每个不同岗位的技术没有什么可比性,关键看你个人的性格;c 相对开发,运维的经验学习成本是比较高的,就是说你不在一定的实用环境下是没法学会真本事的,而开发你坐在家里就可以摸索一个大概出来;而运维的知识更新的速度相对慢,10年前的DBA知识更新可能只有50%,而他本人会非常值钱,而2年前java的一些内容可能都没有发明出来;除非你在开发做到管理职位,否则纯技术开发学习更新的代价会非常高;反过来说:技术开发适合比较喜欢新鲜、喜欢创新的人,而运维适合循规蹈矩比较踏实的人;

3在B,运维工程师的薪水只有开发的2/3左右你们公司也是一样吗

–我个人认为:公司给不同position的薪水肯定是和他预估这个职位重要性和工作强度成正比的,但和未来发展是否正比就不得而知了,这在B内部是有可比性的,至于A如何,我不太清楚,应该相差不大,毕竟A的运维已经是全球领先的,而且人数非常少;

4运维工程师的发展前景怎么样,会不会以后的发展空间比较小

– 所谓发展空间是要结合你个人的性格,资深DBA之类的人在地球上还是很稀缺的,我知道ebay china operating center的DBA有开宝马上班的,而且运维不是吃青春饭,越老越吃香,可以说是个平滑的上升直线,而开发如果你只是一个执行者和coder,恐怕就是一个开始猛涨后面猛跌的曲线,毕竟开发知识代谢成本太高,过了30就走下坡路;

软件公司需要的运营维护工程师主要是干什么工作?

就是做软件实施的,也就是现在说的实施工程师 到处跑,维护软件的!教别人如何使用软件,推广。

*** 作系统:Linux、Windows;数据库:Oracle、Mysql、SQLServer、非结构化数据库;中间件:Weblogic、Tomcat等;虚拟化:VMware、KVM等;云平台:Openstack、Docker等。

LINUX *** 作系统是一种免费使用和自由传播的类UNIX *** 作系统。unix是一个强大的多用户、多任务 *** 作系统,支持多种处理器架构。

按照 *** 作系统的分类,属于分时 *** 作系统,源自于1969年开始在美国AT&T公司的贝尔实验室开发的AT&TUnix。

WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。

Xfce即XFormsCommonEnvironment,创建于2007年7月,类似于商业图形环境CDE,是一个运行在各类Unix下的轻量级桌面环境。原作者OlivierFourdan最先设计XFce是基于XForms三维图形库。

这个要分情况具体看待:

第一种情况,如果只是一个公司的网络运维,类似网络管理维护岗位的话,那么基本包括:

1 、熟悉主要几种品牌的交换机、路由器、防火墙等硬件设备的配置,具备构建小型局域网的能力;

2 、计算机、打印机、无线 AP 等设备的基本故障排除、 IP 配置、硬件维护的能力;

3 、公司服务器的系统安装、调测、配置、维护能力;

4 、基本的综合布线、实地 *** 作能力。

第二种情况,如果是运维工程师类,需要掌握的不论是理论知识,或者 *** 作能力上,都有更高的要求;各类 *** 作系统的深度精通;精通主要几种编程语言;精通网络系统、数据库的开发;网络安全的配备等。

网络运维工程师需要掌握的应该不仅仅是软件,范围应该扩大,包括一些程序之类。

1Nginx 、 Apache 、 Tomcat 等,很多时候需要运维人员搭建开发环境并进行优化,不过对这些 *** 作一般都需要写命令。

2MySQL 、 SQL server 、 Oracle 、 mangodb 、 redis 等数据库的搭建、优化、维护肯定是必不可少的。

3LVS ( Linux 虚拟服务器),可能有的公司要采取 LVS 实现负载均衡。

4Jenkins (持续集成引擎),用于监控持续重复的工作,听说非常重要,但也难学。

5OpenStack 云计算管理平台,这个搭建及 *** 作还是比较麻烦的,不过同上面,也非常重要。

6zabbix 是一个基于 WEB 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。一般公司里都会用到这个,搭建熟悉使用一个多周即可上手,当然系统监控的软件不仅仅只有这个。

7SVN 、 Git 版本控制需要会,不过现在似乎 git 用的比较多。

8docker 、 elasticsearch 、 Kubernetes ( k8s )、 VMware vSphere 等虚拟化的知识,虚拟化还是比较热的。

9SaltSack 等自动化运维工具,自动化运维是运维进阶的方向,当然自动化运维还要会写脚本。

10Linux 、 unix 、 win server 等各种服务器系统必须熟练掌握, python 、 shell 等脚本语言,现在运维不仅仅是需要写命令,而且要求会编程, python 已经成为运维工程师招聘的必要条件。

运维学习内容

1阶段 零基础入门

2阶段 Linux系统管理&shell编程

3阶段 百万级访问量集群实战

4阶段 千万级访问量核心集群实战

5阶段 一切核心技术的底层支持:云计算集群

6阶段 尚硅谷专有课程:大数据运维

7阶段 Python自动化和毕业指导

linux学习路线

问题一:想学 网络运维工程师 需要什么要求 如何入门呢? 你是打算自学是吗?运维不仅仅是单机方面的知识哟,还涉及局域网,还有路由交换等等呢!你现在到底有什么样的基础,大家也不是很清楚哈。要不你说说自己的情况吧。

问题二:我想做运维工程师,应该学些什么 linux的各种服务器,还有就是各种路由交换的协议,以及会脚本的制作,网络结构规划,等等。

问题三:运维工程师需要什么技能? 最好的方法就是去看一些招聘网站的招聘简介了 已经很全了

岗位职责:

1、负责公司网络总体系统及子系统的维护;

2、负责网络整体架构规划、实施、优化、安全;

3、负责整体网络的 *** 作规范文档编写,整合系激资源;

4、负责整体网络的风险评估与备份系统实现;

5、研究主流的互联网应用技术,并负责将此是现在公司业务系统测试及应用;

6、公司整体网络架构规划,实施及维护;

7、主动发现问题,提出合理化建设,积极提出优化手段和建议。

任职资格:

1、大专学历,3年以上工作经验;

2、能够承受一定的工作压力,具备良好的沟通协调能力及突发事件单独处理能力;

3、熟悉unix/linux *** 作系统;

4、熟悉Linux下不同数据库的安装和调试,熟练使用shell脚步语言;

5、精通LAMP架构,对LAMP架构的部署、搭建、优化、排错等方面有丰富的经验。对高负载、大访问量 情况下的LAMP架构有运维经验者优先。

6、熟悉Linux下不同的存储解决方案,同时管理超过50太以上的linux服务器组,有整体管理经验者优先;

7、利用syslong收集各个关键出口设备情况,充分利用snmp协议,规划并架设一整套网络监控系统;

8、具备独立的工作能力,良好的沟通能力和团队精神,高度的责任心,工作积极主动

问题四:运维工程师需要学习哪些课程 *** 作系统概述、文件系统管理、unix作业管理、网络模型、UDP协议、网络层协议、各类局域网。

Linux基础知识、Vim使用、Shell编程、软件包管理、常用Server、容量分析、性能优化等。

AIX系统管理概述、系统管理工具、软件安装与维护、备份与恢复、网络管理基础、故障诊断、案例分析等。

powerHA概念和实施规划、VIO搭建和部署、日常检查、Oracle体系结构、客户机连接SQL语句、OracleRAC搭建等。

问题五:运维工程师必须掌握的基础技能有哪些 技能:

1 Linux基础

包括对Linux整体的理解/使用和基本命令:

了解Linux FHS : Filesystem Hierarchy Standard,国人写的这本书不错 Linux系统架构与目录解析 (豆瓣)

入门Linux:鸟哥的Linux私房菜基础学习篇(第三版) (豆瓣) 个人认为鸟哥的这本书是一本非常好的入门书

基本 *** 作命令:Google,如Linux mand cheat sheet

熟悉至少一个内置编辑器: vi, nano

至少熟悉一个发行版(或系列),建议作为服务器常用的如Centos, Debian, Ubuntu,可以了解多个常用发行版

2 运维的命令:

运维相关的工具(命令),了解它能解决很多问题。

前几天刚回答了一个问题:如何才能更深入的学习linux?

里面的图在这里也可以用到:

可以对着图对学习了解这些命令。

另外我个人也会对平时用到的这些工具做一个整理和记录,总结到我的个人维基上:Wiki ・ Tanky Woo

3 基础服务:

LAMP或LNMP :Apache/Nginx,MySQL,PHP/Python/Perl LAMP (software bundle)

FTP

DNS

SAMBA

EMAIL

NTP

DHCP

可以本地搭建练练手

这里推荐鸟哥另外一本书 服务器架设篇: 鸟哥的Linux私房菜 (豆瓣)

4 运维平台工具:

也在这个问题 如何才能更深入的学习linux? 里提到了:

Nagios

Puppet

Zabbix

Cacti

SaltStack

可以选择性的折腾下,因为这个涉及到业务,没有实际环境,很难去理解他们的功能和特点。

5 脚本:

必备:Shell

额外:Python,Perl

6 底层:

Linux C,内核

7 网络:

网络是非常重要的一块

把《TCP/IP协议详解》多看几遍,理解。

熟练使用tcpdump等抓包工具

8 安全:

防火墙配置,如 iptables

9 硬件:

接口类型

查看硬件信息

知道各类型服务器,如塔式、机架式、刀片式

10 其它:

了解更多特定技能要求的方式:

Google搜Linux运维工程师 招聘,看看他们的需求。

最后推荐一本书:Unix/Linux系统管理技术手册 UNIX/Linux 系统管理技术手册 (豆瓣)

后续想到再做补充

素养/处理方式:

除了技能,我觉得素养(态度)也可以谈谈

这个正好看到右边相关问题:运维工程师需要具备哪些性格特质?

1 安全

运维人员的权限很大,所以一定要保证帐号/私钥的安全。

最好使用加密工具存储。比如truecrypt,1password

基于本地存储。切勿用网盘,也不建议用lastpass等

ssh私钥添加密码

以上任何一点都很重要,否则弄丢了,风险会非常大。

2 责任心

如上面那个帖子里 @山大 提到的 Owner 意识

遇到报警,第一时间处理,而不要等着他人去处理

如果无法处理,应该第一时间让同事协助帮忙,而不要禁止报警,让问题掩盖

3 细心

你的任何一个 *** 作,都可能造成系统的损坏、业务出问题。所以敲命令时一定要细心、再三确认。你敲的再快,也就节省那么一点时间,出了问题才是大事。

4 推进/改善

如果代码有问题,导致系统开销很大,比如负载,io等。应该第一时间和开发部门确认,要求优化代码。

5 进取心/不断学习

运维的知识范围很广>>

问题六:运维工程师必须掌握的基础技能有哪些 1,网络工程师的工作

你至少要能配置CISCO 6509以下的设备,熟悉各种网络协议,否则网络出问题的时候你会傻掉。

2,系统工程师的工作

你至少要理解各种系统服务,在出问题的情况下要迅速解决问题,而不是等系统工程师来解决。

3,安全工程师的工作

我不要求你一定要会各种网络编程,但是在服务器收攻击的情况下,没有防火墙的情况下,做一些简单的处理工作。

4,存储工程师的工作

至少要熟悉各个厂商的设备,各种备份和还原的办法

5,测试工程师的工作

在新版本上线之前,你至少要协同测试工程师做测试工作,因为你是运维人员,不了解程序架构导致无法解决故障,你也有一份责任。

6,研发人员的工作

运维工具都需要自已开发,熟悉开发语言,需要有过实际开发经验,否则工作会非常痛苦,我深有体会。

7,英语

不想说了,我的最大痛苦就在这里

8,好的沟通者

不出问题时候你可以打游戏睡觉,出问题的时候要能和项目人员沟通,快速解决问题,而不是推;我知道有很多人能推责任,你可以做替死鬼,但是离开这个工作你还能找到更好的;把责任推到别人身上的人,下次出问题的时候,绝对没人帮你。你要能和各个兄弟部门关系非常的密切,出了问题有兄弟帮你担责任;也要能非常扯皮,没事在会议上把别人都搞定。

9,库房管理员

数万台服务器让你来管理,任何丢失或者损坏都是不负责任和失职的表现。

问题七:it运维工程师需要了解哪些知识点 推荐看一些该职位的招聘信息。

另外百度百科有介绍如下:

baikebaidu/view/3118292

问题八:初学运维工程师需要学习那些重点 linux基础-->基础服务器-->mysql数据库-->shell脚本-->负载均衡-->高可用-->监控等

问题九:服务器运维工程师应该掌握哪些知识 运维工程师 熟悉tcpip系列协议,熟练配置思科和华为网络 能参考手册配置其他厂商设备 包括安全设备

熟悉服务器硬件系统配置 *** 作系统 unix linux windows等安装配置 检测其运行等

熟悉常见的应用如web ftp 邮件等服务搭建 及排查

熟悉常见的系统安全设置,以及整个安全体系架构

会安装及配置维护常见数据库oracle mysql sql-server等

有一定的存储方面的知识

郸 。。。。。。。

要熟悉你服务器的环境相关的东西 特别是网络相关

熟悉服务器的硬件配置 熟悉服务器上的 *** 作系统及各种常见的应用系统

熟悉发生故障的时候处理流程等

不强求你精通内核调优等 但是你知识要全面 而且有一两手是拿手的

问题十:IT运维工程师主要是什么的啊? 负责机房IT系统核心设备的日常巡检与维护工作,能按要求对其进行配置,保障系统的正常、安全运行;

2、负责服务器系统的安全管理,做好数据安全和病毒的防范工作;

3、负责现场的技术支持,及时解决出现的各类技术故障;

4、负责数据库管理,及相关系统测试;

5、负责制定各服务器的数据备份计划,并且确保备份数据可用性;

6、必要时,协助Helpdesk做一些桌面技术支持工作;

7、负责与相关部门的的交流,及时反馈用户使用信息;

8、运维文档的撰写与归档工作。

对于一个开发人员来讲,可能运维并不是自己的职责所在。但是作为一名开发人员,却不能不了解自动化运维的整个流程。因为对于一个信息系统而言,开发和运维本质是一体的,尤其对于一些小公司来讲,可能运维人员本身就是开发人员抽空兼任的。

而自动化运维,本质上是介于开发和运维之间的,是运维和开发的交集,甚至很多时候都要写不少代码。因此,任何一个开发人员,都需要有自动化运维的相关知识。

一个了解好的开发人员,即使自己不做运维相关的工作,也能够知道自己在将项目交付给运维人员的时候,哪些东西是重要的,那些是必须配置的等等。然而在实际工作中,往往开发人员会给运维人员留下一些坑,一些只有他自己知道,而运维人员不知道的东西。导致运维人员自己试了很多次发现不行的时候,找到开发人员,开发人员研究了一下才会告诉他,在某某环境中必须用哪个端口之类的。这样不仅白白浪费了运维人员的时间,也增加了很多沟通的工作量。

反过来也是如此,一些现场的问题如果运维人员不能现场给出问题的定位。对于开发人员来讲是非常难以复现的。比如之前有某家企业,运维人员在客户现场发现问题。费了很大力气从客气的内网里面把日志导出来,发给开发人员,结果开发人员仔细研究了日志之后,发现是网不通的问题。开发人员显然是不可能知道为啥网不通的,搞不好是压根没连网线。

所以今天我们来聊一聊,对于一个程序员来讲,需要了解的自动化运维的那些事。

一、自动化运维的概念

随着信息时代的持续发展,初期的几台服务器已经发展成为了庞大的数据中心,单靠人工已经无法满足在技术、业务、管理等方面的要求。一个运维人员手工配置几台服务器还可能。配置几百上千台服务器那就累死了,还容易出错。那么就需要对运维工作进行标准化、自动化、架构优化、过程优化等。从面降低运维服务成本。其中,自动化最开始作为代替人工 *** 作为出发点的诉求被广泛研究和应用。

所谓自 动化运维,即在最少的人工干预下,结合运用脚本与第三方工具,保证业务系统724小时高效稳定运行 。这是所有业务系统运维的终极目标。

按照运维的发展成熟度来看, 运维大致可分为三个阶段

(1)依靠纯手工,重复地进行软件的部署与运维;

(2)通过编写脚本,方便地进行软件的部署与运维;

(3)借助第三方工具,高效地进行软件的部署与运维;

二、自动化运维需要解决的问题

自动化运维通常来讲,需要解决以下几个问题: 自动部署配置、风险事前预警、故障事中解决、和故障事后管理

三、自动化运维的常用工具

自动化运维常用的工具包括以下几种:

1、Ansible

ansible是基于Python开发的自动化运维工具,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。

ansible具有如下一些特性:

(1)模块化:调用特定的模块,完成特殊的任务。

(2)Paramiko(python对ssh的实现),PyYaml,jinja2(模块语言)三个关键模块。

(3)支持自定义模块,可使用任何编程语言写模块。

(4)基于python语言实现。

(5)部署简单,基于python和SSH(默认已安装),agentless,无需代理不依赖KPI(无需SSL)。

(6)安全,基于OpenSSH

(7)幂等性:一个任务执行一次和执行n遍效果一样,不因重复执行带来意外情况。

(8)支持playbook编排任务,YAML格式,编排任务,支持丰富的数据结构。

(9)较强大的多层解决方案role。

2、Chef

Chef是一个功能强大的自动化工具,可以部署,修复和更新以及管理服务器和应用程序到任何环境。

Chef 主要分为三个部分 Chef Server、Workstation 以及 Chef Client。用户在 Workstation 上编写 Cookbook。然后,通过 knife 命令上传到 Chef Server。最后,在 Chef Client 上面实施安装和部署工作。所以,对于 Cookbook 地编写在整个自动化部署中起到了重要的作用。

Chef Server 包含所有配置数据,并存储描述Chef-Client中每个Nodes的Recipe,Cookbook和元数据。配置详细信息通过Chef-Client提供给Nodes。所做的任何更改都必须通过Chef Server进行部署。在推送更改之前,它通过使用授权密钥来验证Nodes和Workstations是否与服务器配对,然后允许Workstations和Nodes之间进行通信。

Workstations 用于与Chef-server进行交互,还用于与Chef-nodes进行交互。它还用于创建Cookbook。Workstations是所有交互发生的地方,在这里创建,测试和部署Cookbook,并在Workstations中测试代码。

Chef命令行工具 是创建,测试和部署Cookbook的地方,并通过此策略将其上载到Chef Server。

Knife 用于与ChefNodes进行交互。

Test Kitchen 用于验证Chef代码

Chef-Repo 是一个通过Chef命令行工具在其中创建,测试和维护Cookbook的存储库。

Nodes 由Chef管理,每个Nodes通过在其上安装Chef-Client进行配置。 ChefNodes 是一台机器,例如物理云,云主机等。

Chef-Client 负责注册和认证Nodes,构建Nodes对象以及配置Nodes。Chef-Client在每个Nodes上本地运行以配置该Nodes。

Cookbook 是Chef 框架的重要基础功能之一。在 Chef Server 对目标机器做安装部署的时候,是通过 Runlist。而 Runlist 里面又包含了一个一个具体的 Cookbook,所以,最终对一个目标机器的部署任务就落到了 Cookbook 上。而对于 Cookbook 来说,其中包含了多个组件,我们可以将 Cookbook 简单地理解成一个容器或者可以理解为一个包,里面包含了 recipes、files、templates、libraries、metadata 等信息。这些信息用于配置我们的目标机器。

3、Puppet

puppet是一种Linux、Unix平台的集中配置管理系统,所谓配置管理系统,就是管理其里面诸如文件、用户、进程、软件包等资源。它可以运行在一台服务器端,每个客户端通过SSL证书连接到服务端,得到本机器的配置列表,然后根据列表来完成配置工作,所以如果硬件性能比较高,维护管理上千上万台机器是非常轻松的,前提是客户端的配置、服务器路径、软件需要保持一致。

客户端Puppet会调用本地facter,facter探测出该主机的常用变量,例如主机名、内存大小、IP地址等。然后Puppetd把这些信息发送到Puppet服务端;

Puppet服务端检测到客户端的主机名,然后会检测manifest中对应的node配置,并对这段内容进行解析,facter发送过来的信息可以作为变量进行处理;

Puppet服务器匹配Puppet客户端相关联的代码才能进行解析,其他的代码不解析,解析分为几个过程,首先是语法检查,然后会生成一个中间的伪代码,之后再把伪代码发给Puppet客户端;

Puppet客户端接收到伪代码之后就会执行,执行完后会将执行的结果发送给Puppet服务器;

Puppet服务端再把客户端的执行结果写入日志。

4、Saltstack

SaltStack是基于python开发的一套C/S自动化运维工具。部署轻松,扩展性好,很容易管理上万台服务器,速度够快。与服务器之间的交流,以毫秒为单位。SaltStack提供了一个动态基础设施通信总线用于编排,远程执行、配置管理等等。它的底层使用ZeroMQ消息队列pub/sub方式通信,使用SSL证书签发的方式进行认证管理,传输采用AES加密。

在saltstack架构中服务器端叫Master,客户端叫Minion。

在Master和Minion端都是以守护进程的模式运行,一直监听配置文件里面定义的ret_port(接受minion请求)和publish_port(发布消息)的端口。当Minion运行时会自动连接到配置文件里面定义的Master地址ret_port端口进行连接认证。

saltstack除了传统的C/S架构外,其实还有一种叫做masterless的架构,其不需要单独安装一台 master 服务器,只需要在每台机器上安装 Minion端,然后采用本机只负责对本机的配置管理机制服务的模式。

saltstack提供如下一些功能:

(1)远程执行:(批量执行命令)在master上执行命令时,会在所有的minion上执行。

(2)配置管理/状态管理 :(描述想到达到的状态,saltstack就会去执行)

(3)云管理(cloud):用于管理云主机

(4)事件驱动:被动执行,当达到某个值会自动触发

这四种自动化运维工具的比较如下,现在主流的基本上ansible和saltstack用的多一些:

以上就是关于系统运维工程师做什么全部的内容,包括:系统运维工程师做什么、运维一般需要掌握什么技术、网络运维需要掌握什么技术 知乎等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/8817148.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-21
下一篇2023-04-21

发表评论

登录后才能评论

评论列表(0条)

    保存