一.kong介紹
kong( 是乙個雲原生,高效,可擴充套件的分布式 api 閘道器。 自 2015 年在 github 開源後,廣泛受到關注,目前已收穫 1.9w+ 的 star,其核心價值在於高效能和可擴充套件性。
概念術語
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:0.14.1 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:0.14.1
5.檢視kong是否正在執行。
四.啟動kong dashboard
官方推出了dashboard來管理kong,介面清爽,使用方便,我們接著往下看。
1.建立並執行kong dashboard容器
2.然後訪問
這裡10.51.100.25是我的伺服器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.然後訪問
登入賬號為[email protected],密碼為[email protected]
建立server,如下圖:
2.docker安裝kong:
3.選擇kong作為你的api閘道器:
使用Docker安裝Kong 玩轉Kong閘道器
如果有較舊的 docker 版本稱為 docker 或 docker engine 如果已安裝這些程式,請解除安裝它們以及相關的依賴項。sudo yum remove docker docker client docker client latest docker common docker lat...
Docker 入門及安裝
docker是用go語言開發的應用容器引擎,基於容器化,沙箱機制的應用部署技術。可適用於自動化測試 打包,持續整合和發布應用程式等場景。值得注意的是,docker現已改名為moby。docker基於容器化,沙箱機制,可使你用較少的命令和指令碼快速部署應用。一次構建,多處移植使用。再配合shell等指...
docker安裝服務閘道器kong
為kong建立專用網路 docker network create kong net docker network ls 安裝kong用的資料庫 docker run d name kong database network kong net p 5432 5432 e postgres user ...