【发布时间】:2020-12-12 22:35:59
【问题描述】:
当我尝试为我的 Kubernetes 集群创建入口资源时(入口控制器已创建),入口资源/规则正在创建,我可以在 kubectl get 中看到。 但是当我做 kubectl describe 时,我看到了一个错误:
默认后端:default-http-backend:80()
这是预期的吗?我什至无法使用我在 Ingress 资源中定义的 DNS 名称 (hotel.example.com) 连接到我的应用程序。是因为这个http-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:
部署文件: namespaces.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
deployment.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
【问题讨论】:
-
你能代替描述入口/部署等。单独粘贴这些文件 - 以 yaml 格式?
-
您好,问题已解决,我在 kube-system 命名空间中创建了一个 default-http-backend 服务,上面的错误消失了。
-
在这种情况下,您可以编辑问题,然后根据 StackOverflow 规则将解决方案粘贴为答案吗?
标签: kubernetes kubernetes-ingress