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 :)
댓글