Nginx IngressControllerは404Kubernetesを返します
NodePortを介して公開したサービスを指す入力コントローラーを作成しようとしています。
これが入力コントローラーのyamlファイルです(から取得) https://kubernetes.io/docs/tasks/access-application-cluster/ingress-minikube/):
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: example-ingress
spec:
rules:
- host: hello-world.info
http:
paths:
- path: /
backend:
serviceName: appName
servicePort: 80
ノードポートに直接接続でき、フロントエンドが表示されます。
フロントエンドアプリが私が作成した他のデプロイメントに接続できず、入力コントローラーが問題を解決できることを読んだため、これを行っていることに注意してください。Nginxリバースプロキシを追加する必要がありますか?もしそうなら、私はそれをどのように行うでしょうか?これをnginx設定ファイルに追加しようとしましたが、成功しませんでした。
location /middleware/ {
proxy_pass http://middleware/;
}
回答
2 Faheem
Ingress
オブジェクトで定義されたルートに到達するには、適切なホスト名を使用する必要があります。/etc/hosts
ファイルを更新するか、curl -H "hello-world.info" localhost
typeコマンドを使用してください。または、host
マッピングを削除して、すべてのトラフィックを1つのデフォルトサービスにリダイレクトすることもできます。
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: example-ingress
spec:
rules:
- http:
paths:
- path: /
backend:
serviceName: appName
servicePort: 80