DevOps

针对从事自动化测试,持续交付,服务集成和监控以及构建SDLC基础架构的软件工程师的问答

4
如何在代码存储库中构建与DevOps相关的代码和配置?
作为一家公司,我们一直在发展,我们的产品也在扩展,与DevOps相关的活动和努力也在不断增长-我们已经使用部署管道和其他插件从Bamboo转变为更加灵活和可配置的Jenkins。切换到Ansible并开始在本地和本地使用Docker。 所有这些都需要一定程度的编码或配置-Ansible脚本和配置,Jenkins groovy脚本,Dockerfile和YAML配置。 现在,我们已经创建了一个独立的“OPS”资源库和高层次的目录jenkins,ansible,docker和other(这是一个可怕的名字,但现在所有的“其他”的DevOps自动化的东西在那里)。 我们的方法感觉不正确,可能无法扩展,但是将与DevOps相关的代码保留在一个或多个代码存储库中的最佳实践和建议是什么?

2
如何跟踪对AWS设置的更改?
有没有办法跟踪我们对AWS系统所做的更改? 例如,从使用nat到iwg的子网设置更改-这些显示一条消息,然后消失。 有没有一种方法可以让AWS创建日志,以便人们可以跟踪对哪些内容和时间进行了哪些更改? 我们现在拥有的最接近的东西是ElasticBeanstalk事件-即便如此,它也仅告诉您AWS做了什么,而不是告诉更改了哪些设置导致事件。

2
每天大约在同一时间突然释放内存
我在Windows Azure上有一些运行我们的电子商务网站的VM,最近我们开始使用Telegraf,InfluxDb和Grafana来监视这些计算机。经过几周的数据收集,我注意到与“ 可用内存” 度量标准有关的怪异模式: 我几乎每天几乎总是在同一时间段内释放大量的内存,由于我的非常非常有限的DevOp技能,我不知道是什么原因造成的。 这是显示此模式的图表: 我的问题是:什么会导致这样的事情?我很想怀疑应该归咎于内存泄漏,但是...可用内存永远不会降到70%以下,而只会在流量最大的两个VM中发生! 看到类似这样的内容时,我应该担心吗? PS:我一直在为我们运行的每个Windows服务以及w3wp进程收集Private e Virtual字节的度量标准...尽管我已经读过,这个度量标准并不是很可靠,无法确定您是否有内存泄漏,但至少我将尝试获取某种趋势,并查看其是否与上述模式相关。
10 azure  windows 

2
Git似乎可以识别来自.gitconfig的http.sslcainfo属性,但是在执行时会忽略它?SEC_E_UNTRUSTED_ROOT
总而言之,我有一个有效的证书链(可通过OpenSSL测试),但我无法以某种方式告诉Git加载这些证书。 我得到了同样的 “不信任的根证书颁发机构”的错误(SEC_E_UNTRUSTED_ROOT)独立是否我的git配置指向现有的或伪造的证书链文件。 有关详细信息,请检查随附的屏幕截图。 我.gitconfig用于伪造文件的设置: sslCAInfo = C:/tmp/foobar.crt 或者,对于与OpenSSL兼容的真实文件: sslCAInfo = C:/tmp/ca-bundle.crt 控制台成绩单: C:\tmp>openssl version OpenSSL 0.9.8h 28 May 2008 C:\tmp>git --version git version 2.12.2.windows.2 C:\tmp>git config --list http.sslverify=true http.sslcainfo=C:/tmp/ca-bundle.crt C:\tmp>dir 24.04.2017 13:45 10.875 ca-bundle.crt c:\tmp>openssl s_client -state -connect https://mygithost:443 -CAfile .\ca-bundle.crt Verify return code: 0 (ok) C:\tmp git clone …
10 git  windows  ssl 

2
如何避免分布式服务中的“重试风暴”?
当客户端配置为在放弃之前重试设置的次数后,将导致“重试风暴”,因为在服务的正常操作中会发生数据包丢失,所以需要重试策略。 举个例子: 例如,如果将整个服务扩展到每秒支持80,000个请求并以大约80%的容量运行,那么导致该服务每秒接收101,000个请求的流量高峰将导致其中1,000个请求失败。 当重试策略启动时,您最终会收到额外的1,000多个请求,具体取决于检测到故障的位置,从而将整个服务每秒提高至102,000个请求-从那里,您的服务进入死亡螺旋状,数量翻倍每秒失败的请求数量。 除了在预计的高峰交易之后大量超额提供服务之外,这将是低效的。您可以采用什么策略来避免“重试风暴”?

