kong的管理UI選擇-konga



前言
當前KONG的社區版是沒有dashboard的,但是付費的企業版是有帶的。
GitHub上開源且還在更新維護的dashboard有兩個

  • kong-dashboard:Kong Dashboard 3.3.0 is only partially compatible with Kong 0.13. It does not support the new Service and Route objects introduced in Kong 0.13.
  • konga:From 0.14.0 onwards, Konga is ONLY compatible with Kong >= 1.0.0

根據GitHub說明得知
kong-dashboard最新版本v3.6.0,只能支持到kongv0.14.x,對於kong的更高版本,功能支持不齊全;
konga從0.14.0開始,僅與Kong> = 1.0.0兼容。Konga 0.12+與Kong 0.14+完全兼容。較早的Kong版本仍然兼容,但不能保證。

雖然,市面上kong-dashboard應用比較廣泛,但kong的功能不斷強大,伴隨着版本更替,個人覺得還是使用支持及更新高效的kongaUI比較好。


npm方式安裝

依賴

  • 安裝npm
  • node: version >= 8.x

lib庫

  • Sails.js
  • AngularJS

1. 准備依賴環境

Install npm and node.js

wget -P /app/tools/ https://nodejs.org/dist/v8.11.3/node-v8.11.3-linux-x64.tar.xz
tar -xf /app/tools/node-v8.11.3-linux-x64.tar.xz -C /opt/
cd /opt/
mv node-v8.11.3-linux-x64 nodejs
chown -R root.root nodejs
#echo 'export PATH=$PATH:/opt/nodejs/bin' >> /etc/profile
#source /etc/profile
ln -s /opt/nodejs/bin/node /usr/local/bin/
ln -s /opt/nodejs/bin/npm /usr/local/bin/

Install bower, ad gulp packages

# 如果下載慢,可以修改npm源:$ npm --registry https://registry.npm.taobao.org info underscore 
npm install -g gulp
npm install -g bower
npm install -g sails
npm install -g unirest

驗證一下版本

node -v
npm -v 

2. 安裝konga

2019/12/6 更新:

由於我們的kong是社區版 kong-community v1.1.2,最新版本UI - konga v0.14.7在連接kong之后產生不兼容的情況(字段:Https redirect status code),因此,我們改用了可兼容的konga v0.14.1版本,版本對比並無重大變化,所以並不影響我們的學習和使用。

至於,UI - konga v0.14.7是否可兼容kong的最新版v1.4.1,並未驗證。

如果你的kong版本的最新的v1.4.x,僅需要忽略下面git相關操作即可。

cd /opt/
git clone https://github.com/pantsel/konga.git
cd konga

# git checkout v0.14.1-1 # Git報錯:your local changes to the following files would be overwitten by merge
#git stash
#git pull origin master
#git stash pop
#git pull origin master
#git add .
#git commit -m "Enable branch 0.14.1"

git checkout -b v0.14.1-1 0.14.1
git checkout v0.14.1-1
git branch -a
git describe --tags

npm install konga # 如果報`permission denied`相關錯誤, $ npm install konga --unsafe-perm=true --allow-root 
npm i pm2 -g

安裝依賴

npm run bower-deps
npm install dotenv-extended
npm install angular

3. 配置

項目內已經提供了配置文件用例.env_example,復制為.env並修改配置項即可。

關鍵的配置有PORT、DB_ADAPTER、DB_URI、DB_USER、DB_PASSWORD等。

cp .env_example .env

$ vim .env,根據自身環境修改,默認配置如下:

PORT=1337
NODE_ENV=production
KONGA_HOOK_TIMEOUT=120000
DB_ADAPTER=postgres
#DB_HOST=127.0.0.1
#DB_PORT=5432
#DB_USER=konga
#DB_PASSWORD=konga
#DB_DATABASE=konga
DB_URI=postgresql://konga:konga@localhost:5432/konga
KONGA_LOG_LEVEL=warn
TOKEN_SECRET=some_secret_token

4. 環境變量(more)

5. 數據庫

配置

konga的數據庫支持

  1. MySQL
  2. MongoDB
  3. PostgreSQL
    為了使用它們,請在.env文件中設置適當的環境變量。

我選用的是PostgreSQL,版本建議9.6,過高可能出現不兼容狀況。為了保障一切順利進行,pgsql的部署可參考[postgresql安裝及配置]

[root@sltkp3cbpch konga]# su - postgres
Last login: Wed Nov 27 16:39:27 CST 2019 on pts/0
-bash-4.2$ psql
Password:
psql (10.11)
Type "help" for help.

postgres=# create user konga with password 'konga';
CREATE ROLE
postgres=# create database konga owner konga;
CREATE DATABASE
postgres=# grant all privileges on database konga to konga;
GRANT
postgres=#

重啟生效

systemctl restart postgresql-9.6

初始化/遷移

如果連接的是MySQL或PostgresSQL,則在生產模式下運行時,Konga將不會執行數據庫遷移。
您可以通過調用$ node ./bin/konga.js prepare 傳遞數據庫連接所需的args 來手動執行遷移。

node ./bin/konga.js prepare --adapter postgres --uri postgresql://konga:konga@127.0.0.1:5432/konga

6. 運行

啟動

# 官方啟動方式
nohup npm run production &
# 其他啟動方式(建議使用):
pm2 start app.js --name konga
pm2 start npm --name 'konga' -- run production

如果在啟動時報erro,可以根據日志提示進行修復 /root/.npm/_logs/”date“-debug.log

登錄驗證
用瀏覽器打開Konga地址,一般是http://localhost:1337,顯示界面如下:
由於當前沒有管理員,所以需要注冊一個管理員。

完成登錄后,由於沒有連接到Kong,因此需要新建一個到Kong的鏈接

Docker方式安裝

待整理,由於使用了npm方式,這里就不細寫了;
npm簡單方便,以下提供兩個參考連接:


關於Kong-Dashboard

由於本人選用UI為konga,需要kong-dashboard的資源請訪問【GitHub】kong-dashboard

 
[sleepy↓]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM