入口资源中未找到终结点“Default-Http-Backend” [英] endpoints “default-http-backend” not found in Ingress resource
本文介绍了入口资源中未找到终结点“Default-Http-Backend”的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
当我尝试为Kubernetes集群创建入口资源时(入口控制器已经创建),入口资源/规则正在创建,并且我能够在kubectl中看到。 但当我描述时,我看到一个错误:
默认后端:Default-http-Backend:80(<;错误:EndPoints "Default-http-Backend"未找到>;)
这是意料之中的吗??我甚至无法使用我在Inress资源中定义的DNS名称(hotel.example.com
)连接到我的应用程序。是因为这个http后端错误吗?
如果不是,有任何建议使应用程序连接!!
[dockuser@hostname]$ kubectl describe ing hotel-ingress -n hotel
Name: hotel-ingress
Namespace: hotel
Address:
Default backend: default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
Rules:
Host Path Backends
---- ---- --------
hotel.example.com
/ hotel-svc:80 (10.36.0.2:80,10.44.0.2:80)
Annotations:
Events:
部署文件:
名称空间.yaml
apiVersion: v1
kind: Namespace
metadata:
name: hotel
ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: hotel-ingress
namespace: hotel
spec:
rules:
- host: hotel.example.com
http:
paths:
- path: /
backend:
serviceName: hotel-svc
servicePort: 80
部署.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: hotel
namespace: hotel
spec:
replicas: 2
selector:
matchLabels:
app: hotel
template:
metadata:
labels:
app: hotel
spec:
containers:
- name: hotel
image: nginxdemos/hello:plain-text
ports:
- containerPort: 80
service.yaml
apiVersion: v1
kind: Service
metadata:
name: hotel-svc
namespace: hotel
spec:
selector:
app: hotel
ports:
- port: 80
targetPort: 80
推荐答案
我意识到这已得到回答(为后代添加),但在我的情况下,我已经运行
minikube addons enable ingress
但系统仍然缺少default-http-backend
。
我怀疑当时存在端口或类似端口的冲突使用,并且默认的-http-后端无法创建。
在多次尝试更正该问题后,我终于发现执行以下命令可以解决该问题:
[更新2021-12-15]
原始资源不再可用,抱歉
如果我今天必须再次这样做,我可能会尝试直接从ingress-nginx project:
应用部署kubectl apply -f https://github.com/kubernetes/ingress-nginx/tree/main/deploy/static/provider/baremetal/deploy.yaml
(未测试)
ps:请注意,nginx-load-balancer-conf
已经存在配置映射,所以我没有添加这些配置映射。
PPS:其次,这只是针对本地笔记本电脑的教育,因此对其可信度持保留态度。
这篇关于入口资源中未找到终结点“Default-Http-Backend”的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文