Kong Api Gateway ve Konga Arayüzü Kurulumu

Merhaba! Bu yazımda Open Source API Gateway araçlarından biri olan Kong Gateway uygulamasının kurulumunu ve yine açık kaynak işlemlerimizi daha kolay gerçekleştirebileceğimiz Konga arayüzünü kullanarak uçtan uca bir RestApi servisinin yayınlanmasını adım adım anlatmayı planlıyorum.

Kong Nedir ?

Kong, açık kaynaklı 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 ve 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 pluginlerini ekleyerek kullanabiliyorsunuz. Kullandığınız servise özel farklı bir özellik ihtiyacınız varsa kong’a lua script ile plugin geliştirebilirsiniz.

Konga Nedir ?

Konga, kong’un admin paneli arayüzü. Kullanımı kong manager arayüzüne göre daha kolay olduğu için ben yönetim paneli olarak konga kullandım. Ayrıca ücretli olan Konnect ürünü de kullanılabilir.

Öncelikle kong kurulumu için gerekli olan konfigürasyonları içeren bir docker compose dosyası oluşturarak uygulamayı docker üzerinden ayağa kaldıralım.

Docker-Compose.yml

Yukarıdaki docker configurasyonunu komutlarını bir docker-compose.yml dosyasına alarak compose dosyasını çalıştıralım.

Kong kurulumu tamamlandıktan sonra http://localhost:8001/ adresinden cevap alabiliyor olmanız gerekir. Konga arayüzüne giriş yapmak için ise http://localhost:1337/ portunu kullanıyoruz. Bu adrese gittiğimizde aşağıdaki Konga register ekranı açılacak. Burada bir kullanıcı tanımladıktan sonra bu bilgiler ile giriş yapmış olacağız.

Konga Register Arayüzü

Giriş Yaptıktan Sonra önce Connection ekleme ekranına yönlendiriliyoruz. Burda Kong Admin Api Connection bağlantısını ekliyoruz. Kong Admin URL alanına http://kong:8001/ adresini ekleyip herhangi bir isim vererek connection oluşturuyoruz.

Konga New Connection

Oluşturduğumuz connection üzerinden Activate butonu ile aktif ettikten sonra sol menüde API GATEWAY modülü eklenmiş olacak.

Konga Connections

Bu menülerden Services Menüsünden yeni bir servis ekleyelim.

Konga Services
Create a Service

Örnek olarak https://jsonplaceholder.typicode.com/ açık servisini ekleyelim.

Bu ekranda URL alanına servisin endpoint adresini ekliyoruz ve isim vererek kaydediyoruz. Servis oluşturulduktan sonra diğer alanlar güncelleniyor, servisi üzerine tıkladığınızda bilgileri görebilirsiniz ve güncelleyebilirsiniz.

Service Details

Servis bilgilerini tekrar açtığınızda url alanını bu sefer göremiyorsunuz. Protocol, Host, Port, Path alanları eklediğiniz endpoint urle göre atanmış olacak. Path alanına /json gibi bir yönlendirme ekleyebilirsiniz. Ya da sadece / olarak kalabilir. Yönlendirmeleri Routers menüsünden yapacağız. Şimdi servise route ekleyelim. -> Routes -> Add Route

Add Route to a Service

Route Eklerken dikkat etmemiz gereken erişeceğimiz methotları ( Get, Post vs. )Methods alanına eklemek ve oluşturduğumuz route için bir path vermek.

Paths kısmında /json eklediğimde artık http://localhost:8000/json/ adresinden servise ulaşabiliyor olacağım. Servisin kaynaklarına ise

http://localhost:8000/json/posts , http://localhost:8000/json/comments ile ulaşabiliyor olacağız.

Bu arada Paths, Methods gibi alanlara yazdıklarımızı enter’a tuşladığımızda eklemiş oluyoruz. Bu uyarı da her ne kadar yazsa da sık sık unutuluyor :)

Bir sonraki yazıda yetkilendirme içeren bir serviste request header ekleyerek, yetkilendirmeyi kaldırmayı ve yetkilendirme eklemeyi anlatacağım.

İlk Devops yazımın faydalı olmasını diliyorum ve geri bildirimlerinizi bekliyorum. Devamı olacak diğer yazıda görüşmek üzere.

--

--