我个人的demo代码放在这里:https://github.com/kanghouchao/devops
我参照官方文档,搭建了一个demo,在README中大致说明了启动服务的步骤
我打算在我的devops-client-web模块中使用集群流控,参照官方样例代码在SentinelAspectConfiguration类配置了集群服务端的相关连接信息
启动服务后访问token-server对应的地址:/cluster/server/info {"port":11111,"appName":"app","connection":[{"connectedCount":2,"connectionSet":[{"address":"10.0.9.48:47602","host":"10.0.9.48"},{"address":"10.0.9.46:52554","host":"10.0.9.46"}],"namespace":"devops-client"},{"connectedCount":0,"connectionSet":[],"namespace":"default"}],"transport":{"idleSeconds":600,"port":11111},"requestLimitData":[{"maxAllowedQps":30000.0,"namespace":"devops-client","currentQps":0.0},{"maxAllowedQps":30000.0,"namespace":"default","currentQps":0.0}],"namespaceSet":["devops-client","default"],"embedded":false,"flow":{"exceedCount":1.0,"intervalMs":1000,"maxAllowedQps":30000.0,"maxOccupyRatio":1.0,"namespace":"default","sampleCount":10}}
问题是:此Json信息中的Client的IP和实际的IP不一致,上述Json中的IP为物理机中docker 的负载均衡IP
1、需要搭建一个docker镜像仓库用于存储构建的镜像
2、执行脚本顺序init.sh -> build-push.sh -> stack-devops.sh
3、compose文件是devops-compose.yml
本地电脑是ubuntu19 其中跑了三台centos虚拟机,搭建的swarm集群 集群降级的token-server 采用的是单独部署模式
原提问者GitHub用户kanghouchao
这是docker swarm的一个问题。你可以看看这个问题。其中一个解决方案是在docker swarm之外添加一个nginx代理,
然后通过在nginx上添加的头来获得真实的IP。
ag.nginx配置:
location / { proxy_pass http://gateway:9011; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 100m; #root /usr/share/nginx/html; #index index.html index.htm; }
原回答者GitHub用户liangyuanpeng
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。