首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Istio 运维实战系列(2):让人头大的『无头服务』-上

由于 Headless Service 的特殊性,Istio 中对 Headless Service 的处理和普通 Service 有所不同,在应用迁移到 Isito 的过程中也常常遇到由于 Headless..."match": { "tlsMode": "istio" #对带有 "tlsMode": "istio" lable 的 endpoint,启用 mTLS },...Cluster 中有两部分 mTLS 相关的配置:tlsMode-istio 和 tlsMode-disabled。...这样同时兼容了服务器端支持和不支持 mTLS 两种情况。 下图展示了 Istio 中是如何通过 endpoint 的标签来兼容 mTLS 和 plain TCP 两种情况的。...可以通过创建Destination Rule 禁用 Headless Service 的 mTLS 来规避该问题。该故障在1.6版本中已经修复,建议尽快升级到 1.6 版本,以彻底解决本问题。

79520

Istio服务网格:为忙碌人士而生

在这篇文章中,我将解释什么是 Istio,它为什么有用以及它是如何工作的。...服务需要以可靠、安全和高效的方式进行通信。Istio 帮助你在三个关键领域做到这一点: 管理流量: Istio 使你能够控制流量在服务之间如何流动。...你可以将流量拆分到服务的不同版本之间,在部署期间重新路由请求,或者设置重试和超时策略。保护通信: Istio 使启用 双向 TLS (mTLS) 变得容易。...Istio 的可观测性工具可以让你清楚地了解系统的工作方式。你可以及早发现问题,并使你的服务运行得更加顺畅。 安全:启用 mTLS 和访问控制 安全是管理微服务时的一大问题。...Istio 使实施 双向 TLS (mTLS) 变得容易,双向 TLS (mTLS) 会加密服务之间的所有通信,并确保服务在交换数据之前相互验证身份。

16210
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Istio 运维实战系列(2):让人头大的『无头服务』-上

    Istio 中『无头服务』的 mTLS 故障 由于 Headless Service 的特殊性,Istio 中对 Headless Service 的处理和普通 Service 有所不同,在应用迁移到..."match": {          "tlsMode": "istio"  #对带有 "tlsMode": "istio" lable 的 endpoint,启用 mTLS         },         ...Cluster 中有两部分 mTLS 相关的配置:tlsMode-istio 和 tlsMode-disabled。...这样同时兼容了服务器端支持和不支持 mTLS 两种情况。 下图展示了 Istio 中是如何通过 endpoint 的标签来兼容 mTLS 和 plain TCP 两种情况的。 ?...可以通过创建 Destination Rule 禁用 Headless Service 的 mTLS 来规避该问题。该故障在1.6版本中已经修复,建议尽快升级到 1.6 版本,以彻底解决本问题。

    3.6K2710

    使用服务网格增强安全性:Christian Posta探索Istio的功能

    在不同的语言、框架、运行时等环境中执行这些操作,会造成许多组织无法承受的操作负担。 此外,在每种语言中找到的实现之间很难保持一致性,更不用说在需要更改或发现错误时同步升级它们了。...网络安全的重要性 应用程序团队关心的另一个水平问题是安全性,这个问题很难解决。在某些情况下,安全是事后才考虑的事情,我们试图在最后一刻把它硬塞进我们的应用程序。为什么?因为做好安全工作是很困难的。...在我的TLS/HTTPS配置中启用“——non - secure”标志不是很容易吗? 错误配置这种类型的东西是非常危险的。Istio提供了一些帮助。...要启用mTLS,我们可以使用如下配置: apiVersion: “networking.istio.io/v1alpha3” kind: “DestinationRule” metadata: name...它提供了很好的api和配置对象来在应用程序服务之外完成这一任务。它以一种高度分散的方式实现,旨在对失败具有高度的弹性。

    1.4K20

    【译文连载】 理解Istio服务网格(第七章 安全)

    不同平台上的Istio采用不同的服务标识。...mTLS是TLS协议的一种补充和增强。 在Istio服务网格中,mTLS在有注入边车Istio代理的两个微服务之间启用加密通信。默认地,示例程序中的三个服务之间的通信是明文的,只使用了HTTP协议。...未使用mTLS时的三个终端的输出 要在Istio中启用mTLS,只需要使用Policy和DestionationRule对象。...在启用了mTLS后,你需要利用一个网关来获得端到端的加密通信。Istio有它自己的入口网关,名为Istio Gateway,它暴露URL给到网格外面,支持Istio的监控、流控和策略等功能。...请注意,使用Istio RBAC之前要启用mTLS,因为服务器端要利用mTLS获取客户端的身份信息。

    1.1K20

    Cilium服务网格的下一代双向认证

    日常中,我们每天都在使用TLS来实现保密性、完整性和服务端认证,但通常不依赖于双向认证,即TLS会话能够确保我们与正确的服务器通信,但我们随后依靠密码或不同形式的认证方式来认证网络服务。...双向认证通常使用公钥和私钥对或单一共享密钥来实现。这两种形式都依赖于使用加密的信息进行握手。下面是一个关于TLS 1.3的握手方式的例子。...而今,mTLS是确保云原生应用程序中微服务之间的通信安全的首选协议,但它不是唯一的方式。...没有额外的双向认证(基线) 启用WireGuard以保证完整性和保密性 由Istio提供的Sidecar mTLS模型 注意:下面的基准已经更新,还包括了Istio在禁用协议嗅探特效以使Istio进入纯...对于Istio来说,因为默认启用的协议嗅探可能会导致HTTP处理,即使没有声明要解析HTTP的意图,因此,协议嗅探在本次测试中被禁用。

    66820

    Istio 安全基础

    Istio 通过在服务之间注入 Sidecar 代理,来实现对服务之间的流量进行控制和监控,从而实现服务之间的安全通信。 接下来我们将从证书管理、认证、授权等几个方面来学习 Istio 的安全机制。...Istio 中主要包含下面两种认证方式: Istiod 身份认证 Istiod 采用其内置的 CA 服务器为自身签发一个服务器证书,并采用该服务器证书对外提供基于 TLS 的 gPRC 服务。...这里需要注意的是不同版本的 Kubernetes 集群下面的 ServiceAccount Token 生成方式并不一样,但最终都是通过改 Token 来进行身份认证的。...mtls: mode: STRICT 上面的资源对象将为 bar 命名空间中的 httpbin 应用启用严格模式的 mTLS,其他工作负载不受影响。...JWT 的 header 中有 kid 属性,第二步在 jwks 的公钥列表中,中找到 kid 相同的公钥。 使用找到的公钥进行 JWT 签名验证。

    30610

    Kubernetes中使用mTLS保护微服务通信

    启用双向 TLS(mTLS)可提高安全性,本文将详述 mTLS 的使用入门方法。...mTLS 建立在传输层安全性(TLS)协议的基础之上,这是通过加密来保护互联网通信安全的常用方式。但是,mTLS 通过实施通信双方的相互认证将安全性提高了一个台阶。...由于我们将使用 Istio 来实现 mTLS,所以您需要在 Kubernetes 集群中安装 Istio。按照与您的环境相关的 Istio 安装文档操作。 Helm(可选但推荐)。...启用 Sidecar 注入 Istio 利用 sidecar 容器将 mTLS 等功能注入到应用程序 Pod 中。...请记住,虽然本教程提供了全面指南,但实际过程可能会因您的具体环境和需求而有所不同。请始终参考 Istio 最新官方文档。 接下来呢?

    16110

    环境网格:无边车Istio能否让应用程序更快?

    使用 Pod 反亲和性规则,我确保 Fortio 被放置在与 details 服务不同的节点上。 初始测试结果 我从 Istio v1.22.3 版本安装了 Bookinfo 应用程序。...为什么应用程序在环境网格中有时更快? 我们一直被教导服务网格会增加延迟。Quentin 的结果在这里得到了复制,显示了一个工作负载在通过服务网格运行时 更快 的情况。发生了什么事?...为什么我只在 details 服务中观察到这种现象,而没有在其他任何 Bookinfo 服务中观察到? 进一步研究后,我发现我们的 Fortio 负载工具 默认情况下启用了连接保持活动。...第三个理论 继续查看表 3 中的测试结果,为什么在存在额外的跳跃到 ztunnel pod 以及环境提供的重大优势(例如 Fortio 和 details 服务之间的 mTLS 和 L4 可观察性)的情况下...这非常显著,并解释了延迟改进的大部分原因,以及 Fortio pod 在环境启用时峰值时间的 CPU 减少约 25%。系统调用的减少超过了 mTLS 和 ztunnel 其他功能的成本。

    18410

    istio的安全(概念)

    架构如下,可以看到各个Envoy代理直接可以使用mTLS实现(默认启用ISTIO_MUTUAL) ![](....在很多非istio的客户端和非istio的服务端架构中,当计划将服务端迁移到启用mutual TLS的istio上时都会遇到问题。.../images/istio security4.png) istio会使用上述两种认证方式,以及凭证中声明的其他信息(如果适用)将身份信息输出到下一层:授权。...字段或使用空的selector字段 指定负载策略:定义在常规命名空间中的策略,使用非空的selector字段 对等方和请求身份验证策略对selector字段遵循相同的层次结构原则,但Istio会以稍微不同的方式组合和应用它们...当多个策略匹配到一个负载时,istio会将所有的规则结合起来(就像一个独立的策略一样)。这种方式对于编写可以接受来自不同提供方的JWT的工作负载来说非常有用。

    1.4K30

    Istio系列一:Istio的认证授权机制分析

    Istio通过以上四个组件的协同工作可实现服务间的身份认证以及授权鉴权功能。 下面从Istio在Kubernetes中的工作流程来举例,如下图所示: ?...图2 Istio拓扑图 具体工作流程可描述如下: Kubernetes某集群节点新部署了服务A和服务B,此时集群中有两个Pod被启动,每个Pod由Envoy代理容器和Service容器构成,在启动过程中...这里会有两种级别的访问控制: 命名空间级别 指定命名空间内的所有(或部分)服务可以被另一命名空间的所有(或部分)服务所访问,需要用户创建ServiceRole、ServiceRoleBinding策略来实现此过程...在下面实验里,我们会在 Service account 的基础上启用访问控制,为了给不同的微服务以不同的访问授权,需要建立一系列不同的 Service account,用这些账号来分别运行 Bookinfo...mTLS和更细粒度的访问策略;还有大量的数据需要审计工具来进行审计。

    2.7K20

    Service Mesh · Istio · 以实践入门

    ,转发到Istio提供的虚拟服务器组 示例:Hello World 示例代码在源码的 samples 目录中 cd samples/hello-world 注入 Istio Sidecar 的注入有两种方式...这是一个典型的蓝绿部署方式,后续我们可以通过配置 Istio ,来调整它们的流量权重,这是真实生产环境版本升级的场景。...,docker.io/istio/proxyv2:1.3.2 app=helloworld,version=v2 并启用一个简单的gateway来监听,便于我们访问测试页面$ kubectl apply...在 istioctl 中有两个命令 authn 和 authz ,这样就可以区分它们。 认证和鉴权分别做什么,在后文两节会具体介绍。这里先说一下它们的关系。...那么在 Istio 体系中,Authentication 是基于 mTLS 机制来做的,那么开启mTLS之后,就可以设置一些 AuthorizationPolicy 来做访问控制。细节可以看下文。

    1.1K20

    Istio从A到Y

    你可以通过信任服务的身份而不是 IP 地址或 DNS 名称(它们很容易被欺骗)来允许不同的服务以安全和受控的方式相互通信。 那 Istio 呢?...区别在于 Ingress 直接指向服务,而网关允许不同的功能以不同的方式或通过更多监控来重定向流量。 网关是传入流量进入集群的入口点。...在我们的金丝雀部署中,我们将流量随机重定向到“reviews”服务的不同版本,但为什么不根据其他标准重定向呢?...因此,由于 mTLS 的性质,发送方和接收方都可以相互验证。 默认情况下,Istio 中的 mTLS 以“宽松”模式启用。这意味着服务可以在 HTTP 或 HTTPS 中通信。...为此,我们将比较三种不同场景下的两种通信方法(HTTP 和 TCP): 无 Istio; 有 Istio; Istio 在“环境”模式下。

    44710

    Istio Helm Chart 详解 - Mixer

    而从 enable 位置来看,两个组件是不推荐单独启用的,但是 HPA 是可以分别设置的。...service.yaml 和 HPA 的情况类似,这里用循环的方式生成了两个 Service,分别为 istio-policy 和 istio-telemetry。...grpc-mixer-mtls: 15004:启用 mtls 的时候使用的 API 端口。如果启用了 controlPlaneAuthPolicy,则使用该端口进行 Mixer API 通信。...logentry:定义了两个不同用途的日志模板实例,用不同属性组成不同内容,用于记录访问日志: accesslog tcpaccesslog metric 对象用于定义遥测数据的结构清单: requestcount...总结 在 Istio 中 Mixer 一直是一个备受争议的组件,一方面表达了 Istio 的远大设计目标,另一方面因为自身结构以及众多 Adapter 的缺陷,持续遭到用户诟病,因此上也是目前为止部署体系变化最大的一块

    75220
    领券