Ingress 在 Minikube 上傳回“預設後端 - 404”

Ingress 在 Minikube 上傳回“預設後端 - 404”

我正在嘗試建立一個非常簡單的 Kubernetes 集群,包含前端、後端和資料庫服務。以下是前端服務定義檔的一部分:

apiVersion: v1
kind: Service
metadata:
  name: frontend
  labels:
    tier: frontend
spec:
  selector:
    tier: frontend
  ports:
  - port: 80
    nodePort: 30080
  type: LoadBalancer

當我在連接埠 30080 存取叢集的 IP 時,一切正常。

現在,我正在嘗試設定一個在連接埠 80 上工作的 Ingress(為將叢集部署到 Azure 做準備)。我想將所有 HTTP 流量導向前端,因為這是我的叢集中唯一的 HTTP 服務。所以ingress定義檔如下:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: zippori
  annotations:
    kubernetes.io/ingress.class: addon-http-application-routing
spec:
  backend:
    serviceName: frontend
    servicePort: 80

但是,當我訪問http://minikube-ip我收到以下非常簡單的錯誤:

預設後端 - 404

就好像 Ingress 不會將任何內容轉發到我的前端,而只是嘗試自己的預設後端。

我怎樣才能解決這個問題?

答案1

問題出在 Ingress 服務。

在 Ingress 類型 yaml 中,您使用註解來定義「入口後端」。對於 AKS 來說,它是“addon-http-application-routing”,但對於 minikube 來說,開箱即用的是kubernetes.io/ingress.class: nginx

使用正確的註解更新 Ingress 應該可以為您的 minikube 設定啟用服務。

相關內容