SpringCloud多网卡配置(转)
本文内容纲要:
https://blog.csdn.net/lixiang987654321/article/details/88134324
docker部署过程中遇到如下问题:
(1)docker容器创建之后,进入容器会发现容器有多个ip,一个是10.255段的一个是172段的,一个自定义集群的网络10.0.2段的
(2)注册到eureka注册服务中的地址为10.255段的地址
(3)通过网关访问注册到eureka中的服务时候获取到的ip是10.255段网址,是实际上各个服务监听的ip为10.0.2段的端口
(4)网关无法连接到10.255段的服务的端口(可以查看10.0.2段的端口:nc-zv10.0.2.847000)
引起问题的原因:
(1)docker部署服务的时候无法指定容器使用对应网段
(2)服务注册到注册服务的时候使用指定网段注册到注册服务(10.0.2自建网络的网段)
(3)服务运行的时候监听多网卡机器的所有网段
解决方式:
(1)docker运行的容器使用指定网卡(但是实际智能指定ip,而容器运行的ip是随机分配的,当然也可以指定,不过比较复杂)--可行,比较啰嗦,运维所有配置
(2)服务注册的时候使用指定网卡注册到注册服务---可行
(3)springcloud配置的端口,监听ip为0.0.0.0--需要修改源码,不可行
(4)eureka注册的时候使用主机名而不是使用ip--可行但只能部署一个(同一个网络多个hostname相同?有问题!)
方式一
方式二
方式三
忽略网卡(正则)
指定ip(正则)
以下以(2)中解决方式,在注册的时候选择固定的网卡注册注册中心,忽略哪些无法访问的网卡即可
(1)了解springcloud网卡配置
spring-cloud-commons项目为SpringCloud生态提供了顶层的抽象和基础设施的实现。
网络这个最基本的基础设施也是在这里有对应的实现:InetUtils、InetUtilsProperties和UtilAutoConfiguration提供了网络配置相关的功能。
spring.cloud.inetutils.default-hostname
spring.cloud.inetutils.default-ip-address
spring.cloud.inetutils.ignored-interfaces
spring.cloud.inetutils.preferred-networks
spring.cloud.inetutils.timeout-seconds
spring.cloud.inetutils.use-only-site-local-interfaces
需要解释一下的是ignored-interfaces和preferred-networks这两个配置。这两个配置决定了springcloud应用在启动的时候所使用的网卡和IP地址。ignored-interfaces接收一个正则表达式数组,配置名字虽然是ignored-interfaces,忽略的网卡,但是因为其接收的是正则表达式,所以我们可以任意的选择和反选本机的网卡。preferred-networks是指倾向于使用的IP地址,接收一个正则表达式数组,用于选择SpringCloud应用使用的本机的IP地址。通过这两个配置,我们可以任意指定SpringCloud应用使用的网卡和IP地址。
(2)参数配置
方式一:通过运行环境变量配置
java-jarxxx.jar--spring.cloud.inetutils.ignored-interfaces=
方式二:通过docker传递环境变量配置
--envspring.cloud.inetutils.ignored-interfaces=eth0
通过application.yml或properties配置文件配置
spring.cloud.inetutils.ignored-interfaces=
spring:
cloud:
inetutils:
ignored-interfaces[0]
docker服务配置实例:
注意
(1)重启机器后mycat不能自己开机启动
(2)重启后需要重新配置svn监听目录
apt-get-yinstallnetcat-openbsd
sudoapt-getinstallnetcat
启动服务
(1)注册中心
dys_register_server:提供所有服务模块的统一注册
(2)配置中心
dys_config_center:提供所有服务的统一配置管理
(3)授权中心
dys_auth_center:提供平台统一的权限校验
(4)系统网关
dys_gateway_server:提供外网访问系统内网的唯一入口,以及统一鉴权,系统流量控制
(5)区域服务
dys_region_server:提供区域代码查询服务
(6)人脸后台
dys_face_server:提供人脸比对和人脸抓拍数据等管理
(7)文件上传
dys_file_server:提供人脸上传图片存储服务
(8)系统校时
dys_time_server:提供系统所有模块的时间同步服务
(9)短信服务
dys_sms_server:提供黑名单比中手机短信发送服务
(10)邮件服务
dys_email_server:提供黑名单比中电子邮件发送服务
(11)人脸前端
web_face:提供人脸系统展示资源管理服务
dockerservicermeureka1
dockerservicermeureka2
dockerservicermconfig
dockerservicermauth
dockerservicermgateway
dockerservicermregion
dockerservicermface
dockerservicermfile
dockerservicermtime
dockerservicermemail
dockerservicermweb_face
dockerservicermdoor
dockerservicermsmart
dockerservicermtvwall
dockerservicermwebsocket
dockerservicermwifi
dockerservicermzfy
dockerservicermzipkin
关于网卡设置
忽略指定网卡或符合正则表达式的网卡
--envspring.cloud.inetutils.ignored-interfaces[0]=^eth0\
优先使用满足指定名或符合正则表达式的网卡
--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\
注册服务1:
dockerservicecreate--with-registry-auth\
--modereplicated\
--replicas1\
--nameeureka1\
--networkspringcloud\
--publish7002:7002\
--envspring.profiles.active=eureka1\
--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\
images.dondown.com:5000/dys_register_server:latest
注册服务2:
dockerservicecreate--with-registry-auth\
--modereplicated\
--replicas1\
--nameeureka2\
--networkspringcloud\
--publish7003:7003\
--envspring.profiles.active=eureka2\
--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\
images.dondown.com:5000/dys_register_server:latest
配置中心:
dockerservicecreate--with-registry-auth\
--modereplicated\
--replicas1\
--nameconfig\
--networkspringcloud\
--publish7000:7000\
--envspring.profiles.active=subversion\
--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\
images.dondown.com:5000/dys_config_center:latest
授权中心:
dockerservicecreate--with-registry-auth\
--modereplicated\
--replicas1\
--nameauth\
--networkspringcloud\
--publish7006:7006\
--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\
images.dondown.com:5000/dys_auth_center:latest
系统网关:
dockerservicecreate--with-registry-auth\
--modereplicated\
--replicas1\
--namegateway\
--networkspringcloud\
--publish80:80\
--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\
images.dondown.com:5000/dys_gateway_server:latest
dockernodeupdate--label-addgateway=yesdocker113
dockerservicecreate--with-registry-auth\
--modereplicated\
--replicas1\
--namegateway\
--networkspringcloud\
--publish80:80\
--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\
--constraint'node.labels.gateway==yes'\
images.dondown.com:5000/dys_gateway_server:latest
区域服务:
dockerservicecreate--with-registry-auth\
--modereplicated\
--replicas1\
--nameregion\
--networkspringcloud\
--publish7004:7004\
--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\
images.dondown.com:5000/dys_region_server:latest
人脸后台:
dockerservicecreate--with-registry-auth\
--modereplicated\
--replicas1\
--nameface\
--networkspringcloud\
--publish7012:7012\
--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\
images.dondown.com:5000/dys_face_server:latest
文件管理服务:
dockerservicecreate--with-registry-auth\
--modereplicated\
--replicas1\
--namefile\
--networkspringcloud\
--publish7016:7016\
--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\
--constraint'node.labels.type==file'\
images.dondown.com:5000/dys_file_server:latest
平台校时服务:
dockerservicecreate--with-registry-auth\
--modereplicated\
--replicas1\
--nametime\
--networkspringcloud\
--publish7013:7013\
--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\
images.dondown.com:5000/dys_time_server:latest
短信服务(智能部署在windows):
邮件服务:
dockerservicecreate--with-registry-auth\
--modereplicated\
--replicas1\
--nameemail\
--networkspringcloud\
--publish7011:7011\
--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\
images.dondown.com:5000/dys_email_server:latest
人脸前端资源服务:
dockerservicecreate--with-registry-auth\
--modereplicated\
--replicas1\
--nameweb_face\
--networkspringcloud\
--publish8080:8080\
--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\
images.dondown.com:5000/web_face:latest
车辆大数据服务:
dockerservicecreate--with-registry-auth\
--modereplicated\
--replicas1\
--namecar\
--networkspringcloud\
--publish7007:7007\
--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\
images.dondown.com:5000/dys_car_server:latest
门禁+视频服务:
dockerservicecreate--with-registry-auth\
--modereplicated\
--replicas1\
--namedoor\
--networkspringcloud\
--publish7014:7014\
--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\
images.dondown.com:5000/dys_door_server:latest
智能分析服务:
dockerservicecreate--with-registry-auth\
--modereplicated\
--replicas1\
--namesmart\
--networkspringcloud\
--publish7008:7008\
--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\
images.dondown.com:5000/dys_smart_server:latest
电视墙服务:
dockerservicecreate--with-registry-auth\
--modereplicated\
--replicas1\
--nametvwall\
--networkspringcloud\
--publish7009:7009\
--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\
images.dondown.com:5000/dys_tvwall_server:latest
消息推送服务:
dockerservicecreate--with-registry-auth\
--modereplicated\
--replicas1\
--namewebsocket\
--networkspringcloud\
--publish7019:7019\
--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\
images.dondown.com:5000/dys_websoket_server:latest
电子围栏服务:
dockerservicecreate--with-registry-auth\
--modereplicated\
--replicas1\
--namewifi\
--networkspringcloud\
--publish7015:7015\
--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\
images.dondown.com:5000/dys_wifi_server:latest
移动巡防服务:
dockerservicecreate--with-registry-auth\
--modereplicated\
--replicas1\
--namezfy\
--networkspringcloud\
--publish7017:7017\
--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\
images.dondown.com:5000/dys_zfy_server:latest
链路跟踪服务:
dockerservicecreate--with-registry-auth\
--modereplicated\
--replicas1\
--namezipkin\
--networkspringcloud\
--publish7001:7001\
--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\
images.dondown.com:5000/dys_zipkin_server:latest
————————————————
版权声明:本文为CSDN博主「贝壳里的沙」的原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lixiang987654321/article/details/88134324
本文内容总结:
原文链接:https://www.cnblogs.com/xiaohanlin/p/11593661.html