参照上文 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包。
其实 idea可以直接打出来image镜像的。以后研究吧。复用了一下原来做其他springboot的Dockerfile。
cat Dockerfile
FROM openjdk:8-jdk-alpineVOLUME /tmpADD app.jar app.jarENTRYPOINT ["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.33. 部署测试服务
cat alibaba-sentinel-rate-limiting.yaml
apiVersion: apps/v1kind: Deploymentmetadata: name: testspec: 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: v1kind: Servicemetadata: name: test labels: app: testspec: ports: - port: 8001 protocol: TCP targetPort: 8001 selector: app: test
注意:服务就命名为test了 …
kubectl apply -f alibaba-sentinel-rate-limiting.yaml -n nacos4. 访问 alibaba-sentinel-rate-limiting服务,观察sentinel dashboard
访问alibaba-sentinel-rate-limiting服务,内部测试就不用ingress对外暴露了。直接内部CluserIP访问了
$kubectl get svc -n nacosNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGEmysql ClusterIP 172.254.43.1253306/TCP 2d9hnacos-headless ClusterIP None8848/TCP,7848/TCP 2d8hsentinel ClusterIP 172.254.163.1158858/TCP,8719/TCP 26htest ClusterIP 172.254.143.1718001/TCP 3h5m
kubernetes 服务器集群内部 curl 172.254.143.171:8001/hello curl了十次…
登陆https://sentinel.saynaihe.com/观察
嗯访问了下还行实时监控是有记录了
随手做个流控阈值测试下qps就设置1吧
嗯效果如下。哈哈哈哈
嗯 有失败的了。
但是发现诡异的是我的这个应该是测试的没有配置存储什么的。经常的实时监控就没有了…不知道是不是没有配置存储的原因。
降级规则就不测试了 觉得都一样…简单
机器列表。嗯 我想把pod变成两个试试 看看是不是我理解的这样会变成2个?
重温一下kubectl scale --help
kubectl scale deployment/test --replicas=2 -n nacos
对于我来说基本效果已经达到…其他的继续研究吧,明天看下再与nacos gate什么的搞一下全家桶