我已经使用Vagrant创建了一个kubernetes集群。我创建了一个Nginx pod和一个集群IP服务。我可以 curl pod和服务,并获得成功的结果。我现在已经从以下位置安装了一个Nginx入口控制器:https://kubernetes.github.io/ingress-nginx/deploy/#bare-metal-clusters并运行以下命令:kubectl create ingress nginxingress --rule="/nginx=nginx-service:80" --annotation nginx.ingress.kubernetes.io/rewrite-target=/ --default-backend=nginx-service:80
,它们都设置正确,据我所知,没有错误。但每当我尝试 curl 路径,然后它失败,控制器不断抛出404未找到。一些更多的信息,可能会有所帮助:
服务:
入口:
任何帮助都将不胜感激
2条答案
按热度按时间kg7wmglp1#
尝试将入口类注解添加到入口配置中。
kubernetes.io/ingress.class: "nginx"
请使用以下YAML作为参考,并尝试更新配置。
9o685dep2#
有同样的问题,但已经使用
kubernetes.io/ingress.class: "nginx"
作为在苛刻的Manvar回答。如果您需要匹配多个URL,而不是像我一样只匹配基本的主机URL,请在您的入口用途:
spec.rules.[your-host].path: "/(.*)"
个spec.rules.[your-host].path: Prefix
1.元数据.注解.
nginx.ingress.kubernetes.io/use-regex: "true"
有关此配置here的更多详细信息
OBS:有时更新一个入口不工作,您可能需要删除并重新创建该入口。