我在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:
tls:
- hosts:
- xyz.org
secretName: ingress-tls
rules:
- host: xyz.org
http:
paths:
- path: /configuration/*
backend:
serviceName: dummysvc
servicePort: 80
我需要在每次访问url时:https://example.com/configuration/都应转到服务作为响应发送的某个文件或某个实体,但这不会发生,这会给我一个错误页面,“上面没有找到任何页面地址” 这是入口的问题吗?
以下是我的服务规格:
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
答案 0 :(得分:2)
$ 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 -