0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Consul 1.13添加插件和集群对等测试版等新功能

马哥Linux运维 来源:马哥Linux运维 作者:马哥Linux运维 2022-08-22 10:06 次阅读

此版本增强了 Consul 中的许多功能,同时添加了 Consul on Kubernetes CNI 插件和集群对等测试版等新功能。

前两天,HashiCorp Consul 1.13 正式发布。此版本帮助组织降低运营复杂性、大规模高效运行 Consul 并将服务网格安全地集成到其应用程序工作流中又迈出的一大步。

Consul 1.13 中的新功能包括 Consul on Kubernetes CNI 插件、用于 Envoy 故障排除的 CLI 增强、Terminating Gateways 的增强和集群对等(测试版)。

Consul on Kubernetes CNI 插件

默认情况下,Kubernetes 上的 Consul 会注入一个 init 容器,consul-connect-inject-init它通过配置 sidecar 代理来设置透明代理流量重定向,以便应用程序可以轻松地在网格内进行通信而无需任何修改。在 pod 中部署 init 容器以设置透明代理需要 pod 具有足够的 Kubernetes RBAC 权限来部署具有CAP_NET_ADMINLinux 功能的容器。但是,对于具有非常严格的安全标准的组织来说,将 pod 配置为以这种升级的权限进行部署是有问题的,因此是网格采用的障碍。

作为 Consul 1.13 版本的一部分,Kubernetes 上的 Consul 现在将分发一个链式 CNI(容器网络接口)插件,用于处理 pod 生命周期网络设置阶段的流量重定向配置。CAP_NET_ADMIN这取代了使用 init 容器应用流量重定向规则的要求,并删除了在将工作负载部署到服务网格时允许特权的任何要求。CNI 插件计划在 consul-k8s [1] 0.48.0 中发布,将在 Consul 1.13 中得到支持。

Consul on Kubernetes CLI 增强 Envoy 故障排除

在诊断服务网格中的流量管理问题时,用户通常依靠 Envoy 代理配置来快速识别和解决在将应用程序部署到网格上时出现的配置问题。Kubernetes 上的 Consul 现在提供了额外的 CLI 命令,以通过consul-k8s proxy list和consul-k8s proxy read 命令快速解决 Envoy 配置问题。

该consul-k8s proxy list命令提供了具有由 Consul 管理的 Envoy 代理的所有 pod 的列表。Pod 和其Type一起列出,这决定了 proxy 是 sidecar 还是作为 Consul 部署的网关的一部分。

Namespace:AllNamespaces

NamespaceNameType
consulconsul-ingress-gateway-6fb5544485-br6flIngressGateway
consulconsul-ingress-gateway-6fb5544485-m54spIngressGateway
defaultbackend-658b679b45-d5xlbSidecar
defaultclient-767ccfc8f9-6f6gxSidecar
defaultclient-767ccfc8f9-f8nsnSidecar
defaultclient-767ccfc8f9-ggrtxSidecar
defaultfrontend-676564547c-v2mfqSidecar

该consul-k8s proxy read 命令允许您检查为给定 pod 运行的任何 Envoy 的配置。默认情况下,该命令会列出 Envoy 代理已配置的可用 Envoy 集群、侦听器、端点、路由和 secrets,如下所示:

Envoyconfigurationforbackend-658b679b45-d5xlbinnamespacedefault:

==>Clusters(5)
NameFQDNEndpointsTypeLastUpdated
local_agentlocal_agent192.168.79.187:8502STATIC2022-05-13T0439.553Z
clientclient.default.dc1.internal.bc3815c2-1a0f-f3ff-a2e9-20d791f08d00.consul192.168.18.110:20000,192.168.52.101:20000,192.168.65.131:20000EDS2022-08-10T1232.326Z
frontendfrontend.default.dc1.internal.bc3815c2-1a0f-f3ff-a2e9-20d791f08d00.consul192.168.63.120:20000EDS2022-08-10T1232.233Z
local_applocal_app127.0.0.1:8080STATIC2022-05-13T0439.655Z
original-destinationoriginal-destinationORIGINAL_DST2022-05-13T0439.743Z


==>Endpoints(6)
Address:PortClusterWeightStatus
192.168.79.187:8502local_agent1.00[32mHEALTHY[0m
192.168.18.110:20000client.default.dc1.internal.bc3815c2-1a0f-f3ff-a2e9-20d791f08d00.consul1.00[32mHEALTHY[0m
192.168.52.101:20000client.default.dc1.internal.bc3815c2-1a0f-f3ff-a2e9-20d791f08d00.consul1.00[32mHEALTHY[0m
192.168.65.131:20000client.default.dc1.internal.bc3815c2-1a0f-f3ff-a2e9-20d791f08d00.consul1.00[32mHEALTHY[0m
192.168.63.120:20000frontend.default.dc1.internal.bc3815c2-1a0f-f3ff-a2e9-20d791f08d00.consul1.00[32mHEALTHY[0m
127.0.0.1:8080local_app1.00[32mHEALTHY[0m

==>Listeners(2)
NameAddress:PortDirectionFilterChainMatchFiltersLastUpdated
public_listener192.168.69.179:20000INBOUNDAny*tolocal_app/2022-08-10T1247.142Z
outbound_listener127.0.0.1:15001OUTBOUND10.100.134.173/32,240.0.0.3/32toclient.default.dc1.internal.bc3815c2-1a0f-f3ff-a2e9-20d791f08d00.consul2022-07-18T1503.246Z
10.100.31.2/32,240.0.0.5/32tofrontend.default.dc1.internal.bc3815c2-1a0f-f3ff-a2e9-20d791f08d00.consul
Anytooriginal-destination

==>Routes(1)
NameDestinationClusterLastUpdated
public_listenerlocal_app/2022-08-10T1247.141Z

==>Secrets(0)
NameTypeLastUpdated

Terminating Gateways 增强功能

用户希望能够通过 Terminating Gateways 将路由连接到所有外部目的地(即注册到 Consul 的服务和未注册到 Consul 的服务)。目标是为离开其网格的流量建立众所周知的出口点,根据定义的访问策略授权连接,并确保流量在允许其出口服务网格之前满足安全要求。在 1.13 版本中,Consul 的终端网关得到了增强,可以使用透明代理与外部服务通信。

在 Consul 1.13 之前,下游服务可以通过 Terminating Gateways 访问外部服务,方法是通过静态配置的 upstream[2]公开服务,或者使用透明代理并使用其 Consul 分配的虚拟服务主机名[3]连接到服务。在某些情况下,可能需要或希望使用其真实主机名(例如www.example.com[4])而不是服务网格内部的地址与外部服务进行通信。

Consul 1.13 通过允许管理员创建一个允许的外部主机名或 IP 地址列表来实现与外部服务的无缝通信,这些外部主机名或 IP 地址可以被下游服务访问,并将这些连接汇集到 Terminating Gateways,该网关充当退出流量的中心出口点服务网格。

集群对等(测试版)

在大型企业中,平台团队[5]的任务通常是为整个组织提供标准的网络解决方案。通常这些团队已经对云提供商和运行时平台做出了自己的选择,但平台团队仍然需要启用安全的跨团队连接。为了使其发挥作用,该组织需要像 Consul 这样的共享网络技术,它可以在任何地方使用。Consul 在 1.13 中通过名为 cluster peering 的新功能增强了其跨团队功能。

集群对等之前

Consul 当前的联合模型基于这样一种理念,即所有Consul 数据中心[6](也称为集群)都由一个共同的管理控制来管理。假设安全密钥、策略和升级活动在整个联盟中进行协调。网格配置和服务身份也是全局的,这意味着特定于服务的配置、路由和意图[7]被假定由同一个团队管理,在所有数据中心都有单一的事实来源。

该模型还需要数据中心之间的全网状网络连接,以及与远程数据中心的相对稳定的连接。如果这与您管理基础设施的方式相匹配,WAN 联合提供了一个相对简单的解决方案:只需少量配置,每个服务都可以跨所有数据中心连接到所有其他服务。

20518f24-208f-11ed-ba43-dac502259ad0.png公共管理边界

WAN 联合的优点包括:

共享密钥

协调升级

静态主数据中心

然而,许多组织正在将 Consul 部署到由跨不同网络边界的独立团队管理的环境中。这些团队通常需要能够与一些(但不是全部)集群建立服务连接,同时保留操作自主权来定义特定于他们需求的服务网格配置,而不会与联盟中其他集群中定义的配置发生冲突。这突出了 WAN 联合模型中的一些限制:

依赖与主数据中心的连接。

假设整个联邦的资源相同。

难以支持复杂的中心辐射型拓扑。

使用集群对等

2074d1f0-208f-11ed-ba43-dac502259ad0.png单独的管理边界

通过集群对等,每个集群都是自治的,拥有自己的密钥、目录和访问控制列表 (ACL) 信息。没有主数据中心的概念。

集群管理员明确地与他们需要连接的集群建立关系(或“对等”)。对等集群会自动交换明确向其他对等方公开的服务的相关目录信息。

20865f06-208f-11ed-ba43-dac502259ad0.png集群对等

在 Consul 1.13 的开源版本中,集群对等将使运营商能够在 Consul 数据中心之间建立安全的服务连接,无论网络拓扑或团队所有权是什么样的。

集群对等提供了跨团队、集群和网络边界的任意组合连接服务的灵活性。好处包括:

细粒度连接

最小耦合

运营自主权

支持中心辐射型对等关系

集群对等使用户能够跨内部和外部组织边界安全地连接应用程序,同时保持相互 TLS 提供的安全性以及独立服务网格之间的自治。

Consul Enterprise 中的集群对等互连

Admin Partitions 是 Consul 1.11[8]中引入的一项企业功能,它为不同的团队提供改进的多租户,以便使用单个共享的 Consul 控制平面开发、测试和运行他们的生产服务。Admin Partitions[9]让您的平台团队可以操作共享服务器以支持多个应用程序团队和集群。但是,Consul 1.11 中的 Admin Partitions 仅支持连接单个区域中相同服务器上的分区。

现在,通过集群对等,分区所有者可以与位于同一 Consul 数据中心或不同区域的集群或分区建立对等。对等关系独立于任何其他团队的分区,即使它们共享相同的 Consul 服务器。

2099eaa8-208f-11ed-ba43-dac502259ad0.pngConsul Enterprise 中的集群对等

集群对等是 Consul 的一个令人兴奋的新增功能,它使运营商在跨组织边界连接服务方面具有更大的灵活性。

请注意,集群对等并不打算立即取代 WAN 联合。从长远来看,在集群对等互连具有与 WAN 联合的所有特性相同的特性之前,需要额外的功能。如果您已经在使用 WAN 联合,则无需立即将现有集群迁移到集群对等互连。

下一步

HashiCorp Consul 的目标是提供一个企业就绪、一致的控制平面来发现和安全连接任何应用程序。如需更多信息,请访问Consul 文档[10]。要开始使用 Consul 1.13,请从我们的发布页面下载相应的操作系统二进制文件,或安装支持 Consul 1.13 for Kubernetes 的最新Helm Chart 包。

审核编辑:彭静
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 容器
    +关注

    关注

    0

    文章

    481

    浏览量

    21876
  • 插件
    +关注

    关注

    0

    文章

    313

    浏览量

    22198
  • 网格安全
    +关注

    关注

    0

    文章

    4

    浏览量

    6070

原文标题:Consul 1.13 正式发布,包括这些重大更新

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    AWTK Designer 1.0.2有哪些新功能

    为不断提升用户体验,本次Designer 1.0.2增加了自定义控件和插件管理以及其他许多新功能,并对现有功能进行了优化,让我们一起来看看这些很酷的新功能吧!
    发表于 03-04 08:27

    iOS10.2正式版固件升级 添加新功能

    虽说此前的iPhone 6s“自动关机门”事件闹的沸沸扬扬,同时也给了苹果一个措手不及,但这并没有影响苹果发布新系统的节奏,据报道,在经过7个测试版之后,今早苹果正式推送了最新的iOS 10.2系统,虽然此次更新多数属于小修小补,但苹果确实为其添加了一些贴心的小
    发表于 12-13 16:35 7032次阅读

    iOS10.3公测试版来了!这些新功能是你想要的吗?

    就在首个iOS 10.3 beta 1开发者版本推出后2日,苹果推出了同一系统的公开测试版本。同样地公开测试者可以透过Apple beta软件计划网页登记Apple ID以及iOS装置,然后利用OTA形式进行更新。与开发者版本一样,iOS 10.3新增以下大量
    发表于 02-16 14:18 866次阅读

    你知道这个功能吗?ios10.3新功能:应用兼容性

    IOS10.3最新的测试版IOS10.3 BETA3,这个最新版本的IOS10.3增加了一个“应用兼容性”的新功能,但很多果粉在评论区吐糟表示并没有找到该功能
    发表于 02-25 11:35 5534次阅读

    iOS10.3 beta3测试版发布!十多个全新改变,全新体验

    苹果近日发布了 iOS 10.3 第三个测试版。苹果在 iOS 10.3 第三个测试版中增加了很多新功能,并修复了很多 Bug。下面统计了的 iOS 10.3 第三个测试版中的
    发表于 03-03 08:13 2106次阅读

    ios10.3beta1的测试版本已推广,ios10.3 AppStore内新增加两项新功能

    苹果公司已经推出 iOS 10.3 beta1 的测试版本,除了有 Find My AirPods 、Siri与Car Play改进、iPad键盘可浮动、安全隐私提升等新功能外,另还针对App Store与APP评分机制加入了不少功能
    发表于 03-08 16:33 1718次阅读

    苹果iOS10.3又有新功能!苹果发布iOS 10.3第三个测试版重要更新!

    苹果再次推出了iOS 10.3的更新,这次又有新功能的加入。苹果在iOS 10.3的新测试版中,在设置应用中加入了应用兼容性的选项,这主要是显示不兼容iOS系统应用的,而用户点击应用后可以看到兼容性的提示。
    发表于 03-23 11:18 1.1w次阅读

    苹果发布iOS 11.4的测试版

    iOS 11.4第五个测试版中,继续是以修复Bug、稳定系统为主,同时苹果还带来了一个新功能,而它就是iMessage云存储功能,其实这也不算很新了,之前曾被剔除,现在重新回来。
    的头像 发表于 05-17 10:08 2597次阅读

    iOS 11.4第六个测试版发布_iOS 11.4正式版还远吗?

    面了,而新的测试版版本号发生了变化,既从15F5077a调整为15F5079a。 本次测试版主要是对一些Bug的修复,还有对系统的稳定,而之前测试的不少新功能基本保持定型。 大家期待i
    的头像 发表于 05-20 02:46 3908次阅读

    iOS 12最新测试版公布 带来诸多新功能

    不久前苹果曾经推送了iOS 12开发者的第七个测试版,但是因为性能和优化问题,刚刚发布三小时就遭到紧急下架,今天苹果对开发者们推送了iOS 12的Beta 8版本,修复了之前的严重问题,并带来了多种
    的头像 发表于 08-25 09:10 3641次阅读

    英特尔软件工具2015测试版新功能

    此网络研讨会提供了有关英特尔®软件工具2015 Beta版的新功能的详细信息。
    的头像 发表于 11-14 06:59 2321次阅读

    苹果推出iOS13.1开发者测试版 iOS13测试版中删除的一些功能又加了回来

    苹果推出iOS13.1开发者测试版 iOS13测试版中删除的一些功能又加了回来
    的头像 发表于 08-28 17:32 2416次阅读

    谷歌发布Android Q的第六个测试版中中新增了哪些功能

    谷歌刚刚发布了Android Q的第六个测试版,同时也是最后一个,再发布就是Android Q正式版了。今天我们不妨一起来回顾一下谷歌将在Android Q系统中给我们带来哪些新功能,以及在单独的第六个测试版中新增了哪些
    的头像 发表于 08-15 18:31 2808次阅读

    小米正在开发MIUI 12的新功能

    审查了中国最新MIUI 12测试版的开发人员发现,该界面中存在重要功能。此功能似乎可以改善小米用户的相机体验。让我们仔细看看小米正在立即研究的这项新功能的细节。
    的头像 发表于 07-10 09:55 2144次阅读

    iOS 13.7 Beta 1测试版发布:基本没有发现什么新功能

    本来以为iOS 13.6.1已经是这一代系统的重点了,没想到苹果又不按套路出牌,昨天凌晨发布了 iOS 13.7 Beta 1 测试版,真是给我啪啪打脸...
    的头像 发表于 08-28 16:01 7564次阅读