主机中所有路径的入口路由



我有一个使用k3s的本地测试环境。
我正试图通过入口到达一个运行在k3s工人中的本地jenkins pod。
我已经将入口对象配置为在所有路径的特定主机上回答,但它似乎不起作用。
我在交通日志中总是得到404。
是否有一种方法来检查请求是如何流动的?配置
:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: jenkins
namespace: jenkins
labels:
app: jenkins
spec:
rules:
- host: jenkins.homelab.internal
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: jenkins
port: 
number: 80

当ingressclass.kubernetes。io/is-default-class注释在IngressClass资源上被设置为true,新的ingress将被分配这个默认的IngressClass,即使没有指定ingressClassName字段。

annotations:
ingressclass.kubernetes.io/is-default-class: "true"

一个Ingress上的多个Ingress对象使用以下注释:

annotations: 
kubernetes.io/ingress.class: nginx

确保metadata.name是独一无二的。如果每个对象的metadata.name都是相同的,则新的配置只是替换它。

遵循您的问题的入口路径匹配,这里有一个解释路径匹配的博客

也许你的IngressClass没有设置为default,所以你的ingress没有分配给它。

尝试在ingress中设置它:

spec:
ingressClassName: nginx
rules:
...

或者通过将你的入口类设置为default:

kubectl patch ingressclass nginx -p '{"metadata": {"annotations":{"ingressclass.kubernetes.io/is-default-class":"true"}}}'

其中'nginx'是你的IngressClass的名字。

最新更新