kong的集群部署
2019-07-25 17:48
1426 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44259356/article/details/97278134
kong的集群部署
https://blog.csdn.net/weixin_44259356/article/details/97278134
附上官方集群参考文档
https://docs.konghq.com/1.2.x/clustering/
(1)在多台服务器上安装kong
预先准备服务器环境为centos7,第一台服务器为centos6,安装kong,执行如下代码:
$ sudo yum update -y $ sudo yum install -y wget $ wget https://bintray.com/kong/kong-rpm/rpm -O bintray-kong-kong-rpm.repo $ export major_version=`grep -oE '[0-9]+\.[0-9]+' /etc/redhat-release | cut -d "." -f1` $ sed -i -e 's/baseurl.*/&\/centos\/'$major_version''/ bintray-kong-kong-rpm.repo $ sudo mv bintray-kong-kong-rpm.repo /etc/yum.repos.d/ $ sudo yum update -y $ sudo yum install -y kong
安装成功结果如下:
修改kong的配置文件kong.conf
位置为ect/kong,修改内容如下:(注:这里使用的pg数据库必须得设置能远程访问,而且必须准备kong的配置,详见我的另一篇文章,kong的安装和部署)
(2)从centos6迁移kong的数据
执行如下代码:
kong migrations bootstrap [-c /path/to/kong.conf]
结果如下:
将自定义插件部分覆盖kong文档
启动kong,并设置kong管理地址对外开放
通过kong admin ui 访问centos7的kong
(3)对比两台服务器kong数据是否一致
查看有关信息是否和centos6上的kong一致,这里截图只放了service信息
第一张截图为centos7上的kong,第二张截图为centos6上的kong,两个服务器ip地址在右上角,对比数据一致。
在centos6上的kong添加一个服务如下:
刷新centos7上的kong service信息如下:
在centos6上添加的服务成功添加到了centos7上,centos7 kong部署成功。
现在则可以横向扩展任意多个node节点,只要它们连接的是同一个数据库(或集群)即可,如果kong对外希望是一个入口,则可以将这些kong节点作为反向代理的上游,通过nginx转发即可。参考链接https://blog.csdn.net/tr1912/article/details/81603674
(4)Nginx kong负载均衡配置
upstream kong { # 负载均衡算法,根据最少连接数 least_conn; server 192.168.43.132:8000; server 192.168.43.111:8000; } server { # 这些端口要修改为实际情况 Listen 8088; #include snippets/ssl-api.example.com.conf; #include snippets/ssl-params.conf; # https 因为安全原因,需要禁用 gzip # 但是在一些场景下,不需要禁用 # gzip off; gzip on; # 设置允许压缩的页面最小字节数 gzip_min_length 1000; gzip_buffers 4 16k; gzip_http_version 1.1; # 1~9,默认为1,数值越大,压缩率越高,CPU占用越多,时间越久 gzip_comp_level 3; gzip_vary on; # 禁用对 IE 6 使用 gzip 压缩 gzip_disable "MSIE [1-6]\."; gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/javascript "application/javascript; charset=utf-8" application/xml application/xml+rss application/json "application/json; charset=utf-8" fo nt/ttf font/otf image/svg+xml; # 设置最大允许的POST数据量,如果提交的文件超过这个值,会出现413错误 client_max_body_size 20m; keepalive_timeout 15; # 不显示 nginx 的版本号 server_tokens off; ## Individual nginx logs access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; # 这里不能用 ^~ 因为后面跟的是字符串不是正则表达式 # 只匹配符合规则的,其他都返回 404 location / { # 这条命令会将 headers 中的 server 设置为 nginx 代理的后端网站所使用的 proxy_set_header Host $http_host; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Scheme $scheme; proxy_pass http://kong; expires -1; } # 主页返回 404 location = / { return 404; } }
(5)测试连接
配置成功
相关文章推荐
- kong 集群搭建部署参考
- spark1.6.1集群部署(standalone)
- guns代码,集群部署
- Ubuntu构建LVS+Keepalived高可用负载均衡集群【生产环境部署】 推荐
- 入门初探+伪集群部署
- kafka集群部署
- 小公司如何部署实施Linux集群网站【转载】
- 生产环境elasticsearch5.0.1集群的部署配置详解
- ElasticSearch5.x 集群部署 及启动出现的问题解决
- zookeeper单机部署伪集群
- Percona Mysql Galera多读写集群部署生产环境实记
- Etcd v3.3.10 版本部署(3台集群)
- 基于centos7.2最小化环境, cdh manager 及 cdh 集群的部署过程常见问题整理
- 配置管理(可参考用于hadoop集群部署)
- [Eureka集群] 在linux上部署SpringCloudEureka的集群服务端(Dalston.SR5版本)
- Tomcat集群应用部署的实现机制
- k8s, etcd 多节点集群部署问题排查记录
- [置顶] 国内部署kubernets 1.6.2集群
- redis 3.0的集群部署
- 搭建及使用K8s集群 <k8s dashboard pod方式部署>