kong安裝
kong介紹
kong安裝
kong支持在多個環境下安裝,這裏就列出在ubuntu和docker下怎麼安裝,其他的安裝的方式請參照官方指南
ubuntu
ubuntu下安裝kong
- 下載對應版本的離線包
- 安裝依賴組件
apt-get install openssl libpcre3 procps perl
- 安裝kong
dpkg -i kong-1.4.2.*.deb
- 安裝依賴組件
apt-get install -y apt-transport-https curl lsb-core
- 添加倉庫地址
echo "deb https://kong.bintray.com/kong-deb
lsb_release -scmain" | sudo tee -a /etc/apt/sources.list
- 下載bintray.key
curl -o bintray.key https://bintray.com/user/downloadSubjectPublicKey?username=bintray
- 添加bintray.key到本地trusted數據庫
apt-key add bintray.key
- 再次更新apt庫
apt-get update
- 安裝kong
apt-get install -y kong
- 查看kong版本
kong version
ubuntu下啓動kong
- 生成kong的配置文件kong.yml
mkdir -p /apps/kong
cd /apps/kong
kong config init
- 修改配置
vim /apps/kong/kong.conf
# 添加以下內容
database = off
declarative_config = /apps/kong/kong.yml
- 啓動kong
kong start -c /apps/kong/kong.conf
- 測試kong是否啓動成功
curl -i http://localhost:8001/services
- 效果如圖所示:
kong支持PostgreSQL9.5+和Cassandra 3.x.x 作爲他的數據庫,這裏我們以PostgreSQL爲例:
- 生成kong的配置文件kong.yml
mkdir -p /apps/kong
cd /apps/kong
kong config init
- 準備數據庫
# 創建用戶
CREATE USER kong;
# 創建數據庫並指定歸屬用戶
CREATE DATABSE kong OWNER kong;
# 修改用戶密碼
ALTER USER kong WITH PASSWORD '123456';
- 修改kong的配置,讓kong能夠連接上你的數據庫,配置詳情參考Kong官網
vim /apps/kong/kong.conf
#添加以下內容
declarative_config = /apps/kong/kong.yml
# 數據庫連接配置
database = postgres
pg_host = 127.0.0.1
pg_port = 5432
pg_timeout = 5000
pg_user = kong
pg_password = 123456
pg_database = kong
- 先執行數據遷移
## 如果你的kong版本>=0.15,請使用以下指令
kong migrations bootstrap -c /apps/kong/kong.conf
## 如果你的kong版本<0.15,請使用以下指令
kong migrations up -c /apps/kong/kong.conf
- 啓動kong
kong start -c /apps/kong/kong.conf
- 測試kong是否啓動成功
curl -i http://localhost:8001/services
- 效果如圖所示:
Docker
docker下安裝並啓動kong
kong支持在多個環境下安裝,當然最方便快捷的方式就是在docker安裝的方式了,直接拉取官方的鏡像,運行起來即可。關於docker的安裝和介紹,參照Docker入門—介紹和安裝Docker
- 分別拉取kong和PostgreSQL的鏡像
docker pull kong
docker pull postgres
- 創建kong的網絡
docker network create kong-net
- 啓動數據庫
docker run -d --name kong-database \
--network=kong-net \
-p 5432:5432 \
-e "POSTGRES_USER=kong" \
-e "POSTGRES_DB=kong" \
postgres
- 準備數據庫
# 借用臨時的容器來初始化數據庫
docker run --rm \
--network=kong-net \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
-e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
kong kong migrations bootstrap
- 啓動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
- 測試kong是否啓動成功
curl -i http://localhost:8001/services
- 效果如圖所示: