【发布时间】:2021-05-22 14:11:55
【问题描述】:
我无法匹配我在入口资源中提到的规则中的任何路径。 只有默认的“/”映射到服务,其他路径(例如 shyam.local/sample)返回:
无法获取 /sample。
这是我的入口 yaml:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: example-ingress
spec:
rules:
- host: "shyam.local"
http:
paths:
- path: "/"
pathType: Prefix
backend:
service:
name: my-service
port:
number: 3000
- path: "/sample"
pathType: Prefix
backend:
service:
name: mongo-express-service
port:
number: 8081
不确定这是否意味着一些伤害,但我在入口中提到的默认后端中看到了一个错误
这是我对kubectl describe ingress example-ingress的输出
Name: example-ingress
Namespace: default
Address: 192.168.43.130
Default backend: default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
Rules:
Host Path Backends
---- ---- --------
shyam.local
/ my-service:3000 (10.42.0.83:3000,10.42.0.84:3000,10.42.0.85:3000 + 1 more...)
/sample mongo-express-service:8081 (10.42.0.62:8081)
Annotations: <none>
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Sync 13m (x6 over 41m) nginx-ingress-controller Scheduled for sync
如here 所述,我正在使用带有 k3s 的 nginx-ingress。
这是我对kubectl get all -n ingress-nginx 的输出
NAME READY STATUS RESTARTS AGE
pod/ingress-nginx-admission-create-bmn9s 0/1 Completed 0 59m
pod/ingress-nginx-admission-patch-6tx6l 0/1 Completed 1 59m
pod/ingress-nginx-controller-7d779d8ccf-d7ddv 1/1 Running 0 56m
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/ingress-nginx-controller-admission ClusterIP 10.43.224.186 <none> 443/TCP 59m
service/ingress-nginx-controller NodePort 10.43.233.81 <none> 80:32069/TCP,443:31746/TCP 59m
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/ingress-nginx-controller 1/1 1 1 59m
NAME DESIRED CURRENT READY AGE
replicaset.apps/ingress-nginx-controller-7d779d8ccf 1 1 1 56m
replicaset.apps/ingress-nginx-controller-6cb6fdd64b 0 0 0 59m
NAME COMPLETIONS DURATION AGE
job.batch/ingress-nginx-admission-create 1/1 21s 59m
job.batch/ingress-nginx-admission-patch 1/1 22s 59m
关于这可能是什么原因的任何建议?
【问题讨论】:
标签: nginx kubernetes nginx-ingress k3s