Rancher中部署的kong 怎么样配置strip_path?

rancher版本:2.3.3
kong版本:0.36.4
现状:kong网关在rancher集群中通过helm部署完成,并使用kong-ingress-controller与rancher集群中的ingress做同步,同步service、route等信息。

已经做过的操作有:手动在kong网关中设置strip_path:false ,但是集群中的pod重启后该配置项会自动重置为true。

问题:需要在rancher的某个应用的ingress中添加配置,使得该配置能够关闭kong网关的strip_path功能。

困惑中,请求大佬帮助!

参与19

1同行回答

zhuqibszhuqibs  软件开发工程师 , Adidas
有个办法,修改该参数的lua语句,在openrestry中修改/usr/local/share/lua/5.1/kong/db/schema/entities/routes.lua{ strip_path = { type = "boolean", default = true }, },   lua是不用编译的,将default改为false。我有很大的疑问?(1)kong的配置都是写数据库的,容器重启后,...显示全部

有个办法,修改该参数的lua语句,在openrestry中修改

/usr/local/share/lua/5.1/kong/db/schema/entities/routes.lua

{ strip_path = { type = "boolean", default = true }, },   lua是不用编译的,将default改为false。

我有很大的疑问?
(1)kong的配置都是写数据库的,容器重启后,数据库并不会重启,为啥strip_path 会变为default?
(2)就算kong-ingress在rancher中, strip_path是写在配置文件中,为什么不能通过configmap挂载?

收起
互联网服务 · 2020-04-07
浏览3660
  • @zhuqibs 谢谢你对问题的关注与回复。openrestry中的修改将会是影响全局的,而我们只有部分前端应用有需求,所以我们并没有这样操作。我们的操作是:停止kong-ingress-controller的自动同步,即修改该应用route项标签。 下面对你的问题做一个回答 1.kong-ingress-controller会定时触发同步ingress 至kong 数据库,在获取rancher k8s集群中ingress的数据信息时,没有获取strip_path参数内容,所以使用默认的配置。所以会触发同步,刷一次默认配置。 2.我们也尝试过configmap挂载,但似乎没有生效。 以上回答不足之处请指正,谢谢。
    2020-04-09
  • 这个就奇怪了,kong的所有配置都会写入Cassandra(你们是集群,应该是Cassandra吧),应该是有这个配置。我到数据库里去找一下,看看有没有。你们的kong是什么版本的啊,是不是一个bug
    2020-04-09
  • kong: 0.36.4
    2020-08-21

提问者

sergio1899
系统运维工程师平安
擅长领域: 云计算容器容器云

相关问题

问题状态

  • 发布时间:2020-01-15
  • 关注会员:2 人
  • 问题浏览:4618
  • 最近回答:2020-04-07
  • X社区推广