部署 EdgeMesh 应用¶
在使用应用网格能力前,需要先部署 EdgeMesh 应用,本文介绍具体操作流程。
前置准备¶
-  
去除 K8s master 节点的污点
如果 K8s master 节点上有运行业务应用,并且需要访问集群节点上的其他应用, 需要先去除 K8s master 节点的污点,执行如下命令。
Note
如果 K8s master 节点上没有部署需要被代理的应用,可以跳过这一步。
 -  
给 Kubernetes API 服务添加过滤标签
正常情况下,为避免 EdgeMesh 去代理 Kubernetes API 服务,因此需要给它添加过滤标签, 更多信息请参考服务过滤。
 
Helm 安装¶
操作步骤如下:
-  
选择左侧导航栏的 容器管理 -> 集群列表 ,进入集群列表页面,点击 集群名称 ,进入集群详情页。
 -  
选择左侧菜单 Helm 应用 -> Helm 模板 ,在 addon 仓库下找到 edgemesh 插件。

 -  
点击 edgemesh 条目,进入模板详情页。
 -  
在页面右上角选择 EdgeMesh 版本,点击 安装 按钮,进入 EdgeMesh 安装页面。

 -  
填写 edgemesh 基础配置。
- 名称:小写字母、数字字符或 - 组成,并且必须以字母开头及字母或数字字符结尾。
 - 命名空间:EdgeMesh 应用所在命名空间。如果命名空间没有创建,可以选择 新建命名空间 。
 - 版本:结合实际业务需求,选择想要安装的 EdgeMesh 版本。
 - 失败删除:开启后,将默认同步开启安装等待。将在安装失败时删除安装。
 - 就绪等待:启用后,将等待应用下所有关联资源处于就绪状态才标记应用安装成功。
 - 详细日志:开启安装过程日志的详细输出。
 

 -  
YAML 参数配置。
 
Note
在默认的 YAML 配置下,需要补充设置认证密码(PSK)和中继节点(Relay Node),否则会导致部署失败。
PSK 和 Relay Node 设置说明
  # PSK:是一种认证密码,确保每个 edgemesh-agent 只有当拥有相同的 “PSK 密码” 时才能建立连接,更多信息请参考
  # [PSK](https://edgemesh.netlify.app/zh/guide/security.html)。建议使用 openssl 生成,也可以设置成自定义的随机字符串。
  在节点上执行如下命令生成 PSK:
  kubectl taint nodes --all node-role.kubernetes.io/master-
  # Relay Node:是指在网络通信中转发数据包的节点。它在通信的源节点和目标节点之间起到桥接的作用,
  # 帮助数据包在网络中传输并绕过某些限制或障碍,EdgeMesh 中通常为云上节点,也可以添加多个中继节点。
参考示例
global:
  imageRegistry: docker.m.daocloud.io
agent:
  repository: kubeedge/edgemesh-agent
  tag: v1.14.0
  affinity: {}
  nodeSelector: {}
  tolerations: []
  resources:
    limits:
      cpu: 1
      memory: 256Mi
    requests:
      cpu: 0.5
      memory: 128Mi
  psk: JugH9HP1XBouyO5pWGeZa8LtipDURrf17EJvUHcJGuQ=
  relayNodes:
  - nodeName: masternode ## your relay node name
    advertiseAddress:
    - x.x.x.x ## your relay node ip
  modules:
    edgeProxy:
      enable: true
    edgeTunnel:
      enable: true
检验部署结果¶
部署完成后,可以执行以下操作检查 EdgeMesh 应用是否部署成功。
-  
选择左侧导航栏的 容器管理 -> 集群列表 ,进入集群列表页面,点击 集群名称 ,进入集群详情页。
 -  
选择左侧菜单 Helm 应用 ,进入 Helm 应用列表页面。
 -  
查看 Helm 应用的状态,当前状态为 已部署 表示 EdgeMesh 应用部署成功。

 
下一步:创建服务