Iris

Results 21 comments of Iris

感觉跟我的路由怎么创建的没有关系,就是一个特别简单的路由创建: ![9069a8f6edd1aceda66dac7b6f2b31e](https://github.com/alibaba/higress/assets/30678878/e349bff8-8b1d-470b-a7e4-75fe861e12d6)

我们k8s是1.17.5, > 哦 是不是因为k8s的ingress版本是extensions/v1beta1,这个版本不支持resource backend,现在console默认用的resource backend 看了一下,1.17.5的ingress只能用service backend啊,这个问题,除了升级k8s版本,有没有别的办法支持使用console呀?

就简单配置了一个路由和重定向规则,访问不通。 在gateway中查看cluster和endpoint情况: ![image](https://github.com/user-attachments/assets/abe459cf-a691-4a1c-9220-b4030bef8b16) ![image](https://github.com/user-attachments/assets/57ca7ead-0e88-4847-8760-80404d0ac9d5) 在controller中查看serviceentry和vs都事正常的: ![image](https://github.com/user-attachments/assets/72975b1f-5536-4317-81f2-c6099c5b3d25) 在controller和gateway中没看到什么异常,在gateway中只看到循环在报下面的wariwarning: ![image](https://github.com/user-attachments/assets/70237456-3e71-4ac7-9988-f5eca34f39e3)

> 你这个是建了一个固定IP的服务,配了域名? 没有配置域名 > 控制台下发的吗?mcpbridge看下 是控制台下发的,只有一个default的mcpbridge,里面是eureka注册中心的配置

通过在controller中执行`curl http://localhost:15014/debug/configz`获取configz,查找gateway中循环报warning的域名信息,发现有一个该域名是某一个服务的endpoints地址,在console的服务列表中搜索服务也能够查到: ![image](https://github.com/user-attachments/assets/943a6a53-9f2f-4a0f-891b-6fe6d0321bf6) ![image](https://github.com/user-attachments/assets/a669c2ff-e59d-487a-b3d6-cffcf5c4febf) 该服务在注册中心中查不到了,已经下掉了,于是将controller重启,gateway中不再刷上面的warning了,到gateway中查路由不生效的服务对应的endpoints也能查到了,再次访问服务就正常了。 不知道是不是因为存在注册地址是路由的服务导致的该问题,明天尝试复现一下。

今天该服务再次注册到了注册中心,重启了controller和gateway后复现了该问题,但是发现并不是所有的EDS都下发失败,部分是好的,部分没有,看不出什么规律,下面是在gateway中查看cluster看到的: ![image](https://github.com/user-attachments/assets/373313bf-9cf5-4431-9c67-c5bf70c98f18)

看起来并不是由于修改注册中心地址的操作引起的报错,今天发现另一个测试环境里没有进行上面的操作,也出现了该容器重启,容器里报了上面的错误

> @lcfang 可以在你的环境下debug一下看看吗,比如在之前判断一下指针是否为空?以及GetApplication的地方也加一些日志 有个问题就是没有办法稳定复现,这个容器有debug日志级别调整开关吗?

基本定位到:1、由于服务数量多,eureka服务订阅会定期全量更新,一旦有服务或者配置更新,也会触发配置全量下发;2、Prometheus调用gateway state接口获取监控数据,会导致CPU飙升; controller对接eureka配置按需更新的特性下个版本能加吗? @johnlanni

后来发现主要是Prometheus进行数据采集导致的 --- Later I found out that it was mainly caused by Prometheus for data collection