SolarMesh(微服务监管平台)安装教程

时间:2023-01-04 15:58:46

SolarMesh简介

SolarMesh是基于服务网格构建的微服务监管平台。SolarMesh基于 Istio 及容器技术,提供微服务流量监控和管理,提供完善的非侵入式服务治理解决方案,在提供Istio流量管理等基础能力外,还提供多集群纳管、监控告警、Wasm插件、注册中心、虚拟机、接口流量、访问日志、Istio组件金丝雀升级等能力,帮助企业在纷繁复杂的微服务调度中快速定位问题,提高研发效率。

安装

准备工作

  1. 准备一个Kubernetes集群(推荐1.20版本以上);
  2. 安装Istio;
  3. 安装Istio相关Addon(Kilai、Prometheus);
  4. 下载solarmesh安装包。

准备完毕后,检查一下集群环境。可以参考如下:

SolarMesh(微服务监管平台)安装教程

SolarMesh部署 集群环境

下载solarmesh安装包:

wget http://release.solarmesh.cn/solar/v1.11/solar-v1.11.4-linux-amd64.tar.gz
tar -xvf solar-v1.11.4-linux-amd64.tar.gz
export PATH=$PATH:$PWD/solar/bin/
chmod +x $PWD/solar/bin/solarctl

检查

~ solarctl version
solarctl version: v1.11.4
solar controller version: unkonw
control plane version: 1.11.5

安装架构及术语

术语:

  • 控制集群:SolarMesh控制平面所在集群
  • 业务集群:SolarMesh控制平面纳管的集群
  • 控制平面:SolarMesh控制组件Solar-Controller
  • 数据平面:SolarMesh代理组件

架构:

一个控制集群,一个业务集群。控制集群部署solar-controller,业务集群部署agent,然后将业务集群注册到控制集群。

安装SolarMesh控制平面

solarctl install solar-mesh

检查

➜  ~ kubectl get po -n service-mesh              
NAME READY STATUS RESTARTS AGE
solar-controller-6976b7f9fc-jp6p2 2/2 Running 0 91s
solar-controller-6976b7f9fc-w8qq7 2/2 Running 0 90s
➜ ~ kubectl get po -n solar-operator
NAME READY STATUS RESTARTS AGE
solar-operator-ccbb5b469-frmrm 1/1 Running 0 51s

配置登录账号

➜  ~ kubectl create secret generic admin --from-literal=username=admin --from-literal=password=admin -n service-mesh
secret/admin created
➜ ~ kubectl label secret admin app=solar-controller -n service-mesh
secret/admin labeled

安装SolarMesh数据平面

安装初始化

export ISTIOD_REMOTE_EP=$(kubectl get nodes|awk '{print $1}' |awk 'NR==2'|xargs -n 1 kubectl get nodes  -o jsonpath='{.status.addresses[0].address}')
solarctl operator init --external-ip $ISTIOD_REMOTE_EP --eastwest-external-ip $ISTIOD_REMOTE_EP

安装数据平面

在业务集群安装数据平面。

kubectl apply -f - <<EOF
apiVersion: install.solar.io/v1alpha1
kind: SolarOperator
metadata:
name: cluster01
namespace: solar-operator
spec:
istioVersion: "1.11" ## 对应您Istio的安装版本
profile: default
EOF

检查

➜  ~ kubectl get po -n service-mesh
NAME READY STATUS RESTARTS AGE
networking-agent-7587df774-7m96x 3/3 Running 1 91s
networking-agent-7587df774-tbtkg 3/3 Running 1 91s
solar-controller-6976b7f9fc-jp6p2 2/2 Running 0 8m17s
solar-controller-6976b7f9fc-w8qq7 2/2 Running 0 8m16s

注册业务集群

在业务集群中执行:

solarctl register --name cluster01 # 这里的name需要与您安装的istio集群名称一致

访问

kubectl patch svc solar-controller -n service-mesh -p '{
"spec": {
"ports": [{
"name": "http-8080",
"nodePort": 30880,
"port": 8080,
"protocol": "TCP",
"targetPort": 8080}],
"type": "NodePort"
}
}'

界面如下图:

SolarMesh(微服务监管平台)安装教程

SolarMesh部署成功

立即体验SolarMesh>>