1
我应该在Logstash中使用多个节拍输入吗?
在围绕beats输入插件进行了一些研究之后,特别是这次重写,我想知道我是否应该仅使用一个节拍输入或倍数来处理倍数输入类型。 我将有大约500台计算机的事件,这些计算机具有20/80的Windows / Linux发行版。我计划使用托运人,文件拍子,metricbeat以及也许packetbeat的倍数拍子。 是否对每种类型/ os对使用一个输入感兴趣?或者仅在过滤器管道中使用一个输入和“ if type = ...”就足够了吗?


5
有没有CI工具可以保证分支质量不会下降?
传统上,CI系统仅通过对已提交更改的代码库执行QA验证,监视回归并发送人工干预通知,来对集成分支中的质量级别进行监视。 但是,当检测到这些回归时,分支机构至少在各自的QA验证开始后就已经陷入麻烦,并且将一直处于这种状态(甚至变得更糟!),直到所有罪魁祸首被发现,对其进行了修复并进行了新的QA验证确认分支质量级别已恢复。在所有这些时间里,分支可以被视为正常开发被阻塞。 是否有一个CI工具能够实际防止这种回归的发生,该工具将执行提交前的 QA验证,并且仅当使用相应提交更新的代码库也将通过那些提交前的QA验证时才允许提交。分公司质量水平? 更新:假设CI工具可以调用具有适当覆盖范围的适当的自动QA验证,以能够检测相应的回归。


2
如何更改组织中的现有政策?
我假设一家希望进行DevOps转型的组织存在一些其感兴趣的变更问题和政策。这种兴趣可以来自高层管理人员,中层管理人员,甚至可以自下而上。阻碍这种变化的最大因素之一就是促使其他人愿意接受这种变化。 例如,在许多情况下,推广诸如敏捷之类的“新”想法常常会失败。人们抵制变化,好像一堵墙阻止了好事的发生。然而,有责任要发生好事。 可以使用哪些方法来影响组织中开始DevOps转型的员工?特别有效的特定技术和方法。具体来说,更多的工程,更少的挥手。
10 culture 

2
“ DevOps转换”包含什么?
一些咨询公司正在推广一项称为“ DevOps Transformation”的服务。在世界各地的会议和聚会上,多家大型公司正在讨论这个主题。 这样的“ DevOps转换”意味着什么?对于成功的转换和失败的转换,从可行的角度看,它是什么样的。

1
如何在apt-get升级或安装过程中自动保留配置文件?
在apt-get update; apt-get upgrade -y服务器上执行时,我遇到了以下消息: Setting up sudo (1.8.16-0ubuntu1.5) ... Configuration file '/etc/sudoers' ==> Modified (by you or by a script) since installation. ==> Package distributor has shipped an updated version. What would you like to do about it ? Your options are: Y or I : install the package …

2
如何禁用Multibranch Jenkins构建中的某些分支?
我有一个多分支作业集,可以使用Jenkinsfile运行任何分支。 如果要从多分支管道运行的作业列表中删除分支,我可以考虑一些选择。 我可以删除分支 我可以在该分支中删除Jenkinsfile 第二个解决方案是好的,除了我需要提交该分支并将其推送到我的分支的git repo上,并且如果该分支合并到另一个分支中,它将使Jenkinsfile消失。 禁用多分支管道的某些分支的最佳方法是什么?


4
Terraform:是否有一种简洁的语法为一个资源指定多个标签?
要将多个标签附加到一个资源,我目前使用多个tag块: resource "aws_autoscaling_group" "instance" { ... tag { key = "Name" value = "${var.cluster_prefix}" propagate_at_launch = true } tag { key = "Owner" value = "${var.tag_Owner}" propagate_at_launch = true } tag { key = "Project" value = "${var.tag_Project}" propagate_at_launch = true } } 它可以工作,但是我想知道是否有更简洁的语法。这也容易出错,因为您必须propagate_at_launch为每个标签指定。 更新:该问题是在Terrafrom v0.12发布之前编写的。从那时起,使用动态嵌套块的支持得到了改善(请参阅下面的答案)。
10 terraform 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.