Kong入門及docker安裝

2021-09-24 17:36:04 字數 3000 閱讀 3098

一.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 ...