当我尝试为我的库伯内特斯集群创建入口资源时(入口控制器已经创建),入口资源/规则正在创建,我能够在kubectl中看到。但是当我做kubectl描述时,我看到一个错误:
默认后端:默认-超文本传输协议-backend:80(
这是预期的吗??我什至无法使用我在入口资源中定义的DNS名称(hotel.example.com
)连接到我的应用程序。是由于这个超文本传输协议-backend错误吗?如果不是,任何建议使应用程序连接!!
[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:
部署文件:namespace. 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
您可能希望将defaultBackend
添加为入口定义的一部分,如下所示
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: default-backend-ingress-example
spec:
defaultBackend:
service:
name: hotel-svc
port:
number: 80
环境
minikube version: v1.21.0
kubectl version: v1.20.7
我意识到这是回答(为子孙后代补充),但在我的情况下,我已经跑了
minikube addons enable ingress
但是系统仍然缺少默认超文本传输协议-backend
。
我怀疑当时有一个冲突的使用端口或一些这样的和默认的超文本传输协议后端默默地未能创建。
在多次尝试纠正问题后,我终于发现执行以下命令为我解决了问题:
原资源已不可用,抱歉
如果我今天必须再次这样做,我可能会尝试直接从ingress-nginx项目应用部署:
kubectl apply -f https://github.com/kubernetes/ingress-nginx/tree/main/deploy/static/provider/baremetal/deploy.yaml
(未测试)
PS:请注意,已经有nginx-load-balanter-conf
的配置图,所以我没有添加这些。
PPS:其次,这只是为了在本地笔记本电脑上进行教育,所以对它的可信度持半信半疑的态度。
如果您使用Minikube,可能是因为您没有启用入口。
请尝试以下命令:
minikube addons enable ingress
或
minikube addons enable ingress --alsologtostderr