Kong Api Gateway ve Konga Kurulum
- emirhanaydin
- 17 Eki 2022
- 2 dakikada okunur
Kong, bir api gateway ürünüdür. Servise istek yapacak olan kullanıcılar direk sizin servis endpointinize değil yönlendirmiş olduğunuz adres üzerinden servise erişim yapar. Bu servis üzerinden kendi kullanıcılarınıza yetkilendirme işlemlerini dağıtabilir ve loglama yapabilirsiniz. Yetkilendirme ,istek limiti belirleme, güvenlik ve loglama gibi özellikleri de Kong eklentileri kullanabiliyorsunuz.

Bir Docker ağı oluşturalım
$ docker network create kong-netKong için Database kurulumu
$ docker run -d --name kong-database --network=kong-net \
-e "POSTGRES_USER=kong" -e "POSTGRES_DB=kong" -e "POSTGRES_PASSWORD=kong" \
-p 5432:5432 postgres:9.6
$ docker run --rm --network=kong-net \
-e "KONG_DATABASE=postgres" -e "KONG_PG_HOST=kong-database" \
-e "KONG_PG_PASSWORD=kong" kong:latest kong migrations bootstrapKongu kuralım
docker run -d --name kong --network=kong-net \
-e "KONG_DATABASE=postgres" -e "KONG_PG_HOST=kong-database" \
-e "KONG_PG_PASSWORD=kong" -e "KONG_PROXY_ACCESS_LOG=/dev/stdout" \
-e "KONG_ADMIN_ACCESS_LOG=/dev/stdout" -e "KONG_PROXY_ERROR_LOG=/dev/stderr" \
-e "KONG_ADMIN_ERROR_LOG=/dev/stderr" -e "KONG_ADMIN_LISTEN=0.0.0.0:8001, 0.0.0.0:8444 ssl" \
-p 8000:8000 -p 8443:8443 -p 8001:8001 -p 8444:8444 kong:latestKonga için Database Kurulumu
$ docker volume create konga-postgresql
$ docker run -d --name konga-database --network=kong-net \
-p 5433:5432 \
-v konga-postgresql:/var/lib/postgresql/data \
-e "POSTGRES_USER=konga" \
-e "POSTGRES_DB=konga" \
-e "POSTGRES_PASSWORD=konga" \
postgres:9.6
$ docker run --rm --network=kong-net \
pantsel/konga:latest \
-a postgres \
-c prepare \
-u postgres://konga:konga@konga-database:5432/kongaKongayı kuralım
$ docker run -d -p 1337:1337 \
--network kong-net \
-e "DB_ADAPTER=postgres" \
-e "DB_URI=postgres://konga:konga@konga-database:5432/konga" \
-e "NODE_ENV=production" \
-e "DB_PASSWORD=konga" \
--name konga \
pantsel/kongaKontrol edelim
$ docker container ls
Evet arkadaşklar herşey çalışır durum da fakat makinemiz restart olduğu zaman sürekli manuel container start etmek yerine restarttan sonra kapanmamasını sağlayalım.
docker update --restart unless-stopped (cantainer-name)Ve konga ara yüzüme bağlanalım http://localhost:1337
Giriş yaptıktan sonra bağlantı kuracağız kong ile localhost veya IP 8001 portundan kong bağlantımızı yapıyoruz. ardından active düğmesine tıklayarak aktif edelim.

Hadi bir örnek yapalım
Service>Create Service diyelim.

Ekledikten sonra bir route tanımlamak için websayfamın üzerine tıklayıp routes bölümüne girip bir rout ekliyoruz.

Not: paths yazdıktan sonra enterlamanız gerekiyor.
ve sonra localhost:8000/anasayfa gidelim.

evet başarılı bir şekilde örneğimizi tamamladık.Artık isteklerim ilk olarak konguma düşüyor :)
