我在Helm v2.2中使用AKS尝试部署一个图表,该图表利用nginx LoadBalancer Pod通过一个IP地址控制进入我的服务的所有入口。这非常处于实验阶段,但是我已经证明,当我对.net核心webapi服务使用以下Helm入口配置时:
ingress:
enabled: true
annotations:
kubernetes.io/ingress.class: nginx
hosts:
- host:
paths:
- /
然后我确实可以访问暴露的api并在以下位置查看swagger ui
http://[My External IP]/index.html
然后我想要做的就是将多个服务放在同一个LoadBalancer后面(如您所愿),因此我的期望是我可以将上述服务配置更改为类似这样的内容:
ingress:
enabled: true
annotations:
kubernetes.io/ingress.class: nginx
hosts:
- host:
paths:
- /serviceA
这应该意味着我可以通过现在更新的URL访问相同的服务:
http://[My External IP]/serviceA/index.html
这是我应该期望的工作吗?到目前为止,我是否需要使用任何种类的重写系统,因为我从该URL处收到错误消息,提示它找不到某些丢失的资源。使用重写注释的任何尝试也都没有帮助我。有人可以帮我指出我可能做错了什么吗?使用新的url路径,我最终在index.html页试图加载的文件上出现以下类型的错误,表明该文件可以正常工作,但需要重写或执行某些操作?
Failed to load resource: the server responded with a status of 404 ()
作为Helm图表模板引擎的结果,创建了以下入口yaml文件:
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: myrelease-release-manager
labels:
app.kubernetes.io/name: release-manager
helm.sh/chart: release-manager-0.1.0
app.kubernetes.io/instance: release-name
app.kubernetes.io/version: "1.0"
app.kubernetes.io/managed-by: Tiller
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/force-ssl-redirect: "false"
nginx.ingress.kubernetes.io/rewrite-target: /serviceA
nginx.ingress.kubernetes.io/ssl-redirect: "false"
spec:
rules:
- host:
http:
paths:
- path: /serviceA
backend:
serviceName: myrelease-release-manager
servicePort: 80
由于此入口文件,当我使用路径/serviceA/index.html转到我的外部IP地址时,我想访问此服务。>
我在Helm v2.2中使用AKS尝试部署一个图表,该图表利用nginx LoadBalancer Pod通过一个IP地址控制进入我的服务的所有入口。这在实验中非常重要...
关闭,您需要将重写目标更新为/ $ 2