HashiCorp 发布 Consul 1.5.0 :支持 L7 可观察性及集中式配置

2019 年 6 月 05 日

HashiCorp 发布 Consul 1.5.0 :支持 L7 可观察性及集中式配置

Hashicorp 发布了 Consul 1.5.0 版本,Consul 是他们的 Service Mesh 应用程序和键 - 值存储。该版本首次发布了 Consul 新路线图上的功能,包括:通过Envoy 支持L7 可观察性和负载均衡,集中式配置以及对可信第三方应用程序的ACL 身份验证支持。

此版本中,通过Envoy 的集成, Consul Connect 现在支持 L7 可观察性和负载均衡。 Connect 是在 1.4 版本添加到 Consul 中的,它利用自动 TLS 加密和基于身份的授权,提供安全的服务到服务通信。和任何 Service Mesh 一样,使用 Connect 时,所有进出服务的流量都通过以 Connect 作为控制平面的 side-car 代理进行流动。它允许 Connect 响应工作负载和网络的变更。这些代理构成一个数据平面,该数据平面提供一致的应用程序度量源,可以将其发送到时序数据库或其他应用程序监控软件。 Consul Connect 还允许配置分布式跟踪。现在,可以为第 4 层和第 7 层 HTTP 和 gRPC 配置度量配置和分布式跟踪。

1.5 版本还包含了包括过期时间、角色及服务标识映射在内的 ACL 增强功能。这些改进使服务能够使用第三方身份获取有效的 ACL 令牌。根据 Consul 团队的说法,“用户设置时的复杂性主要体现在,如何为具有正确访问权限的服务创建和分发有效的 ACL 令牌,以便在服务目录中注册自己”。通过引入 ACL 身份认证方法,应用程序可以使用受信的第三方自动获取具有正确权限的 ACL 令牌。此版本包含首个认证方法, 它使用 Kubernetes 服务账户来处理在 Kubernetes 上运行的服务。

此版本还旨在解决配置与应用程序部署的耦合问题。使用现有模型,配置由本地 Consul 代理管理,这意味着配置更改需要重新部署应用程序。通过这个版本,现在可以在一个集中的位置管理配置,让代理在Consul 服务器中监听配置更改。更新配置后,引用该配置的所有代理将自动重新加载其设置,而无需重新部署。

图表描述了集中式Consul 服务的工作流程(来源: HashiCorp

例如,要添加集中配置开启用于度量的 StatsD 收集器,可以添加以下内容:

复制代码
kind = "proxy-defaults"
name = "global"
config {
envoy_dogstatsd_url = "udp://127.0.0.1:9125"
}

假设这是在一个名为 policy.hcl 的文件中,可以使用以下命令将其写入 Consul 服务器:consul config write proxy.hcl。 该写命令还支持 -cas 选项(比较和转换),以防止覆盖其他修改。

类型(kind)支持两个值:proxy-defaults 和service-defaults。 proxy-defaults 允许为跨Connect 代理配置的所有服务,配置全局默认值。目前仅支持一个全局条目。service-defaults 控制服务的默认全局值,例如其协议。

Kubernetes 集成也将更新,以支持上述新功能。这包括 L7 可观察性和新的 ACL 认证方法。这些更新将在 Consul 1.5.0 发布后不久发布。有关此领域的完整变更列表,请查看 consul-k8s consul-helm 的变更日志。

此次发布的版本还包括跨多个 ConsulHTTP API 的过滤支持。它允许添加查询参数,以便使用filter 参数将过滤表达式传递到API 调用中:

复制代码
curl -G <path> --data-urlencode 'filter=<filter expression>'

这些过滤器表达式以纯文本格式编写,并支持布尔逻辑、匹配运算符和括号。

根据 Consul 的路线图,Consul 的未来版本应该会包括基于HTTP 路径的路由和流量转移特性。通过基于HTTP 路径的路由,Consul 将能够基于HTTP 路径或HTTP 头将流量路由到不同的上游服务。这通过第7 层路由扩展到对当前的第4 层网络支持。流量转移特性将允许一定比例的流量路由到服务的特定实例或完全不同的服务。这允许通过仅更新服务的一部分并将一小部分流量定向到更新的实例中,从而对新版本的软件进行金丝雀测试

有关此版本的更多详细信息及其他改进,请查看HashiCorp 博客上的官方公告变更日志提供了该版本的完整变更列表。Consul 可以从HashiCorp 网站免费下载

查看英文原文 HashiCorp Releases Consul 1.5.0 With Layer 7 Observability and Centralized Configuration

2019 年 6 月 05 日 08:00 9270
用户头像

发布了 121 篇内容, 共 49.4 次阅读, 收获喜欢 292 次。

关注

评论 1 条评论

发布
用户头像
太过学院气,不是一个合格服务注册中心技术
2019 年 06 月 06 日 10:22
回复
没有更多评论了
发现更多内容

Java并发编程系列——常用并发工具类

孙苏勇

Java Java并发 并发编程 多线程

游戏夜读 | 2020周记(4.10-4.17)

game1night

为什么最该祝自己劳动节快乐

石君

劳动 劳动节 励志

疫情故事一则 | 庆祝北京应急响应调为二级

赵新龙

滴滴 顺风车

如何表达自己的感情?

zkh

Block底层原理探析

Damien

ios 源码分析

Web3极客日报 #132

谢锐 | Frozen

区块链 创业 独立开发者 技术社区 Rebase

在 VPS 里搭建 Drone CI 持续集成构建系统

Gadzan

Docker ci DevOps cicd 持续集成

消息队列Kafka - 原理分析

Java收录阁

kafka

面向兴趣编程 - 一条微博和一个小程序的故事

遇见

小程序 微信小程序 副业 面向兴趣编程

消息队列Kafka - 基本应用

Java收录阁

kafka

HTTP的德性

十三

如何成为一个靠谱的人

熊斌

个人成长 团队协作

为什么开源是基础软件的未来

顾钧

开源 基础软件

改变

一把梭

生活 随笔

Web3极客日报#131

谢锐 | Frozen

区块链 创业 独立开发者 技术社区 Rebase

科技 vs 隐私:瘟疫下“以健康为名”会将我们推向何方?

陶乐思

以物理学思维破解分布式系统的本质

常平

分布式

《我是余欢水》与《一个叫欧维的男人决定去死》

十三

我所想的跨平台开发:小程序+App+Web

曾伟@喵先森

flutter 小程序 微信小程序 跨平台

OKR实践中的痛点(3):破3旧,迎3新!

大叔杨

OKR Scrum 敏捷 敏捷开发 绩效

从“中国GPL诉讼第一案”聊聊开源软件的license许可证

赵新龙

GitHub 开源 许可证

苟富贵,勿相忘

十三

Web3极客日报#130

谢锐 | Frozen

区块链 创业 独立开发者 技术社区 Rebase

论十三

十三

重要:Kafka第3篇之一条消息如何被存储到Broker上

z小赵

kafka

Disruptor 高效的秘密-Sequencer

Rayjun

Java 并发编程 Disruptor

使用Kubeadm搭建Kubernetes集群

Java收录阁

Kubernetes k8s

Firefox浏览器背后的力量,Mozilla基金会的“生财”之道

赵新龙

firefox 开源 基金会

没有了手机的诺基亚,过得远比你想象的要好

赵新龙

微软 手机 上市 诺基亚

Web3极客日报 #133

谢锐 | Frozen

区块链 技术社区 Rebase

HashiCorp 发布 Consul 1.5.0 :支持 L7 可观察性及集中式配置-InfoQ