Kubeedge1.15版本安装edgemesh(超详解)

Kubeedge1.15版本安装edgemesh(超详解)

1、Kubeedge安装edgemesh前置

参考官网链接:边缘 Kube-API 端点 | EdgeMesh

1.1、配置云端cloudcore

在云端,开启 dynamicController 模块,配置完成后,需要重启 cloudcore,这里Kubeedge,我这里没有找到/etc/kubeedge/config/cloudcore.yaml文件,看官方文档解释是因为采用keadm安装,用提示的keadm init这个要重新初始化,我不建议!采用下面的kubectl edit命令好点,能打开就行!!!

$ kubectl edit cm cloudcore -n kubeedge

//修改完,重启cloudcore

systemctl restart cloudcore

在这里插入图片描述

1.2、配置边缘端

1)在边缘节点,打开 metaServer 模块(如果你的 KubeEdge < 1.8.0,还需关闭旧版 edgeMesh 模块),配置完成后,需要重启 edgecore

$ vim /etc/kubeedge/config/edgecore.yaml

modules:
  ...
  edgeMesh:
    enable: false
  ...
  metaManager:
    metaServer:
      enable: true   //配置这里
...

//重启edgecore
$ systemctl restart edgecore

在这里插入图片描述

2)在边缘节点,配置 clusterDNS 和 clusterDomain,配置完成后,需要重启 edgecore

$ vim /etc/kubeedge/config/edgecore.yaml
modules:
  ...
  edged:
    clusterDNS: 169.254.96.16
    clusterDomain: cluster.local
...



//如果 KubeEdge >= v1.12.0,请这样配置:

$ vim /etc/kubeedge/config/edgecore.yaml
modules:
  ...
  edged:
    ...
    tailoredKubeletConfig:
      ...
      clusterDNS:
      - 169.254.96.16
      clusterDomain: cluster.local
...

//重启edgecore
$ systemctl restart edgecore

[^]: 提示步骤3的配置是为了边缘应用能够访问到 EdgeMesh 的 DNS 服务,与边缘 Kube-API 端点本身无关,但为了配置的流畅性,还是放在这里说明。clusterDNS 设置的值 ‘169.254.96.16’ 来自于 commonConfig在新窗口打开 中 bridgeDeviceIP 的默认值,正常情况下无需修改,非得修改请保持两者一致。

3)最后,在边缘节点,测试边缘 Kube-API 端点功能是否正常

$ curl 127.0.0.1:10550/api/v1/services

{"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"}}

2、安装Edgemesh

2.1、两种安装方式,俺只会手动安装

edgemesh云端和边缘端都要安装,具体会说:

mater节点(云端):

1)手动安装Edgemesh,自己主机上下下来,再传给云端节点也行!

git clone https://github.com/kubeedge/edgemesh.git
cd edgemesh

2)安装CRDs

 kubectl apply -f build/crds/istio/
customresourcedefinition.apiextensions.k8s.io/destinationrules.networking.istio.io created
customresourcedefinition.apiextensions.k8s.io/gateways.networking.istio.io created
customresourcedefinition.apiextensions.k8s.io/virtualservices.networking.istio.io created

3)部署 edgemesh-agent

kubectl apply -f build/agent/resources/
serviceaccount/edgemesh-agent created
clusterrole.rbac.authorization.k8s.io/edgemesh-agent created
clusterrolebinding.rbac.authorization.k8s.io/edgemesh-agent created
configmap/edgemesh-agent-cfg created
configmap/edgemesh-agent-psk created
daemonset.apps/edgemesh-agent created

提示
请根据你的 K8s 集群设置 build/agent/resources/04-configmap.yaml 的 relayNodes,并重新生成 PSK 密码。

这里有个提示,我们要修改build/agent/resources/04-configmap.yaml这个文件,使用以下命令:

cd build/agent/resources
vim 04-configmap.yaml

改成如图所示:

在这里插入图片描述

注意最下面的psk设置,重新另起一个终端,使用以下命令生成psk,下面也标注了如何生成PSK,一定要重新生成!然后填上去保存,然后重新运行步骤3的部署。

openssl rand -base64 32

4)检验部署结果

kubectl get all -n kubeedge -o wide

在这里插入图片描述

后面云边协同通信测试请看参考链接2或者去看官方链接:快速上手 | EdgeMesh

参考链接:

1、go学习文档链接:轻松搞懂goroot与gopath区别 · go学习3部曲:入门,进阶,实战 · 看云 (kancloud.cn)

2、安装edgemesh链接:https://bbs.huaweicloud.com/blogs/397506

3、安装Edgemesh会遇到的问题:全网最全EdgeMesh Q&A手册 - 知乎 (zhihu.com)

4、官网Edgemesh链接:kubeedge/edgemesh: Simplified network and services for edge applications (github.com)

mesh链接:kubeedge/edgemesh: Simplified network and services for edge applications (github.com)

  • 39
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星空有大海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值