Azure Kubernetes ingress重写问题
我在Kubernetes中有一个入口定义Azure Kubernetes ingress重写问题,azure,kubernetes,kubernetes-ingress,kubernetes-service,Azure,Kubernetes,Kubernetes Ingress,Kubernetes Service,我在Kubernetes中有一个入口定义 apiVersion: extensions/v1beta1 kind: Ingress metadata: name: dev annotations: kubernetes.io/ingress.class: nginx #nginx.ingress.kubernetes.io/use-regex: "true" nginx.ingress.kubernetes.io/rewrite-target: / spec
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: dev
annotations:
kubernetes.io/ingress.class: nginx
#nginx.ingress.kubernetes.io/use-regex: "true"
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
tls:
- hosts:
- xyz.org
secretName: ingress-tls
rules:
- host: xyz.org
http:
paths:
- path: /configuration/*
backend:
serviceName: dummysvc
servicePort: 80
当我点击url时,我需要它:它应该转到服务作为响应发送的某个文件或某个实体,但这不会发生,它会给我一个错误页面“没有找到上述地址的网页”
这就是入口的问题吗
以下是我的服务规范:
apiVersion: v1
kind: Service
metadata:
name: dummysvc
spec:
#type: LoadBalancer
type: NodePort
ports:
- port: 80
targetPort: 80
protocol: TCP
selector:
app: configurationservice
以下是我的部署规范:
apiVersion: apps/v1
kind: Deployment
metadata:
name: dummy-deployment
labels:
app: configurationservice
spec:
replicas: 3
selector:
matchLabels:
app: configurationservice
template:
metadata:
labels:
app: configurationservice
spec:
volumes:
- name: appinsights
secret:
secretName: appinsightngm-secrets
- name: cosmosdb
secret:
secretName: cosmosdbngm-secrets
- name: blobstorage
secret:
secretName: blobstoragengm-secrets
- name: azuresearch
secret:
secretName: azuresearchngm-secrets
containers:
- name: configurationservice
image: xyz.azurecr.io/xyz.configurationservice:develop
imagePullPolicy: Always
ports:
- containerPort: 80
volumeMounts:
- name: appinsights
mountPath: "/appinsights/"
readOnly: true
- name: cosmosdb
mountPath: "/cosmosdb/"
readOnly: true
- name: blobstorage
mountPath: "/blobstorage/"
readOnly: true
- name: azuresearch
mountPath: "/azuresearch/"
readOnly: true
---
apiVersion: v1
kind: Service
metadata:
name: dummysvc
spec:
#type: LoadBalancer
type: NodePort
ports:
- port: 80
targetPort: 80
protocol: TCP
selector:
app: configurationservice
您可以在以下设备上尝试此示例:
@MarkusResch我已经编辑了这个问题。@Stack\u IQ你也可以分享你的部署规范吗?@Tyto也添加了部署规范@Stack_IQ您是否能够通过kubectl port forward访问您的服务?
$ echo "
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$1
name: rewrite
namespace: default
spec:
rules:
- host: rewrite.bar.com
http:
paths:
- backend:
serviceName: http-svc
servicePort: 80
path: /something/?(.*)
" | kubectl create -f -