部署 Mini Mesh
本文介绍如何部署 Mini Mesh,以及使用中的常见问题。
Mini Mesh 的使用说明,请参见 快速使用 Mini Mesh。
操作步骤
安装 minikube。
获取并安装 minikube。
Linux(AMD64 架构)
curl -LO https://storage.googleapis.com/minikube/releases/v1.29.0/minikube-linux-amd64 sudo install minikube-linux-amd64 /usr/local/bin/minikube
macOS(Intel 芯片)
curl -LO https://storage.googleapis.com/minikube/releases/v1.29.0/minikube-darwin-amd64 sudo install minikube-darwin-amd64 /usr/local/bin/minikube
说明如果您的网络无法访问 Google,您也可以通过 Mini Mesh 资源包的
tools/minikube/install.sh
文件安装。(可选)安装 kubectl 命令行工具。
说明kubectl 命令行工具非必须安装,您可以加入到 bash 的脚本,当使用 kubectl 时自动下载:
macOS 的脚本文件位置:
~/.zshrc
Linux 的脚本位置:
~/.bashrc
使用时,命令格式如下:
alias kubectl="minikube kubectl --"
部署 Mini Mesh。
下载 Mini Mesh 资源包。
AMD64 架构
资源包名称
下载地址
正式版
测试版
说明暂时仅提供 AMD64 架构的版本,其他架构请等待后续发布。
拉取镜像。
为避免每次部署都重新拉取基础镜像,您可以手动执行一次镜像拉取:
AMD64 架构(适用于 macOS Intel 芯片和 Linux AMD64)
docker pull mysql:8.0.34 --platform=linux/amd64 docker pull prom/prometheus:v2.47.1 --platform=linux/amd64 docker pull zonghaishang/delve:v1.20.1 --platform=linux/amd64
拉取镜像后,资源包根目录包含 sofactl 工具。
部署 Mini Mesh。
在资源包的根目录执行部署命令一键部署,相关命令如下:
./sofactl mesh # 默认部署中枢 ./sofactl mesh --dubbo --debug=true # 部署时包括 Dubbo ./sofactl mesh --only=mosn,dubbo --keep-start #允许不重启集群,部署指定组件 ./sofactl help mesh # 查看 Mini Mesh 指令参数帮助 ./sofactl mesh -q # 移除集群
常见问题
如何停止 minikube 集群?
命令如下:
minikube stop
# 如果使用 sofactl 命令行工具, 则在 Mini Mesh 资源包根目录执行以下命令
./sofactl mesh -q
如何查看资源消耗?
命令如下:
minikube kubectl -- top node
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
minikube 896m 17% 4417Mi 56%
如何调试部署组件?
在端口转发命令中添加调试端口(Java 应用调试端口为 5005;Go 应用调试端口为 2345),然后在 IntelliJ IDEA 或者 GoLand 添加远程调试,以 Mesh server 组件为例:
minikube kubectl -- port-forward service/meshserver-service 7080:80 7777 5005 -n sofamesh
调试 MOSN
以调试已注入 MOSN 的 dubbo-server 应用为例,命令如下:
minikube kubectl -- port-forward pod/dubbo-server-0 2345 -n sofamesh-proxy
如何禁用 ARM 插件包自动转 AMD?
在 mac M1/M2 芯片的机器上开发的代码,部署到服务器会默认转为 AMD 架构的程序包。如果 Mini Mesh 和本地都是 ARM64 架构,您可以在插件项目根目录application.properties
添加配置禁用:
plugin.arm.transform.amd=off
# 直连 Mesh server
# mesh.server.address=127.0.0.1:7777
为什么在非办公环境下,Mini Mesh 无法启动?
minikube 自身依赖镜像从国内获取不到,您可以采用阿里云镜像支持的 K8s 版本:v1.23.8。通过命令行指定 K8s 版本命令如下:
# 命令行指定版本 --k8s-version
./sofactl mesh --k8s-version=v1.23.8 --debug
技术支持
如果您在使用中有什么问题或者建议,请联系售后技术支持。
钉钉群号:68650005626
群二维码: