快速部署开发使用的 Sentinel-Dashboard

本文使用 Sentinel-Dashboard 1.7.1

本文所使用的配置文件,在GiHub项目中 https://github.com/aidansu/spring-cloud-alibaba-components-install

本文部署的是开发环境,用于开发测试,并不是高可用的生产环境!

Sentinel 控制台是流量控制、熔断降级规则统一配置和管理的入口,它为用户提供了机器自发现、簇点链路自发现、监控、规则配置等功能。在 Sentinel 控制台上,我们可以配置规则并实时查看流量控制效果。官网 Github 地址:https://github.com/alibaba/Sentinel/wiki/%E6%8E%A7%E5%88%B6%E5%8F%B0

官方提供了源代码和 jar 包的启动方式,但没有提供 docker 镜像,对于习惯使用 docker 的用户非常不友好,当然你可以使用官方的 jar 包打包成 docker 镜像。我这里已经打包并放在 docker Hub 上了,image 地址:aidansu/sentinel-dashboard:1.7.1

docker-compose 部署 sentinel-dashboard

下载配置文件,进入 /sentinel-dashboard/docker 文件夹,以下是 docker-compose.yaml 的设置

1
2
3
4
5
6
7
8
9
10
version: "2"
services:
namesrv:
image: aidansu/sentinel-dashboard:1.7.1
container_name: sentinel-dashboard
ports:
- 30080:8080
environment:
- JAVA_OPTS= -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dsentinel.dashboard.auth.username=sentinel -Dsentinel.dashboard.auth.password=sentinel -Dserver.servlet.session.timeout=7200

kubernetes 部署 sentinel-dashboard

进入 /sentinel-dashboard/kubernetes 文件夹,以下是 sentinel-dashboard-server.yaml 的设置如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
---
apiVersion: v1
kind: Service
metadata:
name: sentinel-dashboard
labels:
app: sentinel-dashboard
spec:
ports:
- port: 8080
name: server
targetPort: 8080
nodePort: 30080
selector:
app: sentinel
sessionAffinity: ClientIP
type: NodePort
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: sentinel
spec:
serviceName: sentinel-dashboard
replicas: 1
template:
metadata:
labels:
app: sentinel
annotations:
pod.alpha.kubernetes.io/initialized: "true"
spec:
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: "app"
operator: In
values:
- sentinel-dashboard
topologyKey: "kubernetes.io/hostname"
containers:
- name: k8s-sentinel
imagePullPolicy: Always
image: aidansu/sentinel-dashboard:1.7.1
resources:
requests:
memory: "2Gi"
cpu: "500m"
ports:
- containerPort: 8080
name: client
env:
- name: TZ
value: Asia/Shanghai
- name: JAVA_OPTS
value: -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dsentinel.dashboard.auth.username=sentinel -Dsentinel.dashboard.auth.password=sentinel -Dserver.servlet.session.timeout=7200
selector:
matchLabels:
app: sentinel

通过 kubectl apply 启动 sentinel-dashboard

1
2
3
# cd 到 sentinel-dashboard/kubernetes 目录
$ cd sentinel-dashboard/kubernetes
$ kubectl apply -f sentinel-dashboard-server.yaml

打开 sentinel-dashboard 控制台

1
2
3
地址:http://localhost:30080/
用户:sentinel
密码:sentinel
坚持原创技术分享,您的支持将鼓励我继续创作!