Kong网关部署(一)

Kong网关部署(一)

写在前面

版本控制:

  • centos7.3
  • postgresql-11
二.安装Kong需要的数据库PostgreSQL
1. 准备:安装依赖组件
yum -y install gcc-c++ &
yum -y install pcre pcre-devel &
yum -y install zlib zlib-devel &
yum -y install openssl openssl-devel &
yum -y install wget 
2.安装及配置
  • 安装:
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
yum install -y postgresql11 postgresql11-server
  • 数据库初始化:
/usr/pgsql-11/bin/postgresql-11-setup initdb
  • 设置数据库允许远程访问 sudo vim /var/lib/pgsql/11/data/postgresql.conf:
#listen_addresses = 'localhost'
#port=5432
修改为:
listen_addresses = '*'
port=5432
  • 修改客户端认证配置文件sudo vim /var/lib/pgsql/11/data/pg_hba.conf
#在ipv4下面修改:
#host all all 127.0.0.1/32 trust		//本地访问完全信任
host all all 0.0.0.0/0 md5				//远程访问需要密码

修改后大概就是这个样子:
# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 ident
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     all                                     peer
#host    replication     all             127.0.0.1/32            ident
#host    replication     all             ::1/128                 ident
host    all             all             0.0.0.0/0               md5
  • 启动服务
systemctl start postgresql-11
#systemctl restart postgresql-11 //重启命令
  • 设置开机自启动
systemctl enable postgresql-11
三.操作postgresql
1. 修改postgres用户密码
# PostgreSQL会创建一个默认的linux用户postgres,修改该用户密码的方法如下:
# 1. 删除用户postgres的密码
sudo  passwd -d postgres
# 2. 设置用户postgres的密码
sudo -u postgres passwd
输入新的密码即可

2. 创建用户(名字任意)
//进入postgres
sudo -u postgres psql
//创建用户
create user kong with password '123456'; 
//若要修改kong用户的密码,如下:
ALTER USER kong WITH PASSWORD 'new_password';
3. 创建叫kong的数据库(名字任意)
create database kong owner kong;
4. 赋予用户权限
grant all privileges on database kong to kong; 
5. 防火墙打开5432端口

若为本地虚拟机,可以这样打开:

firewall-cmd --permanent --add-port=5432/tcp
firewall-cmd --reload
6. postgresql常用操作
  • 查看所有数据库 \l
  • 查看所有角 色 \du

四.安装Kong

1. 下载安装包
wget https://kong.bintray.com/kong-rpm/centos/7/kong-2.0.1.el7.amd64.rpm
2. 安装
yum install epel-release
yum install kong-2.0.1.*amd64.rpm --nogpgcheck
3. 配置数据库连接
cp /etc/kong/kong.conf.default /etc/kong/kong.conf
vim /etc/kong/kong.conf

修改数据库配置:

# 修改数据库配置
database = postgres             # Determines which of PostgreSQL or Cassandra
 
pg_host = 127.0.0.1             # The PostgreSQL host to connect to.
pg_port = 5432                  # The port to connect to.
pg_user = kong                  # The username to authenticate if required.
pg_password = 你的密码            # The password to authenticate if required.
pg_database = kong              # The database name to connect to.
admin_listen = 0.0.0.0:8001, 0.0.0.0:8444 http2 ssl #外网访问
4. 初始化数据库
kong migrations bootstrap -c /etc/kong/kong.conf
5. 启动kong
kong start -c /etc/kong/kong.conf
# kong restart -c /etc/kong/kong.conf
# kong top c/kong/kong.conf
# kong start
6. 测试kong
curl -i  http://localhost:8001
7. 设置开机自启动
systemctl enable kong
五.安装Kong Dashboard可视化界面
1. 安装Node.js
# kong Dashboard是nodejs写的
sudo yum install -y nodejs
2. 安装git
#使用git方法
yum install -y git
yum install -y gcc-c++
#下载konga包并安装
git clone https://github.com/pantsel/konga.git
cd konga
npm i

npm i 时报点错不影响,那个错误忘记保留下来了,前端很多框架npm时都会报那个错误

3. 安装docker
//更新源
sudo yum update
//执行docker安装脚本
curl -sSL https://get.docker.com/ | sh
//启动docker
sudo service docker start 
4. 安装docker-compose
curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
5. docker安装konga镜像
#docker pull konga
//阿里云镜像,更快
docker pull registry.cn-hangzhou.aliyuncs.com/zhanghongzhuang-k8s/konga:latest
6. docker创建kong数据库,并初始化
docker run --rm registry.cn-hangzhou.aliyuncs.com/zhanghongzhuang-k8s/konga -c prepare -a postgres -u postgresql://用户名:密码@ip:(prot默认是5432)5432/数据库名字

# docker run --rm konga -c prepare -a postgres -u postgresql://用户名:密码@ip:(prot默认是5432)5432/数据库名字
//例
# docker run --rm registry.cn-hangzhou.aliyuncs.com/zhanghongzhuang-k8s/konga -c prepare -a postgres -u postgresql://kong:CentOS7.3@47.94.87.117 :5432/kong
7.创建docker-compose.yml文件

vim docker-compose.yml,内容如下:

version: '2.1'
services:
  kong:
    image: "registry.cn-hangzhou.aliyuncs.com/zhanghongzhuang-k8s/konga:latest"
    environment:
      DB_ADAPTER: postgres
      DB_HOST: 47.94.87.117
      DB_PORT: 5432
      DB_USER: kong
      DB_PASSWORD: CentOS7.3
      DB_DATABASE: kong
      NODE_ENV: production
    ports:
      - "1337:1337/tcp"
    restart: on-failure

注意,这里的version必须是docker-compose的版本要求的才行,否则报错会让你不能理解

8.运行
  1. 执行 docker-compose up -d,
  2. pingcurl -i http://47.94.87.117:1337即可查看运行结果
  3. docker-compose的命令和docker差不多
最后
  1. 参考文档:
  1. 所有操作中需要打开的防火墙:
  • 5432 postgresql数据库端口
  • 1337 这可以改变,konga界面的端口
  • 8001 我未用到这个功能
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值