当前位置: 首页 > 网络应用技术

如何配置DevOps?

时间:2023-03-08 01:29:21 网络应用技术

  简介:许多朋友询问有关DevOps如何配置的问题。本文的首席执行官注释将为您提供一个详细的答案,以供所有人参考。我希望这对每个人都会有所帮助!让我们一起看看!

  在软件开发过程中,开发人员负责编写代码,然后将代码交给质量检查(质量保证)团队进行测试,然后将最终版本交给了运营和维护团队进行部署。

  DevOps是两个开发和操作词的组合。但是,这里的组合不仅仅是合并两个团队,而是从思维和过程中改变,并根据DevOps思想重新确定整个过程的规格和标准。

  DevOps既是一种思维方式,也是一种工作方式。作为三个部门之间的沟通,协作和集成的方法,以促进发展,技术运营和质量保证,组织的快速迭代并意识到竞争优势已成为现实。

  在DevOps的过程中,操作和维护人员将在项目开发过程中干预开发过程,以了解开发人员使用的系统架构和技术路线,以制定适当的操作和维护解决方案。开发人员还将参与系统部署操作和维护的早期阶段,并为系统部署提供优化建议。

  DevOps的实施打破了团队中各种角色的功能障碍,使开发人员以及操作和维护人员可以更好地进行交流和合作,并通过自动化流程更快,更可靠地进行软件开发的整体过程。

  最近,建立了一个DevOps平台,其中涉及建立各种相关组件。这是这些过程的记录。上一篇文章介绍了如何在CENTOS 7.5上构建Jenkins。本文主要介绍Jenkins如何集成Active Directory。

  Jenkins Integrated Active Directory是通过插件设置的。可以配置Active Directory插件和LDAP插件。本文使用LDAP插件。首先单击菜单[管理Jenkins] - [配置全局安全]:

  然后在[安全领域]中选择LDAP:

  接下来,配置一系列LDAP参数。其中,域中的帐户信息是在管理器DN中配置的,包括CN,OU,DC,您可以在加拿大Windows Server上使用DSQUERY命令来查询。有关详细信息,请参见下图:

  配置完成后,您可以测试配置是否成功。通过输入域帐户的用户名和密码进行测试:

  测试成功后,将出现以下信息:

  然后,您可以使用域帐户登录。

  目前,Prometheus的警报是Grafana自己的警报和Prometheus插头警报的常见警报。这是AlertManger的警报功能。

  与Prometheus操作员一起,使用AlertManger可以使监视警报更加多。

  Prometheus操作员介绍了K8S中的自定义资源定义(CRSS)Prometheus,ServicesMonitor,Prometheusrule和AlertManager。

  因此,在K8S中构建了Prometheus操作员之后,当我们需要监视项目时,我们的配置顺序是配置ServiceMonitor以获取监视数据,配置Prometheusrule以获取警报阈值,并配置AlertManager以配置警报发送方法。

  如果我们已经完成了ServerMonitor对象的汇编,则必须监视重要数据,设置阈值以触发警报。

  使用Spark Service CPU为例,介绍Prometheusrule的写作

  通过这种方式,我们完成了Prometheusrule资源对象的写作,因此Prometheus如何识别此警报规则。

  让我们检查Prometheus的资源对象

  Kubectl获取Prometheus/K8S -N监控-O YAML

  可以看出,普罗米修斯将自动匹配普罗米修的普罗米苏鲁群岛的资源对象,普罗米修斯将其标记为Prometheus = K8S和角色。在这里,我们可以体验自动发现普罗米修斯操作的魅力。我们只需要编写相应的警报规则YAML文件,然后ApplionY您可以制定警报。

  检查刚刚在Prometheus接口上制定的警报规则

  对于警报通知,需要考虑以下几点

  及时:邮件通知有时不注意,尤其是在计算机前不关注,因此我们在这里选择了在工作中用作警告消息推动方法的公司微信

  简单性:如果服务器性能正在等待警告值,则会有许多相关的警报触发器,因此我们需要配置分组,静音和抑制计划

  灾难性:如果Alermanger或Prometheus本身被挂起来,如果您无法发送警告该怎么办,则通常会使用另一项监控来监视Prometheus,或自定义连续的警报通知。该警报通知将不会发出哪一天,这意味着不会发出警报通知。监视有问题。一件很棒的事情是Prometheus操作员已经考虑了这一点,并且它带有看门狗作为监视

  创建一个AlertManger配置文件

  删除先前的秘密对象并创建一个新的对象

  检查公司的微信,此时您会发现您已经收到了警报信息

  该看门狗是对Prometheus本身的监视。如果有必要,您可以制定路由以匹配严重性的警报,然后每24小时重复一次。这可以达到每天监测Prometheus本身的效果。如果您没有一天没有收到看门狗,那么您可以知道Prometheus会挂起。

  通常收到警报信息

  AlertManger还支持Webhook警报,但是对于钉头和公司微信机器人等消息头有特殊要求。如果您直接使用Webhook,则需要在致电之前安装插件包装,然后才能致电

  AlertManager还支持暂时的无声警报。有时我们正在处理警报,并希望暂时默默地警报消息,或者在测试环境中进行压力测试,我们需要暂时默默地警报一段时间,我们可以暂时阻止特定的特定通过AlertManager的UI通知通知。通过定义标签的匹配规则(字符串或正则表达式),如果新的警报通知符合无声规则的设置,请停止向接收者发送通知

  当前AlertManager仅支持UI上的临时沉默警报

  当静默规则生效时,用户将看不到来自AlertManager的警报页面匹配的警报信息,而微信机器人不会发送响应警报消息

  CI/CD管道的实施或连续集成/连续部署是现代DevOps环境的基石。它弥补了自动化应用程序的开发,测试和部署之间的差距,以弥补开发团队与开发团队之间的差距在本文中,我们将介绍什么是CI/CD管道及其工作原理。

  进入CI/CD管道之前,让我们找出什么是DevOps?

  DevOps是一种软件开发方法,涉及在整个开发生命周期期间持续开发,连续测试,连续集成,软件的连续部署以及对软件的持续监视。这是开发高质量软件并缩短的开发周期的过程所有顶级公司的开发周期,从而提高客户满意度,这是每个公司想要的。

  想学习DevOps吗?有必要先了解其生命周期。LET来看看DevOps的生命周期,并探索IT与各种软件开发阶段之间的关系。

  CI代表连续集成,而CD表示连续交付或连续部署。如上图所示,您可以将其视为类似于软件开发的生命周期的过程

  让我们看一下它的工作原理。上面提到的管道展示并解释了该软件如何沿着生命周期的每个阶段向前移动,直到最终将其传递给客户或部署到生产环境中为止。

  让我们假设CI/CD管道场景。例如:您必须构建Web应用程序并将其部署到在线Web服务器中。Web应用程序。

  最初,开发团队将软件代码提交给版本控制系统(例如git或svn).Next,该代码将进入施工阶段。这是管道的第一阶段。开发人员将其代码引入其中,然后在适当版本标签之后返回到版本控制系统。

  假设我们已经有一些Java程序代码,需要在执行之前构造。来自不同内存分支的代码的特征。通过合并并最终使用编译器来编译整个编译过程。

  施工完成后,我们进入测试阶段。在此阶段,我们将进行各种测试,包括:功能块测试,单位测试和可用性测试

  测试完成后,我们将移至部署阶段,即将代码部署到临时服务器或测试服务器。在此阶段,您可以通过模拟器查看整个应用程序的特定代码和操作状态。

  一旦代码成功部署,您就可以进行另一轮可用性测试。如果一切正常,则可以将代码部署到生产环境中。

  同时,如果任何步骤中存在错误,您可以通过电子邮件将其发送回开发团队,以便他们可以及时进行修理。然后,将新代码推向版本控制系统,让他们返回到管道。

  这个过程再次结束,直到我们完成所有测试和验证,最后部署代码并导入生产环境服务器。

  在这一点上,我们已经了解了CI/CD管道及其工作原理。BELOW,让我们看看Jenkins是Jenkins的内容,如何通过Jenkins部署示范代码以及整个自动化过程。

  CI工具和CI/CD管道中的其他重要性。

  我们的任务是:从开发团队开始将代码投入到生产环境中以实现自动化的整个过程。因此,为了在整个软件开发生命周期中实现DevOps Pipeline的自动化模式,我们需要使用一些相应的自动化工具。

  詹金斯(Jenkins)从动员整个软件交付的过程中为我们提供了各种界面和工具。

  对于首选,我们需要一个git的存储库来使开发团队提交其代码。然后詹金斯开始从此“接管”。工作是为了确保特定工具或特定应用程序的连续集成和交付过程。

  从Git的角度来看,Jenkins采用“拉代码”模式,然后Jenkins转向交付阶段以实现从每个分支的代码提交代码的提交。是Java代码,我们可以使用Jenkins中的Maven等工具来编译代码并实施一系列测试以实现部署。相似,这些测试用例也被Jenkins“监督”。

  之后,将代码转移到Cache Server进行使用Docker进行部署。在一系列单元测试和可用性测试之后,代码“流入”了生产环境。

  Docker是一个虚拟环境,我们可以在其中创建服务器。实际上,创建整个服务器并部署需要测试的工件只需几秒钟即可。

  那么我们如何使用Docker?

  如前所述,通过存储库,我们不仅可以永久存储各种镜子,还可以在几秒钟内构建我们自己的镜像系统,并运行整个群集。此外,您可以随时在任何环境中复制它们。

  手 - 手练习:使用Docker和Jenkins构建CI/CD管道

  步骤1:打开VM中的终端,使用以下命令启动Jenkins和Docker:

  SystemCtl启动Jenkins

  SystemCtl启用Jenkins

  SystemCtl Start Docker

  注意:如果系统显示“特权错误”,请在上述命令之前使用sudo。

  步骤2:在指定端口上打开詹金斯。单击“新项目”以创建新作业。

  步骤3:选择一个免费的类型项目,然后输入项目的名称(我在此处使用Job1),然后单击“确定”。

  步骤4:选择源代码管理,然后单击git存储库。单击应用并保存按钮。

  步骤5:然后单击构建(构建) - 选择执行壳。

  步骤6:一一输入shell命令。此处,它将通过建立存档文件来生成战争文件。之后,它通过“拉动”获得相关代码,并使用maven安装一个软件包。需要安装每个依赖项并编译应用程序。

  步骤7:单击“新项目”以创建新作业

  步骤8:选择自由泳项目并输入项目的名称(我在此处使用Job2),然后单击确定

  步骤9:选择源代码管理,然后单击Git存储库。单击应用并保存按钮。

  步骤10:然后单击构建(构建) - 选择执行壳。

  步骤11:一一输入shell命令。它将进入集成阶段并生成相应的Docker容器。

  步骤12:单击“新项目”以创建新作业。

  步骤13:选择自由泳项目,然后输入项目的名称(我在此处使用Job3),然后单击确定

  步骤14:选择源代码管理,然后单击git存储库。单击应用并保存按钮。

  步骤15:然后单击构建(构建) - 选择执行壳。

  步骤16:一一输入shell命令。它将检查Docker的容器文件,然后将其部署到端口8180。请单击“保存”按钮。

  步骤17:现在单击Job1 -configure。

  步骤18:单击“邮政”操作 - 构建其他项目(构建其他项目)。

  步骤19:输入Job1之后构建的项目名称(这是Job2),然后单击“保存”。

  步骤20:现在单击Job2 -Configure。

  步骤21:单击施工后的操作

  步骤22:输入Job2之后构建的项目名称(这是Job3),然后单击“保存”。

  步骤23:现在,我们将创建管道的视图。请单击“+”。

  步骤24:选择“构建管道视图”,然后输入视图的名称(在这里我命名为CI CD Pipeline)。

  步骤25:选择初始job,我在此处输入Job1,然后单击“确定”。

  步骤26:单击“运行”按钮以启动CI/CD进程。

  步骤27:成功施工后,输入Localhost:8180/sample.text.it可以运行该应用程序。

  在这一点上,我们已经学会了如何使用Docker和Jenkins创建CI/CD管道。

  请记住:DevOps的目的是能够更快,更可靠地创建更高质量的软件,并且还可以促进团队之间的更紧密的沟通和协作。

  结论:以上是介绍如何配置DevOps的主要CTO注释的所有内容。我希望这对每个人都会有所帮助。如果您想了解有关此信息的更多信息,请记住收集并关注此网站。