系列文章:


总目录索引:九析带你轻松完爆 istio 服务网格系列教程

目录

1 前言

2 istio 之 profile

3 istioctl profile

    3.1 demo

    3.2 minimal

    3.3 default

    3.4 empty

    3.5 remote

    3.6 separate

4 总结


1 前言

        如果你对博客有任何疑问,请告诉我。第十章 九析带你轻松完爆 service mesh - istio profile 详述_第1张图片

        你可以从下面截图中获取免费的、更生动的视频资料:第十章 九析带你轻松完爆 service mesh - istio profile 详述_第2张图片



2 istio 之 profile

        在介绍 istio profile 之前,我们先介绍一下电信的套餐:第十章 九析带你轻松完爆 service mesh - istio profile 详述_第3张图片

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


3 istioctl profile

        使用如下命令查看 istioctl  profile:

istioctl profile list

        执行结果如下图所示:第十章 九析带你轻松完爆 service mesh - istio profile 详述_第4张图片

3.1 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 等。如下截图所示:第十章 九析带你轻松完爆 service mesh - istio profile 详述_第5张图片spacer.gif

        部分组件信息如下截图所示:第十章 九析带你轻松完爆 service mesh - istio profile 详述_第6张图片

        总结 demo profile 的组件、插件的开关情况信息如下截图所示,其中 X 代表开启组件或插件:第十章 九析带你轻松完爆 service mesh - istio profile 详述_第7张图片

3.2 minimal

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

istioctl profile dump minimal > minimal.yaml

        如下图所示,minimal 插件都是关闭的:第十章 九析带你轻松完爆 service mesh - istio profile 详述_第8张图片

        仅有 pilot 组件是开启状态:第十章 九析带你轻松完爆 service mesh - istio profile 详述_第9张图片

        符合官方描述,如下图所示:第十章 九析带你轻松完爆 service mesh - istio profile 详述_第10张图片

3.3 default

        default 是官方推荐的 istio 安装 profile。它在组件和插件的选择上做到了最合适,比如组件中它只开启了 ingressgateway、pilot,插件中只开启了 prometheus。如下图所示:第十章 九析带你轻松完爆 service mesh - istio profile 详述_第11张图片

3.4 empty

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

3.5 remote

        remote profile 在实际使用中情况并不多见。该 profile 提供共享控制面去操作多集群服务网格。remote profile 官方提供的组件、插件描述如下图所示,但是根据本人实际观察,发现并不准确,特别标注在下图中:第十章 九析带你轻松完爆 service mesh - istio profile 详述_第12张图片

        dump 出的 ingress-gateway 组件应该处于开启状态:第十章 九析带你轻松完爆 service mesh - istio profile 详述_第13张图片

        dump 出来的 pilot 组件应该处于开启状态:第十章 九析带你轻松完爆 service mesh - istio profile 详述_第14张图片

3.6 separate

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


4 总结

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