-
Notifications
You must be signed in to change notification settings - Fork 339
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
request help: 创建apisixupstream对象抛upstream is not referenced异常 #864
Comments
@marchlhw Unless the Kubernetes Service is referenced (used in ApisixRoute`), or the underlying APISIX Upstream won't be created, even if ApisixUpstream existing. |
apisix-ingress-controller中apisixupstream的用途:仅仅是在原生kubernetes service需要丰富一些功能时使用,比如:健康检查,负载算法等,不需要这些功能就不用创建apisixupstrem。 apisix-ingress-controller中apisixupstream的逻辑有可能会改吗?创建apisixupstream crd并与kubernetes service关联也会创建upstream |
apisix-ingress-controller中apisixupstream的逻辑有可能会调整吗?创建apisixupstream crd并与kubernetes service关联也会创建upstream |
This may be up for discussion. |
If you have time, you can join the meeting this Wednesday #614 |
yes,we need too. |
We need a k8s-based service discovery function that can synchronize to the latest service pods information in real time. At present, only ingress has such a function, but the routing and consumer functions of the management side are currently carried out in the dashboard. Based on the current status , which is an optimal choice. Our implementation process is:
This is our scene. |
got it. |
copy from #871 @myselfghost |
Yes!We need this feature too, eagerly |
Our team have the same scenary, we may need this feature! Is there any schedule about this? |
In many cases, upstream is actually some kind of metadata. It is a system configured based on metadata, such as the publishing system. Routing is a dynamic configuration in which the control surface controls how traffic enters the corresponding upstream. It is more processed by the micro service traffic management system. If the two can be configured separately, it will bring great flexibility. |
@jerrytaotz @xiangtianyu @xuminwlt Thanks for your feedback. Based on discussions on multiple issues and community meetings, I added a I will write a proposal for the specific implementation plan. |
Great to me. |
@tao12345666333 @tokers Hello to both of you. I encountered a similar issue on #1855, but my 'ApisixRoute' is bound to the correct Kubernetes Service, which periodically prompts' warn Apisix/upstream. go: 69 upstream not found ', causing Apisix to process many useless requests; My log does not contain 'upstream is not referenced', but there are many periodic "This is causing me a lot of distress, and I hope you can provide me with some help. I am deeply grateful." |
Issue description
我在使用apisix ingress controller的情况下,只创建apisixupstream对象,发现etcd中没有生产对应的upstream,如下:
![图片](https://user-images.githubusercontent.com/7006014/153744168-66f0ae55-500a-49b9-bfd0-cdfc8abaa72d.png)
![图片](https://user-images.githubusercontent.com/7006014/153744183-c7247240-1aec-40bc-b663-cce4cd9617d4.png)
apisix ingress controller输出如下类似的日志:
2022-02-13T15:16:29+08:00 warn apisix/upstream.go:70 upstream not found {"name": "apisix_httpbin_80", "url": "http://10.115.21.113:9180/apisix/admin/upstreams/f7a2533e", "cluster": "default"}
2022-02-13T15:16:29+08:00 warn ingress/controller.go:653 upstream is not referenced {"cluster": "name=default; base_url=http://10.115.21.113:9180/apisix/admin", "upstream": "apisix_httpbin_80"}
如果我删掉apisixupstream对象后,仅创建apisixroute对象,发现etcd中不仅创建对象了upstream,还创建了route,如下:
![图片](https://user-images.githubusercontent.com/7006014/153744199-135c744f-260d-48a9-8dd5-f69b2dbf533c.png)
![图片](https://user-images.githubusercontent.com/7006014/153744203-4bbf3f14-19b1-4145-bdfc-153da318ca63.png)
![图片](https://user-images.githubusercontent.com/7006014/153744208-2484f0f9-bfd8-41a5-bebf-c7cdd9695f54.png)
述求:结合我们的实际使用场景,我只想在创建apisixupstream后,控制器调用apisix管理api在etcd中生成相应的upstream,并实时更新,其他的对象比如route、plugin、customer等统一通过dashbord创建,但是按照以上我实际测试出来的情况,满足不了我的诉求,不确定apisix ingress controller就是这么设计的,还是有问题
Environment
your apisix-ingress-controller version (output of apisix-ingress-controller version --long):
![图片](https://user-images.githubusercontent.com/7006014/153744397-06b222da-8791-4c42-8205-03d0c8ab3384.png)
your Kubernetes cluster version (output of kubectl version):
![图片](https://user-images.githubusercontent.com/7006014/153744391-02b90b92-091f-4b88-9f5d-0d9beaf2ab59.png)
if you run apisix-ingress-controller in Bare-metal environment, also show your OS version (uname -a):
![图片](https://user-images.githubusercontent.com/7006014/153744447-b25e4c1a-9586-40ed-9f51-af5f7db51041.png)
The text was updated successfully, but these errors were encountered: