溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Kong入門及docker安裝

發(fā)布時(shí)間:2020-07-12 03:58:47 來(lái)源:網(wǎng)絡(luò) 閱讀:3094 作者:阿澤Aze 欄目:建站服務(wù)器

一.Kong介紹

Kong(https://github.com/Kong/kong) 是一個(gè)云原生,高效,可擴(kuò)展的分布式 API 網(wǎng)關(guān)。 自 2015 年在 github 開源后,廣泛受到關(guān)注,目前已收獲 1.9w+ 的 star,其核心價(jià)值在于高性能和可擴(kuò)展性。


Kong入門及docker安裝

二.安裝前準(zhǔn)備

  • 安裝好docker穩(wěn)定版本
  • 會(huì)docker 的基本使用
  • 了解kong概念和使用(文檔地址: https://getkong.org/docs/)
概念術(shù)語(yǔ)
  • upstream: 是對(duì)上游服務(wù)器的抽象;
  • target: 代表了一個(gè)物理服務(wù),是 ip + port 的抽象;
  • service: 是抽象層面的服務(wù),他可以直接映射到一個(gè)物理服務(wù)(host 指向 ip + port),也可以指向一個(gè) upstream 來(lái)做到負(fù)載均衡;
  • route: 是路由的抽象,他負(fù)責(zé)將實(shí)際的 request 映射到 service。
    默認(rèn)情況下,KONG監(jiān)聽(tīng)的端口為
  • 8000: 此端口是KONG用來(lái)監(jiān)聽(tīng)來(lái)自客戶端傳入的HTTP請(qǐng)求,并將此請(qǐng)求轉(zhuǎn)發(fā)到上有服務(wù)器;
  • 8443: 此端口是KONG用來(lái)監(jiān)聽(tīng)來(lái)自客戶端傳入的HTTP請(qǐng)求的。它跟8000端口的功能類似,但是它只是用來(lái)監(jiān)聽(tīng)HTTP請(qǐng)求的,沒(méi)有轉(zhuǎn)發(fā)功能??梢酝ㄟ^(guò)修改配置文件來(lái)禁止它;
  • 8001: Admin API,通過(guò)此端口,管理者可以對(duì)KONG的監(jiān)聽(tīng)服務(wù)進(jìn)行配置;
  • 8444: 通過(guò)此端口,管理者可以對(duì)HTTP請(qǐng)求進(jìn)行監(jiān)控.

    三.Kong安裝

    這里以0.13.x 以上的版本為例子,廢棄了API實(shí)體對(duì)象的使用。
    1.創(chuàng)建docker網(wǎng)絡(luò)

    docker network create kong-net

    2.安裝數(shù)據(jù)庫(kù),kong支持 postgres( postgres9.5以上)和Apache Cassandra
    創(chuàng)建啟動(dòng)數(shù)據(jù)庫(kù),這里以postgres9.5作為數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)數(shù)據(jù),如下:

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

    3.數(shù)據(jù)庫(kù)準(zhǔn)備,初始化Kong數(shù)據(jù)

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

    4.啟動(dòng)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是否正在運(yùn)行。

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


四.啟動(dòng)Kong Dashboard

官方推出了dashboard來(lái)管理Kong,界面清爽,使用方便,我們接著往下看。
1.創(chuàng)建并運(yùn)行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.然后訪問(wèn) http://192.168.33.10:8008,

  • 這里192.168.33.10是我的虛擬機(jī)IP
  • 登錄賬號(hào)為kong,密碼為kong,如下圖:

Kong入門及docker安裝

五.啟動(dòng)postgre admin 4

1.創(chuàng)建并運(yùn)行postgre admin 4容器

docker run -d -p 8009:80 \
--network=kong-net \
--link kong-database:kong-database \
-e "PGADMIN_DEFAULT_EMAIL=admin@admin.com" \
-e "PGADMIN_DEFAULT_PASSWORD=admin@admin.com" \
-d dpage/pgadmin4

2.然后訪問(wèn) http://192.168.33.10:8009

  • 登錄賬號(hào)為admin@admin.com,密碼為admin@admin.com
  • 創(chuàng)建server,如下圖:
    Kong入門及docker安裝

Kong入門及docker安裝


六.參考文檔

1.kong官方文檔:https://getkong.org/docs/
2.docker安裝kong:https://blog.csdn.net/freewebsys/article/details/80428830
3.選擇Kong作為你的API網(wǎng)關(guān):https://www.itcodemonkey.com/article/5980.html

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI