top of page
  • Yazarın fotoğrafıemirhanaydin

Kong Api Gateway ve Konga Kurulum

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-net

Kong 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 bootstrap

Kongu 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:latest

Konga 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/konga

Kongayı 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/konga

Kontrol 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 :)

164 görüntüleme0 yorum

Son Yazılar

Hepsini Gör

Comments


bottom of page