部署 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 应用部署成功。
下一步:创建服务