高手问答第 231 期 —— 聊聊云原生服务网格 Istio

局长 发布于 08/12 23:00
阅读 7K+
收藏 28

Kubernetes 在容器编排领域已经成为无可争辩的事实标准;微服务化的服务与容器在轻量、敏捷、快速部署运维等特征上匹配,这类服务在容器中的运行也正日益流行;随着 Istio 的成熟和服务网格技术的流行,使用 Istio 进行服务治理的实践也越来越多,正成为服务治理的趋势;而 Istio 与 Kubernetes 的天然融合且基于 Kubernetes 构建,也补齐了 Kubernetes 的治理能力,提供了端到端的服务运行治理治理平台。

这都使得 Istio、微服务、容器及 Kubernetes 形成一个完美的闭环。基于 Kubernetes 构建应用编排能力,采用 Istio 构建服务治理能力,已经逐渐成为云原生应用的标准配置。

OSCHINA 本期高手问答( 8 月 13 日 - 8 月 19 日)我们将以服务网格为切入点展开讨论,包括服务网格的典型实现 Istio。当然讨论的内容可以外延到云原生的架构,Kubernetes 等成功的云原生的项目, 也可以专注 Istio 的原理、架构、实践和源码等细节。为此,我们邀请到了大家熟悉的嘉宾@idouba 来和大家一起探讨“云原生服务网格 Istio”。

嘉宾简介

张超盟,华为云应用服务网格首席架构师,先后负责华为云容器应用运维、微服务平台、云服务目录和服务网格等产品的架构设计与开发工作,在 Kubernetes 容器服务、微服务架构、大数据、应用性能管理、数据库中间件及 DevOps 工具等多个领域有深入研究与实践。开源爱好者,Istio 社区 Member。作为多年码农,个人比较推崇在任何时候任何领域都要写简洁高效好读的代码。在进入软件行业前,曾经是一名光荣的铁路建桥工人,参与了我国第一条客运专线的建设。

为了鼓励踊跃提问,@博文视点 会在问答结束后从提问者中抽取 5 名幸运会员赠予《云原生服务网格Istio:原理、实践、架构与源码解析》一书。

京东购买链接:https://u.jd.com/Ox1IQ9

OSChina 高手问答一贯的风格,不欢迎任何与主题无关的讨论和喷子。

下面欢迎大家就 Istio、云原生等相关问题向@idouba 提问,请直接回帖提问

加载中
0
H
Harrycc
@idouba 如何利用istio对现有的后台系统进行改造,必须全面更改接口吗?
i
idouba
不需要改造,访问流量拦截到就可以进行治理。
0
光石头
光石头

@idouba 1.mixer的改进计划是怎样的?会直接砍掉吗? 2.istio对于静态资源(js,css,image)的缓存怎么实现呀? 

i
idouba
1. 未来V2的规划就是将原来单独Mixer服务组件做的事情放到Envoy中扩展提供,不会直接干掉,会慢慢演进,理论上还可以在中间过程共存; 2. Istio不管这些静态资源的缓存。
0
noday
noday

@idouba istio到底如何落地呐,目前很少看到有实际应用,他能解决目前微服务体系的哪些问题?

i
idouba
随着大家对ServiceMesh这种形态的认可,落地正在慢慢在多起来了。 管理服务间访问的各种事情,以一种非侵入的方式。这个管理包括访问流量的治理,访问安全,访问过程的遥测等,对应我们实际多种场景。
0
左华栋
左华栋
@idouba k8s + istio 中,遇到一些配置文件,并且会不定时更新,应该如何维护? 使用 consul ?
左华栋
左华栋
比如程序中使用的 rbac 权限控制的配制文件,(csv) 的。
i
idouba
什么配置文件?详细说下。 K8s场景中可以通过ConfigMap维护配置。
0
蠍的揅途
蠍的揅途
想问下,用istio后,网关一般都用什么去实现?istio是现在最好的服务网格落地方案么?
蠍的揅途
蠍的揅途
回复 @idouba : 好的谢谢,我根据您说的仔细看看
i
idouba
可以参照书中3.1.5内容。“在Istio中通过Gateway访问网格内的服务。这个Gateway和其他网格内的Sidecar一样,也是一个Envoy,从Istio的控制面接收配置,统一执行配置的规则。Gateway一般被发布为Loadbalancer类型的Service,接收外部访问,执行治理、TLS终止等管理逻辑,并将请求转发给内部的服务。”
0
一秒钟的永恒
一秒钟的永恒

@idouba Hi, 基于istio服务网格,(Nginx + PHP) 结合 spring boot 的最佳微服务方案您推荐怎么去做?

i
idouba
Spring boot作为开发框架,开发你的服务,服务间访问可以通过Istio进行治理。
0
ichord
ichord

@idouba 你好 华为对这个方案的演进过程是什么样的 新方案是如何逐步对旧系统进行落地的

i
idouba
你指的是哪个方案?
0
枯藤KT
枯藤KT

@idouba istio做认证和授权,jwksUri 配置的路径由集群中的认证服务提供,为什么无效呢?把接口数据拿出来放到外面的nginx中,就可以了,难道是因为在集群中部署认证服务时,出现了网络环路吗?还有为什么生成的token一定要有iss字段呢?

枯藤KT
枯藤KT
回复 @idouba :上面jwksUri中,host部分是部署的认证服务名,这种情况下其它服务好像无法访问这个地址去验证token。 当把认证服务部署到集群外时,比如公网上,jwksUri配置为外网的路径时,其它服务就可以通过这个地址去验证token,这个是jwk的流程。另外spring中生成的token没有iss字段,所以用token去访问服务时,istio会不通过,是不是可以不验证这个iss
枯藤KT
枯藤KT
回复 @idouba : origins: - jwt: issuer: "xxx" jwksUri: "http://auth-svc:8080/.well-known/jwks.json" principalBinding: USE_ORIGIN 用istio做认证功能时,这个jwksUri配置的路径,是由一个部署在k8s但是在istio代理后的服务提供
i
idouba
能详细描述下问题吗
0
海参拉面
海参拉面

我是来围观的,这方面还不太了解

0
leon_rock
leon_rock

@idouba istio不在k8s环境下,推荐使用吗

i
idouba
istio定位并不是仅针对k8s平台,还有vm场景,据我了解国外有些公司使用istio作为混合场景下服务治理的方案
返回顶部
顶部