云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

消息队列_服务器探针_稳定性好

小七 141 0

Spaceflight使用HashiCorp Consult在其中心辐射网络体系结构中进行服务发现和运行时配置

这是航天工业公司DevOps首席工程师Jay Christopherson的客座帖子。太空飞行通过提供一种新的进入太空的模式,正在彻底改变太空飞行的商业。作为一家综合性的发射服务和任务管理提供商,该公司提供了一套直截了当且具有成本效益的产品和服务,包括最先进的卫星基础设施、共享式发射服务以及使商业和政府实体能够实现其任务目标的全球通信网络,按时按预算。作为西雅图华盛顿航天工业的一项服务,太空飞行公司通过全球合作伙伴、地面站和运载火箭供应商提供服务。在决定如何设计计算基础设施以支持我们的业务应用程序时,我们面临两个主要挑战:我们应该如何处理分布式运行时更改和服务发现。当我们在世界各地部署远程卫星通信地面站(辐条)时,我们需要分布式的改变,但这些都是从一个中心位置(hub)管理的。从中心位置进行的更改需要以自动方式分发到一个或多个远程地面站。至于服务发现,我们经常构建和部署,我们需要确保在我们的基础设施中服务的更改被检测到并尽快更新,而无需任何手动更新。这就是我们研究HashiCorp执政官的原因。我们的应用程序都是在consur上注册的,从那里开始,我们大量使用基于consur的健康检查、标记、外部服务注册和负载平衡(对于某些可以注册"活动"组件的工具)。而且,DNS允许我们所有的应用程序和服务动态更新和发现其他需要的服务。对于运行时配置,我们投资了consur template等工具来构建动态配置文件,这些文件可以根据触发器进行更新,比如consur中的值更改。最后,对我们部署的服务的更改通常会变得很简单,只需对源存储库中的文件中保存的参数进行更改;在更改时触发构建,将更新推送到consur。现在,对我们部署的服务的更改"就这样发生了"»我们的建筑与consur和其他HashiCorp产品航天工业的任何部署的核心都由四部分组成:HashiCorp consur、HashiCorp Vault、HashiCorp Nomad和HashiCorp Terraform。专注于consur,它是我们所做一切的基础组件,包括密钥/值管理、服务注册、动态DNS和外部服务。我们设计的任何新服务都是围绕如何与consur交互和配置而设计的。它还可以作为我们保险库部署的后备库。对于任何生产级服务,我们在集群中部署consur。我们设计了一个中心辐射式架构。我们有一个中央集线器,所有地面站上常见的任何更改都会同步到远程站点。我们选择只在hub集群中保留一些关键的东西。以前,我们让每个远程地面站都成为集线器集群的只读副本。然而,我们发现,在较新版本的consur中,将某些项目标记为仅本地(即,不同步)的功能使某些事情变得更简单,我们现在更喜欢使用一种更混合的同步方法。在整个过程中,consult的实施为我们提供了重要的经验教训。我们曾经使用脚本填充K/V存储,但是发现这并不能长期持续下去。我们真正想要的是让开发人员检查源代码管理的更改,并"自动"构建/测试/部署,以便跟踪所有更改,而不需要对consur或我们的DevOps基础架构有特殊的了解。使用Terraform资源为consur填充K/V或外部服务意味着我们可以轻松实现这个目标。对源代码进行更改、提交、触发构建/测试、触发Terraform计划/部署,所有这些都在非常短的时间内在幕后进行,除了初始提交之外,没有任何交互。我们这里的最佳实践建议(对大多数人来说可能是显而易见的),就是构建您的系统,以便可以从单个源轻松地跟踪更改。另外,设置您的系统,以便只能从单个源进行更改。实施一个打破玻璃的程序,允许某人提升他们的特权,以便在紧急情况下直接进行更改。»减少了管理开销和瓶颈,提高了开发人员的生产效率我们的实施带来了几个关键好处:我们只需要很少的管理开销就可以管理全球基础设施。没有一个人(或小组)需要对系统进行更改-没有"如果他被公共汽车撞了怎么办"的场景。任何一个开发人员,只要对我们的源repo进行适当的身份验证访问,就可以进行更改,从而可以跟踪系统从提交到部署的整个过程。围绕Hashicorp服务构建我们的架构(尤其是consur),意味着我们的开发人员在基础设施的不同功能部分拥有一种通用的配置语言,能够在需要时接收帮助(包括基于社区的和基于合同的),以及能够轻松地将生产环境缩小到单个开发环境,只需更改一些参数。所有这些都减少了我们构建系统和进行更改的时间。然后我们就可以花更多的时间来构建我们的产品,而不是交付基础设施的过程。HashiCorp consur是一个跨任何基础设施连接任何应用程序的产品。consur是一个分布式的、高可用的、支持数据中心的解决方案,用于跨动态、分布式基础设施连接和配置应用程序。consur用于服务发现、运行时配置和编排,以及高级网络拓扑的简化管理。要了解更多有关HashiCorp领事的信息,请访问https://www.hashicorp.com/products/consul/。