文档

部署 Mini Mesh

更新时间:
一键部署

本文介绍如何部署 Mini Mesh,以及使用中的常见问题。

说明

Mini Mesh 的使用说明,请参见 快速使用 Mini Mesh

操作步骤

  1. 安装 minikube。

    1. 获取并安装 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文件安装。

    2. (可选)安装 kubectl 命令行工具。

      说明

      kubectl 命令行工具非必须安装,您可以加入到 bash 的脚本,当使用 kubectl 时自动下载:

      • macOS 的脚本文件位置:~/.zshrc

      • Linux 的脚本位置:~/.bashrc

      使用时,命令格式如下:

      alias kubectl="minikube kubectl --"
  2. 部署 Mini Mesh。

    1. 下载 Mini Mesh 资源包。

      AMD64 架构

      资源包名称

      下载地址

      正式版

      minimesh-linux-amd64-1.1.zip

      测试版

      minimesh-linux-amd64-1.1-poc.zip

      说明

      暂时仅提供 AMD64 架构的版本,其他架构请等待后续发布。

    2. 拉取镜像。

      为避免每次部署都重新拉取基础镜像,您可以手动执行一次镜像拉取:

      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 工具。

    3. 部署 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

群二维码:image