(转)九析带你轻松完爆 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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM