写点什么

HashiCorp 发布 Consul 1.2.1,带来 Consul Connect 服务网格解决方案

2018 年 7 月 27 日

HashiCorp 发布了 Consul 1.2.1 ,这是其高可用、分布式服务发现和键 - 值存储的最新版本,该版本还包含 Consul Connect 的公开测试版。Consul Connect 使用 Mutual TLS 提供服务到服务的连接授权和加密,并且能够“自动把现有的任何 Consul 集群转换成服务网格解决方案”。对于所有必要的子系统,Connect 仅需要一个二进制文件。

目前,Connect 的应用场景主要是部署服务到服务加密和基于身份授权的最佳实践。Connect 并不像工程师通常可能会期望的那样,提供 Linkerd Cilium Envoy / Istio 等服务网格中的所有特性,如流量转移、速率限制、超时和重试,回路断线和可观测性。不过,在 HashiCorp 开发大使 Nic Jackson 的私人信函中,他写道:

Connect 被构建为可扩展的,以便它可以和现有的代理集成,如 Envoy,提供所有期望的特性。在 Connect 正式发布时还会提供原生 Kubernetes 集成。

服务或应用程序可以使用 Sidecar 代理自动为入站和出站连接创建 TLS 连接,而不必知道 Connect 的存在。在性能和安全要求较高的环境中,应用程序还可以原生集成Connect 。此外,solo.io 团队已经发布了“ Gloo Connect ”,这是 Envoy Proxy 和 Consul Connect 的集成原型。

Connect 设计得非常易于使用,只需要在通常的 Consul 配置中额外添加一个选项就可以启用;在服务注册配置中额外增加一行——“connect:”(及相关元数据)——就可以自动使现有的任何应用程序接收基于 Connect 的连接。Connect 使用标准的 TLS over TCP/IP,这让它可以工作在任何网络配置下,只要底层操作系统可以访问目标服务指定的 IP 就可以。

Connect 的核心基于 Mutual TLS 。Connect 为每个服务提供了一个编码成 TLS 证书的标识。根据 Connect 的文档,这个证书用于和其他服务之间建立连接或者接收来自其他服务的连接,TLS 证书中标识的编码符合 SPIFFE X.509 Identity Document 。证书轮换是自动完成的,不会导致停机。为了生成和分发证书,Consul 内置一个没有其他依赖的 CA,而且还提供了对 Vault 的内置支持。PKI 系统被设计成了可插拔的。

在服务到服务的授权方面,Connect 没有使用 IP 地址访问规则进行基于主机的访问授权,而是使用已注册服务的标识借助“ Intention ”来执行访问控制。使用逻辑上的服务标识名称而不是 IP 地址和端口可以简化访问控制推断。规则是规模无关的——不管是一个“Web 服务器”服务,还是数以百计的服务——使用名称还便于服务的迁移。例如,使用容器编排框架如 Kubernetes Nomad AWS ECS 在主机之间重新调度服务时,服务名称可以提供位置透明。

不管底层网络如何,Intention 执行都是可以完成的。因此,Connect 适用于物理网络、云网络、软件定义网络,可以跨云。对于 HashiCorp 的企业客户,还可以把 Intention 和策略即代码框架Sentinel 搭配使用,提供多级安全策略或额外的粒度。

Connect 目前只能用于单个 Consul 数据中心里服务到服务的连接;Connect 可以在多个 Consul 数据中心里启用,但只有同一个数据中心的服务可以建立基于 Connect 的连接。此外,CA 配置和 Intention 都是相应数据中心本地的;它们不会跨数据中心复制。Connect 多数据中心支持正在开发之中,将于 2018 年底作为 Consul 企业版的一项特性发布。该特性将为 Intention 复制、数据中心 Intention 约束、CA 状态复制、多数据中心证书轮换等提供便利。

该文档指出,Connect 所需的所有 API 通常都是在毫秒内响应,而且“只会对已有的服务带来很小的开销”。这是因为,与Connect 相关的API 全都通过回环接口放在了本地Consul 代理中。Consul 代理会在本地缓存大部分与Connect 相关的数据,并在后台启动服务器“阻塞查询(blocking queries)”,在后台更新缓存。这使得大部分API 调用,如检索证书或授权连接,可以使用内存内数据,实现快速响应。

