Kong入門及docker安裝

一.Kong介紹

Kong(https://github.com/Kong/kong) 是一個雲原生,高效,可擴展的分佈式 API 網關。 自 2015 年在 github 開源後,廣泛受到關注,目前已收穫 1.9w+ 的 star,其核心價值在於高性能和可擴展性。


Kong入門及docker安裝

二.安裝前準備

  • 安裝好docker穩定版本
  • 會docker 的基本使用
  • 瞭解kong概念和使用(文檔地址: https://getkong.org/docs/

概念術語

  • upstream: 是對上游服務器的抽象;
  • target: 代表了一個物理服務,是 ip + port 的抽象;
  • service: 是抽象層面的服務,他可以直接映射到一個物理服務(host 指向 ip + port),也可以指向一個 upstream 來做到負載均衡;
  • route: 是路由的抽象,他負責將實際的 request 映射到 service。

    默認情況下,KONG監聽的端口爲

  • 8000: 此端口是KONG用來監聽來自客戶端傳入的HTTP請求,並將此請求轉發到上有服務器;
  • 8443: 此端口是KONG用來監聽來自客戶端傳入的HTTP請求的。它跟8000端口的功能類似,但是它只是用來監聽HTTP請求的,沒有轉發功能。可以通過修改配置文件來禁止它;
  • 8001: Admin API,通過此端口,管理者可以對KONG的監聽服務進行配置;
  • 8444: 通過此端口,管理者可以對HTTP請求進行監控.

    三.Kong安裝

    這裏以0.13.x 以上的版本爲例子,廢棄了API實體對象的使用。
    1.創建docker網絡

    docker network create kong-net

    2.安裝數據庫,kong支持 postgres( postgres9.5以上)和Apache Cassandra
    創建啓動數據庫,這裏以postgres9.5作爲數據庫來存儲數據,如下:

    $ docker run -d --name kong-database \
    --network=kong-net \
    -p 5432:5432 \
    -e "POSTGRES_USER=kong" \
    -e "POSTGRES_DB=kong" \
    postgres:9.6

    3.數據庫準備,初始化Kong數據

    docker run --rm \
    --network=kong-net \
    -e "KONG_DATABASE=postgres" \
    -e "KONG_PG_HOST=kong-database" \
    kong:latest kong migrations up

    4.啓動kong

    docker run -d --name kong \
    --network=kong-net \
    -e "KONG_DATABASE=postgres" \
    -e "KONG_PG_HOST=kong-database" \
    -e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
    -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

    5.查看kong是否正在運行。

    $ curl -i http://localhost:8001
    然後可以通過Restful Admin API 管理kong,參考地址:https://docs.konghq.com/0.14.x/admin-api/


四.啓動Kong Dashboard

官方推出了dashboard來管理Kong,界面清爽,使用方便,我們接着往下看。
1.創建並運行Kong dashboard容器

docker run -d \
--network=kong-net \
--link kong:kong -p 8008:8080 pgbi/kong-dashboard start \
--kong-url http://kong:8001 \
--basic-auth kong=kong

2.然後訪問 http://192.168.33.10:8008,

  • 這裏192.168.33.10是我的虛擬機IP
  • 登錄賬號爲kong,密碼爲kong,如下圖:

Kong入門及docker安裝

五.啓動postgre admin 4

1.創建並運行postgre admin 4容器

docker run -d -p 8009:80 \
--network=kong-net \
--link kong-database:kong-database \
-e "[email protected]" \
-e "[email protected]" \
-d dpage/pgadmin4

2.然後訪問 http://192.168.33.10:8009

Kong入門及docker安裝


六.參考文檔

1.kong官方文檔:https://getkong.org/docs/
2.docker安裝kong:https://blog.csdn.net/freewebsys/article/details/80428830
3.選擇Kong作爲你的API網關:https://www.itcodemonkey.com/article/5980.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章