开发者学堂课程【服务网格技术最佳实践:非容器应用与 K8s 工作负载服务网格化实践】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/752/detail/13225
非容器应用与 K8s 工作负载服务网格化实践
内容介绍:
三、非容器应用网格化第一弹:混合流量
三、非容器应用网格化第一弹:混合流量
1、下面讲解非容积应用网格化第二弹:混合流量。希望的拓口如图所示
即上游服务对下游服务进行调用的时候,这个服务有两种不同类型的负载。一种是 ACK 内的 pod,一种是 ECS 上的非容器应用。这张拓口图对应的概念式图如下
hello1出项的流量会进入到 hello2 的 serviceentry,serviceentry 会将流量分配到 hello2的 pod,以及通过 hello2 的 workloadentry 找到对应的 ECS 节点,从而请求到ECS 节点上的非容器应用。
2、这是一个极简的概略图,接下来结合前一个实验看一个相对复杂的例子。
相比前一个实验 hello 2这个服务的英语版本,从非容器应用迁移到 ACK 集群之内成为一个艺术 pod,这个实验对应的源代码如图。
接下来再详细给大家介绍一下。首先部署 ACK 的资源包括了 hello123 的 pod 以及service,然后是 ASM 的资源,这里可以看到省去了一个 ECS 的节点,
即 hello 2 的英语版,将它部署成为 ACK 之内的一个 pod,这里的关键是 workloadentry 标签,通过命令行生成的 workloadentry 标签和 hello2 的 pod 内的标签一致。这样相应的hello2 的 serviceentry 才能同时找到他们两个,两种不同的负载。对应的拓口如图所示
不知道你是否能从这张图中得出这样一个结论。非容器应用通过网格化可以逐步实现 Kubernetes 容器化,最终实现全面的云原生化。
2、最后展示非容器应用网格化的全过程。
可以看到最初非容器应用通过初始化 ASM 的 sildcar 成为网格化的外部服务,从而实现与 pod 的互访。接下来将其中的一个版本改造成 pod,从而实现了混合流量,进而可以将全部的非容器应用由 ACK 之类的 pod 进行替换。希望阿里云 service mesh 能助力非容器应用的云深化,为您的业务带来一些不同和惊喜。谢谢大家。