使用Jenkins,Nexus,Hashicorp等工具构建devops管道。通过Terras Ansible和Packer进行部署。打算在每个工具的前面使用负载平衡器,想要部署上面列出的工具,并且其数据已解耦,从而可以更轻松地拆卸更新等。(例如,负载平衡x2,关系x2,数据?)是否有人对它有任何建议或建议示例?如何实现的。尚未为容器做好充分准备,但现在尝试断开数据耦合以准备进行此类更改。云提供商尚未定义AWS,Open Stack等欢迎思想。

#1 楼

您可能想探索不可变的体系结构。

步骤



带有静态分析的CI(Sonarqube,因为免费!),将版本伪像推向Nexus。
使用Packer制作基本图片。必须不时重新审查这些内容。基本映像具有安全性增强,日志传送器,监视工具等。
基本映像中特定于环境/应用程序的映像。
每个应用程序的healthCheck和版本API(部署中的healthCheck API和版本,用于查看不同代码的可见性虚拟机)。
使用Terraform和Ansible部署应用。

可以使用Jenkins 2.0(管道作为代码)来实现1,2,3点。它可以是每个应用程序本身的一部分。

让我知道这是否回答了您的问题。

评论


您还可以通过导出/导入来处理其中一些的配置部分。我知道Jenkins支持这一点,也可以通过联系实现。这样,您可以通过应用程序动态设置基本映像,而不是存储映像的层次结构。并不是说存储图像会让您烦恼,只是一种不同的方法。不过,我想将它们付诸实践,我从未将它们付诸实践,只是与它们一起使用了短时间。

– Newtopian
17年7月19日在13:40

#2 楼

我不建议使用OpenStack
Docker被杀死的OpenStack
我建议使用Kubernetes,
调查是否与您的应用程序体系结构兼容

评论


OP指出“通过terraform ansible和packer进行部署。”,很幸运将其移植为kubernetes中的容器。您是否尝试在kubernetes中运行nexus或Jenkins?您认为这真的有意义吗? (总之,如果您真的采用这种方式,那么就对持久性卷一字不漏,因为这是OP的追求)。 Tl; Dr:这个答案只是一个没有任何事实根据的意见,也没有解决问题的关键点。

–滕西拜
17年7月19日在12:13