Skip to main content

Install Kong Server dan Konga UI

Step by step install Kong Server sebagai API Gateway dan menggunakan Admin dashboard Konga.

Outline dan Spesifikasi Server

  • Siapkan Database Postgre
  • Install Kong Server
  • Install Konga Web UI
Kebutuhan server
  • 1 x VM CentOS 7 untuk Kong Server
  • 1 x Docker host untuk container Postgre dan Konga UI

Siapkan Database Postgre

Untuk database bisa install atau pakai yang sudah ada. Butuh 2 database untuk Kong Server dan Konga Web UI. Pada tutorial ini, saya gunakan database Postgre yang di build di Container Docker.

1. Buat volume di docker

docker volume create postgres_kong

2. Run container postgre

Berikut adalah keterangan dari database yang dibuat :

Keterangan mengenai container yang akan dibuat

Nama Container = postgres_kong
User database = kongdb
Port database = 54321
Password database = thisissecret
Host database = 10.10.10.131

docker run -d \
-e POSTGRES_PASSWORD=thisissecret \
-e POSTGRES_USER=kongdb \
-p 54321:5432 \
-v postgres_kong:/var/lib/postgresql/data \
-v ${PWD}/initdb:/docker-entrypoint-initdb.d \
--name postgres_kong postgres

3. Buat database untuk Kong dan Konga UI

  • Masuk di container-nya dulu docker exec -it postgres_kong bash
  • Masuk ke db admin-nya psql -h localhost -p 5432 -U kongdb
  • Buat 2 database postgres_kong dan postgres_konga :
CREATE DATABASE postgres_kong OWNER kongdb;
CREATE DATABASE postgres_konga OWNER kongdb;

Beberapa command line postgre yang digunakan :

  • Show database \l
  • Show user \du
  • Create user CREATE USER namauser SUPERUSER CREATEDB;

Referensi


Install Kong Server

Install Kong server dapat dilakukan dengan berbagai cara, seperti docker atau langsung di baremetal. Panduan ada di web dokumentasinya. Berikut tutorial install Kong server di CentOS.

1. Installing

curl -Lo kong-3.2.1.rpm $(rpm --eval "https://download.konghq.com/gateway-3.x-rhel-%{rhel}/Packages/k/kong-3.2.1.rhel%{rhel}.amd64.rpm")

rpm -iv kong-3.2.1.rpm

atau

yum install kong-3.2.1.rpm

Alternatif install

curl $(rpm --eval "https://download.konghq.com/gateway-3.x-rhel-%{rhel}/config.repo") | sudo tee /etc/yum.repos.d/kong.repo
yum install kong-3.2.1

2. Konfigurasi Kong Server

Konfigurasi ditujukan untuk kong server yang menggunakan database Postgre, selain itu ada juga yang menggunakan .yml (databaseless). Setelah install, konfigurasi file kong.conf.

nano /etc/kong/kong.conf

Konfigurasi Database :

database = postgres
pg_host = 10.10.10.131
pg_port = 54321
pg_user = kongdb
pg_password = thisissecret
pg_database = postgres_kong

Enable Admin Listen untuk menghubungkan kong server dan konga (Web UI) nya. Perlu diperhatikan bahwa IP dan Port berikut tidak boleh di-publish di public.

admin_listen = 10.11.2.158:8001 reuseport backlog=16384, 10.11.2.158:8444 http2 ssl reuseport backlog=16384

Enable SSL

ssl_cert = /etc/ssl/certs/kong.crt
ssl_cert_key = /etc/ssl/certs/kong.key

Untuk mengaktifkan dashboard bawaan Kong di file kong.conf

Untuk alasan keamanan, disable saja baris berikut
admin_gui_url = http://localhost:8002
admin_gui_listen = 0.0.0.0:8002, 0.0.0.0:8445 ssl

Setup Kong agar connect ke database

kong migrations bootstrap -c /etc/kong/kong.conf

Start Kong server

kong start -c /etc/kong/kong.conf

3. Test Kong Server

Akses browser ke alamat ip kong server localhost:8001 atau melalui curl

curl localhost:8001

Untuk mengakses Kong Manager http://localhost:8002 Kong Manager

Referensi


Install Web UI Konga

docker run -d -p 13372:1337 -e "TOKEN_SECRET=somerandomstring" -e "NODE_ENV=production" -v /etc/localtime:/etc/localtime:ro --restart=always -h konga-dev --name konga pantsel/konga

Kalau perintah yang ada di dokumentasi seperti dibawah ini :

docker run -p 13371:1337 -e "TOKEN_SECRET=somerandomstring" -e "NODE_ENV=production" --name konga pantsel/konga

Referensi