Apa yang bisa kami bantu?

A. Pendahuluan

API Gateway merupakan salah satu solusi yang sangat diminati dalam pengelolaan API. API Gateway memungkinkan Anda untuk melakukan pengaturan, mengamankan, dan memantau lalu lintas API dengan mudah. Penggunaan Docker Compose akan membuat proses instalasi Kong API Gateway lebih mudah dan cepat. Artikel ini akan membahas cara menginstal Kong API Gateway menggunakan Docker Compose.

B. Instalasi & Konfigurasi

1. Persiapan: 

Pastikan server Anda sudah terinstal Docker dan Docker Compose. Docker dan Docker Compose dapat diinstal dari situs resmi berikut.

2. Menulis File Docker Compose: 

Langkah pertama untuk menginstal Kong API Gateway adalah membuat file docker-compose.yml dengan konfigurasi yang diperlukan untuk Kong dan databasenya. Berikut adalah contoh konfigurasi minimal:

version: '2.1'

services:
  #######################################
  # Postgres: Kong Database
  #######################################
  kong-db:
    image: postgres:14-alpine
    container_name: kong-db
    environment:
      POSTGRES_DB: kong
      POSTGRES_USER: kong
      POSTGRES_PASSWORD: kong
    healthcheck:
      test: ["CMD", "pg_isready", "-U", "kong"]
      interval: 10s
      timeout: 5s
      retries: 5
    restart: on-failure
  #######################################
  # Kong database migration
  #######################################
  kong-migrations:
    image: kong/kong-gateway:3.2.1.0
    command: kong migrations bootstrap
    container_name: kong-migrations
    depends_on:
      kong-db:
        condition: service_healthy
    environment:
      KONG_DATABASE: postgres
      KONG_PG_HOST: kong-db
      KONG_PG_DATABASE: kong
      KONG_PG_USER: kong
      KONG_PG_PASSWORD: kong
    restart: on-failure
  #######################################
  # Kong: The API Gateway
  #######################################
  kong-ce:
    image: kong/kong-gateway:3.2.1.0
    container_name: kong
    restart: on-failure
    depends_on:
      kong-db:
        condition: service_healthy
    environment:
      KONG_DATABASE: postgres
      KONG_PG_HOST: kong-db
      KONG_PG_DATABASE: kong
      KONG_PG_USER: kong
      KONG_PG_PASSWORD: kong
      KONG_PROXY_LISTEN: 0.0.0.0:8000, 0.0.0.0:8443 ssl
      KONG_ADMIN_LISTEN: 0.0.0.0:8001, 0.0.0.0:8444 ssl

    healthcheck:
      test: ["CMD", "curl", "-f", "http://kong-ce:8001"]
      interval: 5s
      timeout: 2s
      retries: 10

    ports:
      - "8000-8001:8000-8001/tcp"
      - "8443:8443"
      - "8444:8444"

3. Menjalankan Docker Compose

Setelah file docker-compose.yml dibuat, jalankan perintah docker compose up -d untuk memulai layanan. Perintah ini akan mengunduh gambar yang diperlukan dan menjalankan kontainer sesuai dengan konfigurasi yang telah Anda buat.

Gambar 1: docker compose up -d

4. Penjelasan service-service yang digunakan:

a. kong-database: 

Service ini menggunakan image Postgres sebagai database untuk menyimpan konfigurasi dan data runtime Kong.

b. kong-migration: 

Service ini bertanggung jawab untuk inisialisasi database Kong dan menjalankan migrasi database.

c. kong: 

Service utama yang menjalankan Kong API Gateway. Service ini bergantung pada kong-database dan kong-migration untuk berfungsi dengan baik.

5. Verifikasi instalasi:

a. Periksa Status Kontainer 

Jalankan perintah berikut untuk memastikan semua kontainer berjalan dengan baik dan sehat:

docker compose ps
Gambar 2: Verifikasi status container

Output yang diharapkan adalah semua kontainer dengan status "Up" dan tidak ada yang "unhealthy".

b. Uji Endpoint Admin Kong 

Anda dapat menggunakan curl untuk menguji endpoint Admin Kong. Jalankan perintah berikut:

curl -i http://localhost:8001
Gambar 3: S

Output yang diharapkan adalah respons HTTP 200 OK dengan informasi tentang Kong.

C. Penutup

Dengan mengikuti langkah-langkah di atas, Anda seharusnya telah berhasil menginstal Kong API Gateway menggunakan Docker Compose. Solusi ini memudahkan Anda dalam mengelola API dengan lebih terstruktur dan efektif. Untuk informasi lebih lanjut, Anda dapat merujuk ke dokumentasi resmi Kong dan sumber-sumber lainnya.

Semoga panduan ini dapat membantu Anda. Temukan bantuan lainnya melalui Knowledge Base Biznet Gio. Jika Anda masih memiliki kendala silahkan hubungi support@biznetgio.com atau (021) 5714567.