@@ -151,7 +151,7 @@ EdgeMesh 满足边缘场景下的新需求(如边缘资源有限,边云网
151151
152152#### ** 工作原理**
153153
154- - EdgeMesh 通过 KubeEdge 边缘侧 list-watch 的能力,监听Service、Endpoints等元数据的增删改,再根据 Service、EndPoints 的信息创建iptables规则
154+ - EdgeMesh 通过 KubeEdge 边缘侧 list-watch 的能力,监听Service、Endpoints等元数据的增删改,再根据 Service、Endpoints 的信息创建iptables规则
155155- EdgeMesh 使用与 K8s Service 相同的 Cluster IP 和域名的方式来访问服务
156156- 当 client 访问服务的请求到达带有EdgeMesh的节点后,它首先会进入内核的 iptables
157157- EdgeMesh 之前配置的 iptables 规则会将请求重定向,全部转发到 EdgeMesh 进程的40001端口里(数据包从内核态->用户态)
@@ -161,7 +161,7 @@ EdgeMesh 满足边缘场景下的新需求(如边缘资源有限,边云网
161161
162162## 入门指南
163163#### 预备知识
164- 在使用edgemesh之前 ,您需要先了解以下预备知识:
164+ 在使用EdgeMesh之前 ,您需要先了解以下预备知识:
165165
166166- 使用 EdgeMesh 能力时,必须要求 Pod 要开启一个 HostPort,例子可看 /examples/ 目录下面的文件
167167- 使用 DestinationRule 时,要求 DestinationRule 的名字与相应的 Service 的名字要一致,EdgeMesh 会根据 Service 的名字来确定同命名空间下面的DestinationRule
@@ -171,7 +171,7 @@ EdgeMesh 满足边缘场景下的新需求(如边缘资源有限,边云网
171171
172172#### 部署
173173
174- 在边缘节点,关闭 edgemesh ,打开 metaserver ,并重启 edgecore
174+ 在边缘节点,关闭 edgeMesh模块 ,打开 metaServer模块 ,并重启 edgecore
175175
176176``` shell
177177$ vim /etc/kubeedge/config/edgecore.yaml
@@ -189,7 +189,7 @@ modules:
189189$ systemctl restart edgecore
190190```
191191
192- 在云端,开启 dynamic controller 模块,并重启 cloudcore
192+ 在云端,开启 dynamicController 模块,并重启 cloudcore
193193
194194``` shell
195195$ vim /etc/kubeedge/config/cloudcore.yaml
@@ -200,29 +200,28 @@ modules:
200200..
201201```
202202
203- 在边缘节点,查看 list-watch 是否开启
204203
205204``` shell
206- $ curl 127.0.0.1:10550/api/v1/services
207- {"apiVersion":"v1","items":[{"apiVersion":"v1","kind":"Service","metadata":{"creationTimestamp":"2021-04-14T06:30:05Z","labels":{"component":"apiserver","provider":"kubernetes"},"name":"kubernetes","namespace":"default","resourceVersion":"147","selfLink":"default/services/kubernetes","uid":"55eeebea-08cf-4d1a-8b04-e85f8ae112a9"},"spec":{"clusterIP":"10.96.0.1","ports":[{"name":"https","port":443,"protocol":"TCP","targetPort":6443}],"sessionAffinity":"None","type":"ClusterIP"},"status":{"loadBalancer":{}}},{"apiVersion":"v1","kind":"Service","metadata":{"annotations":{"prometheus.io/port":"9153","prometheus.io/scrape":"true"},"creationTimestamp":"2021-04-14T06:30:07Z","labels":{"k8s-app":"kube-dns","kubernetes.io/cluster-service":"true","kubernetes.io/name":"KubeDNS"},"name":"kube-dns","namespace":"kube-system","resourceVersion":"203","selfLink":"kube-system/services/kube-dns","uid":"c221ac20-cbfa-406b-812a-c44b9d82d6dc"},"spec":{"clusterIP":"10.96.0.10","ports":[{"name":"dns","port":53,"protocol":"UDP","targetPort":53},{"name":"dns-tcp","port":53,"protocol":"TCP","targetPort":53},{"name":"metrics","port":9153,"protocol":"TCP","targetPort":9153}],"selector":{"k8s-app":"kube-dns"},"sessionAffinity":"None","type":"ClusterIP"},"status":{"loadBalancer":{}}}],"kind":"ServiceList","metadata":{"resourceVersion":"377360","selfLink":"/api/v1/services"}}
205+ $ pkill cloudcore
206+ $ nohup /usr/local/bin/cloudcore > /var/log/kubeedge/cloudcore.log 2>&1 &
208207```
209208
210- 构建 edgemesh 容器镜像 (非必须)
209+ 在边缘节点,查看 list-watch 是否开启
211210
212211``` shell
213- # 在项目目录下执行如下操作
214- $ docker build -t edgemesh:0.1 -f build/Dockerfile .
212+ $ curl 127.0.0.1:10550/api/v1/services
213+ {"apiVersion":"v1","items":[{"apiVersion":"v1","kind":"Service","metadata":{"creationTimestamp":"2021-04-14T06:30:05Z","labels":{"component":"apiserver","provider":"kubernetes"},"name":"kubernetes","namespace":"default","resourceVersion":"147","selfLink":"default/services/kubernetes","uid":"55eeebea-08cf-4d1a-8b04-e85f8ae112a9"},"spec":{"clusterIP":"10.96.0.1","ports":[{"name":"https","port":443,"protocol":"TCP","targetPort":6443}],"sessionAffinity":"None","type":"ClusterIP"},"status":{"loadBalancer":{}}},{"apiVersion":"v1","kind":"Service","metadata":{"annotations":{"prometheus.io/port":"9153","prometheus.io/scrape":"true"},"creationTimestamp":"2021-04-14T06:30:07Z","labels":{"k8s-app":"kube-dns","kubernetes.io/cluster-service":"true","kubernetes.io/name":"KubeDNS"},"name":"kube-dns","namespace":"kube-system","resourceVersion":"203","selfLink":"kube-system/services/kube-dns","uid":"c221ac20-cbfa-406b-812a-c44b9d82d6dc"},"spec":{"clusterIP":"10.96.0.10","ports":[{"name":"dns","port":53,"protocol":"UDP","targetPort":53},{"name":"dns-tcp","port":53,"protocol":"TCP","targetPort":53},{"name":"metrics","port":9153,"protocol":"TCP","targetPort":9153}],"selector":{"k8s-app":"kube-dns"},"sessionAffinity":"None","type":"ClusterIP"},"status":{"loadBalancer":{}}}],"kind":"ServiceList","metadata":{"resourceVersion":"377360","selfLink":"/api/v1/services"}}
215214```
216215
217- 部署 edgemesh 组件
216+ 部署 edgemesh-agent 组件
218217
219218``` shell
220219# 请将03-configmap.yaml里面的subNet配置成kube-apiserver的service-cluster-ip-range的值
221220# 你可以在k8s master节点上的/etc/kubernetes/manifests/kube-apiserver.yaml文件中找到这个配置项的值
222- $ kubectl apply -f build/kubernetes/edgemesh/03-configmap.yaml
223- configmap/edgemesh-cfg created
224- $ kubectl apply -f build/kubernetes/edgemesh/04-daemonset.yaml
225- daemonset.apps/edgemesh created
221+ $ kubectl apply -f build/agent/ kubernetes/edgemesh-agent /03-configmap.yaml
222+ configmap/edgemesh-agent- cfg created
223+ $ kubectl apply -f build/agent/ kubernetes/edgemesh-agent /04-daemonset.yaml
224+ daemonset.apps/edgemesh-agent created
226225```
227226
228227
@@ -282,7 +281,7 @@ $ ./client --addr ws-svc.edgemesh-test:12348
282281
283282负载均衡功能需要添加 DestinationRule 用户自定义资源
284283``` shell
285- $ kubectl apply -f build/istio/destinationrule-crd.yaml
284+ $ kubectl apply -f build/crds/ istio/destinationrule-crd.yaml
286285customresourcedefinition.apiextensions.k8s.io/destinationrules.networking.istio.io created
287286```
288287
@@ -311,22 +310,22 @@ EdgeMesh ingress gateway 提供了外部访问集群里服务的能力。
311310创建 Gateway 和 VirtualService 用户自定义资源
312311
313312``` shell
314- $ kubectl apply -f build/istio/gateway-crd.yaml
313+ $ kubectl apply -f build/crds/ istio/gateway-crd.yaml
315314customresourcedefinition.apiextensions.k8s.io/gateways.networking.istio.io created
316- $ kubectl apply -f build/istio/virtualservice-crd.yaml
315+ $ kubectl apply -f build/crds/ istio/virtualservice-crd.yaml
317316customresourcedefinition.apiextensions.k8s.io/virtualservices.networking.istio.io created
318317```
319318
320319部署 edgemesh-gateway
321320
322321``` shell
323- $ kubectl apply -f build/kubernetes/edgemesh-gateway/03-configmap.yaml
322+ $ kubectl apply -f build/agent/ kubernetes/edgemesh-gateway/03-configmap.yaml
324323configmap/edgemesh-gateway-cfg created
325- $ kubectl apply -f build/kubernetes/edgemesh-gateway/04-deployment.yaml
324+ $ kubectl apply -f build/agent/ kubernetes/edgemesh-gateway/04-deployment.yaml
326325deployment.apps/edgemesh-gateway created
327326```
328327
329- 创建 gateway 资源对象和路由规则 VirtualService
328+ 创建 Gateway 资源对象和路由规则 VirtualService
330329
331330``` shell
332331$ kubectl apply -f example/hostname-lb-random-gateway.yaml
@@ -338,15 +337,15 @@ destinationrule.networking.istio.io/hostname-lb-edge created
338337virtualservice.networking.istio.io/edgemesh-gateway-svc created
339338```
340339
341- 查看 edgemesh-gateway 是否部署成功
340+ 查看 edgemesh-gateway 是否创建成功
342341
343342``` shell
344343$ kubectl get gw -n edgemesh-test
345344NAME AGE
346345edgemesh-gateway 3m30s
347346```
348347
349- 最后,使用 IP 和 VirtualService 暴露的端口来进行访问
348+ 最后,使用 IP 和 Gateway 暴露的端口来进行访问
350349
351350``` shell
352351$ curl 192.168.0.211:12345
@@ -395,4 +394,3 @@ $ curl -k --cert ./tls.crt --key ./tls.key https://192.168.0.129:12345
395394如果您需要支持,请从 '操作指导' 开始,然后按照我们概述的流程进行操作。
396395
397396如果您有任何疑问,请通过 [ KubeEdge官网] ( https://github.com/kubeedge/kubeedge#contact ) 推荐的联系方式与我们联系
398-
0 commit comments