重庆网站搭建哪里可以做接网站 建设
2026/1/10 3:55:31 网站建设 项目流程
重庆网站搭建哪里可以做,接网站 建设,聚名网app下载,青海省wap网站建设公司前言 上一篇内容#xff0c;我们详细讨论了怎么使用envoy做负载均衡#xff0c;并且记录详细的地址#xff0c;其中还解决了一个问题#xff0c;那就是怎么让envoy获取真实后端pod ip地址#xff0c;后面使用headless service#xff0c;既使用了service的服务发现能力我们详细讨论了怎么使用envoy做负载均衡并且记录详细的地址其中还解决了一个问题那就是怎么让envoy获取真实后端pod ip地址后面使用headless service既使用了service的服务发现能力又不使用service的负载均衡能力如果在某些特殊的场景下完全放弃的k8s service比如混合云部署机房两边云都需要有相同的服务但是服务之间不能跨云访问怎么赋予envoy服务发现的能力静态配置服务发现顾名思义直接写在配置里面/* by yours.tools - online tools website : yours.tools/zh/formatruby.html */ ... static_resources: ... clusters: - name: backend_cluster connect_timeout: 0.25s type: STATIC load_assignment: cluster_name: backend_cluster endpoints: - lb_endpoints: - endpoint: address: socket_address: address: 192.168.1.100 port_value: 8080 - endpoint: address: socket_address: address: 192.168.1.101 port_value: 8080 .../* by yours.tools - online tools website : yours.tools/zh/formatruby.html */ type: STATIC是关键配置基于dns的服务发现之前的k8s服务发现就是利用k8s dns做的服务发现这里再举一个例子也是经常使用的三方注册中心consul安装consuldocker run -d --name consul \ -p 8300-8302:8300-8302 \ -p 8500:8500 \ -p 8301-8302 \ -p 8600:8600/udp \ hashicorp/consul:1.22这里的关键是-p 8600:8600/udp修改coredns配置kubectl -n kube-system edit cm coredns... forward consul 10.22.12.178:8600 { prefer_udp } ...只要访问*.consul的域名都去访问10.22.12.178:8600而8600端口就是consul提供的dns udp端口至于为什么是*.consul呢.service.consul 是 Consul 官方规定的服务发现域名域名含义service.consul服务发现最常用node.consul查询节点 IPquery.consulPrepared Querydc.consul跨数据中心所以直接转发*.consul粗暴有效往consul注册数据curl -X PUT http://10.22.12.178:8500/v1/agent/service/register \ -H Content-Type: application/json \ -d { Name: backend-service-consul, ID: service-1, Address: 10.244.0.82, Port: 10000 }修改envoy配置... clusters: - name: app_service connect_timeout: 1s type: STRICT_DNS lb_policy: ROUND_ROBIN load_assignment: cluster_name: app_service endpoints: - lb_endpoints: - endpoint: address: socket_address: address: backend-service-consul.service.consul port_value: 10000 ...修改完之后重启服务这里需要注意的是address: backend-service-consul.service.consulbackend-service-consul是注册到consul的名字.service.consul上面已经说过这是consul的固定格式验证curl 10.22.12.178:30785/test[2025-12-18T09:42:47.296Z] GET /test HTTP/1.0 200 40 1 fd326a0e-ec4f-4cf3-a244-b29f4c0c0173 curl/7.81.0 - 10.244.0.82:10000 app_service - [2025-12-18T09:42:47.584Z] GET /test HTTP/1.0 200 40 0 b44ce502-a8ed-489a-b95b-d3c21af9d24d curl/7.81.0 - 10.244.0.82:10000 app_service - [2025-12-18T09:42:47.816Z] GET /test HTTP/1.0 200 40 1 f6ac4149-1e58-4b0e-a263-85fc89cef968 curl/7.81.0 - 10.244.0.82:10000 app_service - [2025-12-18T09:42:48.039Z] GET /test HTTP/1.0 200 40 1 c64c7f05-bcbb-42a7-9e68-a376217a4ca2 curl/7.81.0 - 10.244.0.82:10000 app_service - [2025-12-18T09:42:48.240Z] GET /test HTTP/1.0 200 40 1 96097880-bc28-4686-98d3-ab09848cf28a curl/7.81.0 - 10.244.0.82:10000 app_service - [2025-12-18T09:42:48.464Z] GET /test HTTP/1.0 200 40 0 799f7f10-1cb1-447a-828a-45ccc50273f5 curl/7.81.0 - 10.244.0.82:10000 app_service -确实已经生效了consul小结这里展示了怎么使用consul作为服务发现不管是用headless还是consul都是dns的服务发现在consul的例子中将固定域名.service.consul引导至consul提供的dns服务从而实现小结本文介绍了如何使用静态的服务发现以及基于dns的服务发现但是他们都存在一个问题一旦envoy的配置有所改变比如backend-service-consul.service.consul域名发生变化或者port_value: 10000端口发生变化 那就势必要重启envoy来重新加载配置这就带来了系统的复杂性与不稳定性了那有没有什么方法是可以自动加载配置呢肯定是有的那又是下一文的内容联系我联系我做深入的交流至此本文结束在下才疏学浅有撒汤漏水的请各位不吝赐教...本文来自博客园作者it排球君转载请注明原文链接https://www.cnblogs.com/MrVolleyball/p/19390666本文版权归作者和博客园共有欢迎转载但未经作者同意必须在文章页面给出原文连接否则保留追究法律责任的权利。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询