Kongsul Save

Kong Api Gateway with Consul Service Discovery (MicroService)

Project README

KongSul

How to work Kong Api Gateway with Consul Service Discovery (MicroService)

Kong Introduction

see part of kong api gateway from official site kong-api

* how to register api on kong 

Consul Section

install consul and at the services.json, put the file into /etc/consul.d/services.json and you can run consule command like this:

$ consul agent -dev -config-dir=/etc/consul.d

By example, this is working on localhost, check you're consul ns is working correctly:

$ dig @127.0.0.1 -p 8600 go-svc-1.service.consul
$ dig @127.0.0.1 -p 8600 go-svc-1.service.consul SRV

; <<>> DiG 9.9.7-P3 <<>> @127.0.0.1 -p 8600 go-svc-1.service.consul SRV
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26325
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 3
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;go-svc-1.service.consul.	IN	SRV

;; ANSWER SECTION:
go-svc-1.service.consul. 0	IN	SRV	1 1 8082 Faizals-MacBook-Pro.local.node.dc1.consul.

;; ADDITIONAL SECTION:
Faizals-MacBook-Pro.local.node.dc1.consul. 0 IN	A 127.0.0.1
Faizals-MacBook-Pro.local.node.dc1.consul. 0 IN	TXT "consul-network-segment="

;; Query time: 0 msec
;; SERVER: 127.0.0.1#8600(127.0.0.1)
;; WHEN: Wed Dec 27 22:51:37 WIB 2017
;; MSG SIZE  rcvd: 165

and check you're file at /etc/resolv.conf, register nameserver localhost like this:

$ nameserver 127.0.0.1

and you must set on kong.conf at line dns_resolver like this:

$ dns_resolver: 127.0.0.1:8600 // consul host & port 

and register the name of consul ns as upstream_url on kong api like this :

$ curl -i -X POST \
    --url http://localhost:8001/apis/ \
    --data 'name=your-api' \
    --data 'hosts=your-api.com' \
    --data 'upstream_url=http://go-svc-1.service.consul'

Testing Kong api and Consul Service Discovery Working Great Together:

$ curl -i -X GET \
    --url http://localhost:8000/ \
    --header 'Host: your-api.com'
Open Source Agenda is not affiliated with "Kongsul" Project. README Source: faizalpribadi/kongsul
Stars
36
Open Issues
0
Last Commit
6 years ago

Open Source Agenda Badge

Open Source Agenda Rating