[英]Minikube Ingress (Nginx Controller) not working
我有一個部署到 minikube 的 Spring Boot 應用程序。 該應用程序有一個公開的獲取映射 -
@GetMapping("/ping")
public String get(){
return "Hello !!";
}
創建並應用部署和服務。 兩者都很好, demo-app
容器也在集群中運行。
部署清單
apiVersion: apps/v1
kind: Deployment
metadata:
name: demo-app-deployment
labels:
app: demo-app
spec:
selector:
matchLabels:
app: demo-app
replicas: 1
template:
metadata:
labels:
app: demo-app
spec:
imagePullSecrets:
- name: regcred
containers:
- name: demo-app
image: <<image>>
imagePullPolicy: Always
ports:
- containerPort: 8080
服務清單
apiVersion: v1
kind: Service
metadata:
name: demo-app-service
spec:
selector:
app: demo-app
ports:
- protocol: TCP
port: 8080
targetPort: 8080
作為最后一步——
kubectl create -f ingress.yaml
在 minikube 集群中創建 Ingress 對象minikube ip
映射到 Windows 主機文件中的這個入口主機demo.com
入口清單
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: demo-app-ingress
spec:
rules:
- host: demo.com
http:
paths:
- path: /demo
backend:
serviceName: demo-app-service
servicePort: 8080
在嘗試從瀏覽器訪問該應用程序時,通過http://demo.com/demo/ping它給出了 whiteLabel 錯誤頁面
請幫忙。
首先發生了什么:您指定在訪問 URI http://demo.com/demo時希望訪問服務 demo-app-service。 那部分工作正常。 這里的問題是在服務上調用了哪條路徑? 即 URI http://demo.com/demo/ping將請求您的服務中的端點 /demo/ping。 我猜您的 ping 服務可以通過端點 http://localhost:8080/ping 在本地訪問。 如果是這種情況,您需要做的就是向入口添加注釋以從請求中刪除 /demo 路徑:
nginx.ingress.kubernetes.io/rewrite-target: /
請參閱此處以供參考: https : //kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#rewrite
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.