Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 3

架构图:

组件介绍:
 Proxier: 负责配置内核的 iptables 规则,将请求拦截到 EdgeMesh 进程内
 DNS: 内置的 DNS 解析器,将节点内的域名请求解析成一个服务的集群 IP
 Traffic: 基于 Go-chassis 框架的流量转发模块,负责转发应用间的流量
 Controller: 通过 KubeEdge 的边缘侧 list-watch 能力获取 Service、Endpoints、Pod
等元数据
工作原理:
 EdgeMesh 通过 KubeEdge 边缘侧 list-watch 的能力,监听 Service、Endpoints 等元
数据的增删改,再根据 Service、EndPoints 的信息创建 iptables 规则.
 EdgeMesh 使用与 K8s Service 相同的 Cluster IP 和域名的方式来访问服务
 当 client 访 问 服 务 的 请 求 到 达 带 有 EdgeMesh 的 节 点 后 , 它 首 先 会 进 入 内 核 的
iptables
 EdgeMesh 之前配置的 iptables 规则会将请求重定向,全部转发到 EdgeMesh 进程的
40001 端口里(数据包从内核态->用户态)
 请求进入 EdgeMesh 进程后,由 EdgeMesh 进程完成后端 Pod 的选择(负载均衡在这
里发生),然后将请求发到这个 Pod 所在的主机上
测试过程:
测试 tcp 协议:(环境:1master,2edgenode)
1、首先在 edge2 上部署一个应用:如下图

2、创建一个 service tcp-echo-service 暴露后端应用,如下


3、在 edge1 节点上 telnet 该服务,确保访问成功(访问格式:servicename.namespacename
port)

流量过程如下图:
Edgemesh 内置的 dns 服务器会将域名解析成具体的 service vip,接着根据 iptables 规则访问
到后端 pod。

测试 websocket 协议
1、在边缘节点 1 部署支持 websocket 协议的容器应用和相关服务

应用 yaml 文件如下:
2、创建 service ws-svc,内容如下:

3、在 edge1 节点,进入容器,访问 websocket 服务如下:

服务访问成功,该测试案例主要证明 edgemesh 支持 websocket 协议

测试负载均衡:
1、

You might also like