Istio 对虚拟机支持史话( 三 )


智能 DNS 代理
Istio 1.8 中引入了智能 DNS 代理[11] , 虚拟机访问 mesh 内服务无需再配置/ect/hosts , 如下图所示 。

Istio 对虚拟机支持史话

文章插图
图三:引入了智能 DNS 代理后虚拟机访问 mesh 内服务的流程
DNS proxy 是用 Go 编写的 Istio代理 。上的 Istio agent 将附带一个由动态编程的缓存 DNS 代理 。来自应用程序的 DNS 查询会被 pod 或 VM 中的 Istio 代理透明地拦截和服务 , 该代理会智能地响应 DNS 查询请求 , 可以实现虚拟机到服务网格的无缝多集群访问 。
至此 , Istio 1.8 中引入的及智能 DNS 代理 , 补足了 Istio 对虚拟机支持的最后一块短板 , 使得部署在虚拟机中的遗留应用可以跟中的 Pod 一样完全等同看待 。
总结
在这部 Istio 支持虚拟机的奥德赛中 , 我们可以看到:从最初的将 mesh 中的 DNS暴露给外部 , 在虚拟机中安装配置 , 到最后的使用智能 DNS 代理 , 并使用、和等资源抽象 , 逐步实现了虚拟机和 pod 的统一管理 。本文仅仅是针对单集群的情况 , 在实际的生产中使用还远远不够 , 我们还需要处理安全、多集群、多租户等诸多问题 , 欢迎关注的旗舰产品[12]了解更多关于 Istio 应用在生产上的最佳实践 。
引用链接
[1]之前的博客:
[2]智能 DNS 代理:
【Istio 对虚拟机支持史话】[3]Istio Mesh :
[4]Istio中的流量路由机制分析 一节:
[5]:
[6]1.6 版本:
[7]流量管理:
[8]:
[9]:
[10]安全风险:
[11]智能 DNS 代理:
[12]:
加入云原生社区 Istio SIG
扫描下面的二维码加入云原生社区 Istio SIG ,  与 Istio 专家及爱好者们共同交流 。
Istio 对虚拟机支持史话

文章插图