写点什么

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

  • 2019-06-05
  • 本文字数:1588 字

    阅读完需:约 5 分钟

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-k8sconsul-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-06-05 08:009944
用户头像

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

关注

评论 1 条评论

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

微服务架构的核心关键点

阿泽🧸

微服务架构 8月月更

Kubernetes与OpenStack

CTO技术共享

开源 OpenStack 签约计划第三季 8月月更

OpenMLDB + Jupyter Notebook:快速搭建机器学习应用

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征工程

electron 应用开发优秀实践

vivo互联网技术

前端 Web Electron 桌面开发

Java 多行字符串

HoneyMoose

RocketMQ 详解系列

牧小农

RocketMQ

Kubernetes 实现 CI/CD 发布流程

CTO技术共享

开源 CI/CD 签约计划第三季 8月月更

Java基础 | Stream流原理与用法总结

Java 架构

【LeetCode】逐步求和得到正数的最小值Java题解

Albert

LeetCode 8月月更

mysql进阶(三十一)常用命令汇总

No Silver Bullet

MySQL 常用命令 8月月更

STM32F103实现IAP在线升级应用程序

DS小龙哥

8月月更

用Java扩展Nginx(nginx-clojure入门实战)

程序员欣宸

Java nginx 签约计划第三季

绝了,这套RESTful API接口设计总结

知识浅谈

8月月更

Discourse 的关闭主题(Close Topic )和重新开放主题

HoneyMoose

语音直播系统——有没有必要开展代码优化

开源直播系统源码

软件开发 直播系统 语音聊天源码 语音直播系统

2022秋招前端面试题(八)(附答案)

helloworld1024fd

程序员为什么一定要用Linux?

TimeFriends

8月月更

Kubernetes 企业如何落地

CTO技术共享

开源 签约计划第三季 8月月更

Kubernetes web网站无法访问

CTO技术共享

开源 签约计划第三季 8月月更

MySQL 原理与优化,Group By 优化 技巧

老崔说架构

springboot应用查询城市天气

程序员欣宸

Java spring-boot 8月月更

C++运算符重载之加号运算符重载

CtrlX

c c++ 后端 运算符 8月月更

如何快速打通镜像发布流程?

鲸品堂

镜像

Sass.vs.Less | 简介之基础语法

Jason199

SASS 8月月更

Kubernetes 资源核心原理

CTO技术共享

开源 签约计划第三季 8月月更

Edge 提供了标签分组功能

HoneyMoose

2022秋招前端面试题(七)(附答案)

helloworld1024fd

每日一R「01」跟着大佬学 Rust

Samson

8月月更

数据治理(四):数据仓库数据质量管理

Lansonli

大数据 数据治理 8月月更

中断系统结构及中断控制详解

timerring

8月月更

《MySQL入门很轻松》第3章:数据库的创建与操作

乌龟哥哥

8月月更

HashiCorp 发布 Consul 1.5.0 :支持 L7 可观察性及集中式配置_软件工程_Matt Campbell_InfoQ精选文章