Istio 正式成为 CNCF 毕业项目

“随着微服务架构成为现代应用程序编写的事实标准模式,连接、监控和保护容器和服务复杂环境已经成为工程师面临的挑战。” Google Cloud 工程总监 Cameron Etezadi 表示,“Google 为解决这个难题而创建和发展 Istio 作为综合解决方案,我们对此感到自豪。Istio 的毕业以及其作为全球最广泛采用的服务网格技术的领先地位,进一步证明了我们相信每个人都应该能够从安全、强大的基于服务的应用程序中受益。”

 

Istio 毕业对用户意味着什么?

对于那些已经将其用作基础设施核心部分的用户,CNCF 毕业是对他们将 Istio 视为现代应用程序网络的关键组件的愿景的验证。对于那些正在寻求现代化基础设施的用户,Istio 的毕业地位是一个强有力的信号,表明它是一个经过验证和强大的选择,可用于在生产中扩展关键应用程序。

对于用户来说,Istio 的毕业地位具有几个含义和优势:

稳定性和成熟度。 潜在用户可以信任该项目的稳定性,知道它已经满足了 CNCF 对毕业的严格标准。

安全性。 Istio 拥有长期而强大的 发布及时的安全公告 [3],以及行业最重要的安全思想领袖的战略指导。

生产就绪。 毕业地位为用户提供了必要的功能、可扩展性和健壮性,可用于生产环境。

采用和生态系统。 毕业项目已经在云原生生态系统中获得了显着的采用。它们被各种规模和行业的组织广泛认可和使用。Istio 的用户从其他采用者的经验中受益。毕业项目的广泛采用还促进了工具、扩展和集成的充满活力的生态系统,可以进一步增强其功能。

CNCF 支持和治理。 毕业项目也受益于 CNCF 的支持和治理。CNCF 提供资源、指导和协作框架和社区参与。用户可以信任该项目的长期可持续性和开发路线图,因为它是由致力于推进云原生技术的可信组织支持的。

社区和企业支持。 社区提供的集体知识、经验和支持提供了广泛用户群体的利益,可以获得诸如文档、论坛和用户组等资源,并在解决问题和解决问题方面提供潜在帮助。Istio 生态系统还享有来自众多供应商(包括 Tetrate)的企业支持,这些供应商为需要在需要时获得专家支持的组织提供了保证。

Sidecar NJet 作为 Istio 架构中的数据面,旨在替换原生数据面 Sidecar envoy。

 Istio架构

Istio服务网格在逻辑上分为数据平面和控制平面。

○ 数据平面由一组作为sidecars部署的智能代理(Envoy)组成。这些代理调解和控制微服务之间的所有网络通信。他们还收集并报告所有网格流量的遥测数据。

○ 控制平面对代理进行路由管理和配置。

下图显示了组成每个平面的不同组件:

image-20230619114848905

 Sidecar NJet架构

image-20230619114934619

api-gateway有两个主要模块:

○ xds 客户端 主要与istiod xds服务端通信,进行xds资源的订阅,基于grpc-go xds实现,grpc支持SotW ADS

○ NJet控制器

▪ 管理NJet进程,包括启动,reload

▪ xds资源类型数据进行解析、处理,生成NJet server、upstream、loction元数据,通过go tmpl技术生成NJet.conf文件

▪ 集成lua

部署sidecar

使用Sidecar NJet需要定制化部署Istio,自动注入NJet Sidecar。定制化部署Istio需要使用Istio-install仓库中的文件,此仓库是基于Istio-1.13.3 release修改的,需要修改Sidecar镜像名称,修改Sidecar 容器模板。

 安装Istio

拉取Istio-install仓库,修改default-istio.yaml文件values.global.proxy.image字段,设置为NJet的镜像名称,必须为包含“/”。 执行如下命令安装istiod:

Shell
./istio-1.13.3/bin/istioctl install --manifests=istio-1.13.3/manifests/  -f default-istio.yaml
 

注入sidecar njet

Pod level

给pod打标贴:sidecar.istio.io/inject: "true",以productpage为例,修改deploy,增加标贴。

Shell
kubectl edit deploy productpage-v1
 

image-20230619115924667

等待一会

image-20230619115939093

Namespace level

添加namespace label,以便后续在此ns部署应用时,通知Istio自动注入nginx sidecar,下面为default ns添加标贴。

Shell
kubectl label namespace default istio-injection=enabled
 

查看ns标贴

Shell
kubectl get ns --show-labels
 

image-20230619133132696

查看default ns pod状态

image-20230619133144887

删除details pod,触发sidecar注入

Shell
kubectl delete pod details-v1-5498c86cf5-6kcpw  
 

查看default ns pod状态,details pod注入NJet sidecar

image-20230619133337371

更多了解:https://gitee.com/njet-rd/docs/blob/master/zh-cn/OpenNJet%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C.md#3211-%E6%A6%82%E8%BF%B0

参考:https://tetrate.io/blog/istio-service-mesh-graduates-cncf/ 

优秀的个人博客,低调大师

微信关注我们

原文链接:https://my.oschina.net/u/6606114/blog/10088127

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。