kong网关和consul如何工作

运行步骤:

1.后端服务启动,根据注册中心consul的地址(1.1.1.1:8500),将自己注册到注册中心
2.客户端访问域名,根据解析找到kong网关地址(2.2.2.2:8000)
3.kong网关根据客户端传过来的服务名匹配到对应的Routes,再根据Routes找到对应的Service details
4.然后拿着Service details里面配置Host,去找consul地址(1.1.1.1:8600)
5.根据名称查询consul的dns表,进而找到对应的ip+端口
6.找到对应的服务,然后通信

配置完成后可通过dig测试

dig @172.16.0.17 -p 8600 media-http.service.consul

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.9 <<>> @172.16.0.17 -p 8600 media-http.service.consul
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54731
;; flags: qr aa rd; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;media-http.service.consul.	IN	A

;; ANSWER SECTION:
media-http.service.consul. 0	IN	A	192.168.0.2
media-http.service.consul. 0	IN	A	192.168.0.14

;; Query time: 1 msec
;; SERVER: 172.16.0.17#8600(172.16.0.17)
;; WHEN: Mon May 09 15:35:36 CST 2022
;; MSG SIZE  rcvd: 86

我这边启动了两个pod副本,所以查到两个ip地址

media-http.service.consul. 0	IN	A	192.168.0.2
media-http.service.consul. 0	IN	A	192.168.0.14
kubectl get pod -n kube-public -o wide 
NAME                    READY   STATUS    RESTARTS   AGE     IP             NODE          NOMINATED NODE   READINESS GATES
media-bc5445687-dsfxx   1/1     Running   0          47h     192.168.0.2    172.16.0.42   <none>           <none>
media-bc5445687-hg6zt   1/1     Running   0          2d22h   192.168.0.14   172.16.0.42   <none>           <none>

命令解释:

dig: dns解析查询命令,没有可通过yum install bind-utils下载
@172.16.1.30: consul地址
-p 8600: consul端口
media-http: 服务启动后注册到consul的名称
.service.consul: 固定写法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值