(转)九析带你轻松完爆 service mesh - istio profile 详述

istio 之 profile 

在介绍 istio profile 之前,我们先介绍一下电信的套餐:image2.png

        我们去电信开通手机业务时,一般都会选择手机套餐,不同的手机套餐会提供不同的增值服务。如上图所示,每个套餐就是一个 profile。istioctl 在安装 istio 时提供的 profile 概念与此类似,不同 profile 定义了不同的 istio 控制面行为。


istioctl profile

        使用如下命令查看 istioctl  profile:

istioctl profile list

        执行结果如下图所示:image3.png1、demo

        demo profile 仅供学习使用,并不合适作为生产环境。该 profile 会安装 ingressgateway、egressgateway、istio-pilot 等 istio 组件,同时会安装 grafana、istio-tracing、kiali、prometheus 等外部插件。使用如下命令查看 demo profile 的 istio 安装配置清单:

istioctl profile dump demo

        从 dump 出的 profile 来看,最重要的是两块配置:插件和组件。插件是指外部第三方依赖,比如 grafana、kiali、prometheus、tracing;组件是指 istio 自身的组件,比如 citadel、egressgateway、ingressgateway、pilot、policy、sidecarInjector、telemetry 等。如下截图所示:clipboard4.pngspacer.gif

        部分组件信息如下截图所示:

        总结 demo profile 的组件、插件的开关情况信息如下截图所示,其中 X 代表开启组件或插件:clipboard6.png

2、minimal

        minimal profile 仅仅开启了 pilot 组件,其他的组件或者插件都是关闭的状态,可以通过如下命令查看明细:

istioctl profile dump minimal > minimal.yaml

        如下图所示,minimal 插件都是关闭的:

        仅有 pilot 组件是开启状态:

        符合官方描述,如下图所示:

 3、 default

        default 是官方推荐的 istio 安装 profile。它在组件和插件的选择上做到了最合适,比如组件中它只开启了 ingressgateway、pilot,插件中只开启了 prometheus。如下图所示:clipboard10.png

4、 empty

        empty profile 不会开启任何组件或者插件。该 profile 的作用是提供一个干净的模板供有经验的 istio 使用者自定义配置。

5、 remote

        remote profile 在实际使用中情况并不多见。该 profile 提供共享控制面去操作多集群服务网格。remote profile 官方提供的组件、插件描述如下图所示,但是根据本人实际观察,发现并不准确,特别标注在下图中:

        dump 出的 ingress-gateway 组件应该处于开启状态:

        dump 出来的 pilot 组件应该处于开启状态:

6、separate

        官方宣称 separate profile 在未来的版本中将要被废弃掉了,所以就直接略过不提了吧。大家都生活得够艰难了,就不要给自己找麻烦了。


总结

        本小节介绍了 istioctl 安装 istio 时提供的各个 profile,已经可以覆盖 90% 上的工作场景了。但是有些技术小骚仍然不会满足,那么后续哥将会继续提供自定义配置安装的方法,请继续跟随九析的脚步,我们一同轻松完爆 istio。

转自:https://blog.51cto.com/14625168/2479111

posted @   人艰不拆_zmc  阅读(1394)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
历史上的今天:
2017-09-26 解决 SpringBoot 没有主清单属性
点击右上角即可分享
微信分享提示