文档的“代理缓存与性能”部分指出,启动Connect 后,工程师很可能会看到本地Consul 代理的内存使用增加。总内存是由与接收Connect 连接的代理中注册的服务相关的Intention 数量决定。

要了解更多有关 Consul 1.2 和 Consul Connect 发布的信息,请查看 HashiCorp 的博客。HashiCorp 创始人兼首席技术官 Armon Dadgar 还在 YouTube 上使用白板概要地介绍了Consul Connect,特性主页上也提供了更多的信息。Consul 1.2 下载,请点击这里

查看英文原文: HashiCorp Release Consul 1.2 with Consul Connect Service Mesh Solution

2018 年 7 月 27 日 05:33972
用户头像

发布了 1008 篇内容, 共 313.6 次阅读, 收获喜欢 282 次。

关注

评论

发布
暂无评论
发现更多内容

oeasy教您玩转linux010202软件包管理apt

o

拥抱K8S系列-02-服务器部署应用和docker部署应用区别(nginx篇)

张无忌

nginx Docker 运维

SpringBoot 缓存之 @Cacheable 详细介绍

hepingfly

Java spring 缓存 springboot

「架构师训练营」第 12 周作业 - 大数据

森林

拥抱K8S系列-01-CentOS7安装docker

张无忌

Docker centos 运维

面经手册 · 第9篇《队列是什么?什么是双端队列、延迟对列、阻塞队列,全是知识盲区!》

小傅哥

数据结构 小傅哥 队列 ArrayDeque

Java创建对象的方法有哪些?

古月木易

Java

架构师0期Week12总结

Nan Jiang

第12周 大数据

陆不得

java安全编码指南之:Mutability可变性

程序那些事

Java java安全编码 编码指南 可变性

JVM中unsafe.cpp源码

Darren

c++ 源码 JVM unsafe

Java中强、软、弱、虚四种引用详解

古月木易

Java

架构师训练营——第12周学习总结

jiangnanage

手机没网了,却还能支付,这是什么原理?

楼下小黑哥

支付宝 微信支付 支付

甲方日常6

句子

工作 随笔杂谈 日常

Docker 网络模式详解及容器间网络通信

哈喽沃德先生

Docker 容器 微服务 容器技术 容器化

MapReduce

李广富

「架构师训练营」第 12 周作业 - 总结

森林

【API进阶之路】破圈,用一个API代替10人内容团队

华为云开发者社区

内容 编辑 API 华为云 文本摘要

分析HiveQL 生成的MapReduce执行程序

任小龙

架构师训练营第 12 周作业

在野

JDK8 Unsafe.java 源码

Darren

源码 并发 CAS 代码注释 unsafe

实战案例丨使用云连接CC和数据复制服务DRS实现跨区域RDS迁移和数据同步

华为云开发者社区

迁移 灾备 数据复制 云连接 数据同步

一条龙!CI / CD 、打造小团队前端工程化服务

久违

Vue 前端 jenkins React 前端工程化

Java中强、软、弱、虚四种引用详解

奈学教育

Java

CPU中的程序是怎么运行起来的(预告篇)

良知犹存

cpu

vivo商城前端架构升级-总览篇

vivo互联网技术

node.js Vue 前端 架构设计

【运维探讨】RPA落地实践,提升IT运维工作效能!

嘉为蓝鲸

RPA 运维自动化 标准化 系统运维 流程

LR.JAVA平台商业可视化大屏(BI)设计演示

力软.net/java开发平台

软件开发 BI 数据可视化 Java 分布式

架构师训练营 - 命题作业 第 12周

铁血杰克

极客大学

Java创建对象的方法有哪些?

奈学教育

Java

演讲经验交流会|ArchSummit 上海站

演讲经验交流会|ArchSummit 上海站

HashiCorp发布Consul 1.2.1,带来Consul Connect服务网格解决方案-InfoQ