共计 2178 个字符,预计需要花费 6 分钟才能阅读完成。
背景:
参照上文 Kubernetes 1.20.5 搭建 sentinel。想搭建一个服务去测试下 sentinel 服务的表现形式。当然了其余服务还没有集成 就找了一个 demo, 参照:https://blog.csdn.net/liuhuiteng/article/details/107399979。
一. Sentinel 之 alibaba-sentinel-rate-limiting 服务测试
1.maven 构建测试 jar 包
参照 https://gitee.com/didispace/SpringCloud-Learning/tree/master/4-Finchley/alibaba-sentinel-rate-limiting
就批改了连贯 setinel dashboard 的连贯批改为 kubernetes 集群中 setinel 服务的 service ip 与 8858 端口。
maven 打包 jar 包。
2. 构建 image 镜像
其实 idea 能够间接打进去 image 镜像的。当前钻研吧。复用了一下原来做其余 springboot 的 Dockerfile。
cat Dockerfile
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD app.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
注:我 mv 了下把打进去的 jar 包改名为 app.jar 了 … 也能够在 pom.xml 文件中自定义的批改了 ……
docker build -t ccr.ccs.tencentyun.com/XXXX/testjava:0.3 .
docker push ccr.ccs.tencentyun.com/XXXXX/testjava:0.3
3. 部署测试服务
cat alibaba-sentinel-rate-limiting.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: test
spec:
replicas: 1
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
selector:
matchLabels:
app: test
template:
metadata:
labels:
app: test
spec:
containers:
- name: test
image: ccr.ccs.tencentyun.com/XXXX/testjava:0.3
ports:
- containerPort: 8001
resources:
requests:
memory: "256M"
cpu: "250m"
limits:
memory: "512M"
cpu: "500m"
imagePullSecrets:
- name: tencent
---
apiVersion: v1
kind: Service
metadata:
name: test
labels:
app: test
spec:
ports:
- port: 8001
protocol: TCP
targetPort: 8001
selector:
app: test
留神:服务就命名为 test 了 ……
kubectl apply -f alibaba-sentinel-rate-limiting.yaml -n nacos
4. 拜访 alibaba-sentinel-rate-limiting 服务,察看 sentinel dashboard
拜访 alibaba-sentinel-rate-limiting 服务,内部测试就不必 ingress 对外裸露了。间接外部 CluserIP 拜访了
$kubectl get svc -n nacos
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
mysql ClusterIP 172.254.43.125 <none> 3306/TCP 2d9h
nacos-headless ClusterIP None <none> 8848/TCP,7848/TCP 2d8h
sentinel ClusterIP 172.254.163.115 <none> 8858/TCP,8719/TCP 26h
test ClusterIP 172.254.143.171 <none> 8001/TCP 3h5m
kubernetes 服务器集群外部 curl 172.254.143.171:8001/hello curl 了十次 ……
登陆 https://sentinel.saynaihe.com/ 察看
二. 测试下 setinel 性能
1. 流控规定
嗯拜访了下还行实时监控是有记录了
顺手做个流控阈值测试下 qps 就设置 1 吧
嗯成果如下。哈哈哈哈
嗯 有失败的了。
然而发现诡异的是我的这个应该是测试的没有配置存储什么的。常常的实时监控就没有了 ….. 不晓得是不是没有配置存储的起因。
2. 降级规定
降级规定就不测试了 感觉都一样 … 简略
3. 热点
4. 零碎规定
5. 受权规定
6. 集群流控
机器列表。嗯 我想把 pod 变成两个试试 看看是不是我了解的这样会变成 2 个?
重温一下 kubectl scale –help
kubectl scale deployment/test --replicas=2 -n nacos
对于我来说根本成果曾经达到 … 其余的持续钻研吧