我有一个Azure k8s群集,我想在其中提供两项服务,詹金斯和我自己的节点应用程序。我有docker映像,它们可以正常工作。我需要访问 mydomain.com/jenkins 并查看我的Jenkins实例。 mydomain.com/node 和我的节点应用程序也是如此。
我遇到的第一个问题是我可以看到html页面,但是例如CSS尝试加载到mydomain.com/css/style.css中,而不是mydomain.com/node/css/style.css中。我使用当前的入口配置对其进行了修复:
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$2
name: ingress
spec:
rules:
- host: domain.com
http:
paths:
- path: /(jenkins)?/?(.*)
backend:
serviceName: jenkins-service
servicePort: 8080
这是我最接近的尝试。通过此配置,我可以成功访问Jenkins。但是,如果我为节点应用程序添加其他路径,即使我访问 mydomain.com/node ,它也会将我重定向到Jenkins。我知道使用子域做到这一点会容易得多,但是我特别被告知要这样做。我一整天都受不了,所以我将不胜感激。