Nginx Ingress Controller trả về 404 Kubernetes
Tôi đang cố gắng tạo một bộ điều khiển xâm nhập trỏ đến một dịch vụ mà tôi đã tiếp xúc qua NodePort.
Đây là tệp yaml cho bộ điều khiển xâm nhập (lấy từ 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
Tôi có thể kết nối trực tiếp với cổng nút và giao diện người dùng được hiển thị.
Xin lưu ý rằng tôi đang làm điều này vì ứng dụng giao diện người dùng không thể kết nối với các triển khai khác mà tôi đã tạo và tôi đọc rằng bộ điều khiển xâm nhập có thể giải quyết vấn đề. Tôi vẫn sẽ phải thêm proxy ngược Nginx chứ? Nếu vậy tôi sẽ làm điều đó như thế nào? Tôi đã thử thêm tệp này vào tệp cấu hình nginx nhưng không thành công.
location /middleware/ {
proxy_pass http://middleware/;
}
Trả lời
Bạn phải sử dụng tên máy chủ phù hợp để truy cập tuyến đường được xác định trong Ingress
đối tượng. Cập nhật /etc/hosts
tệp của bạn hoặc sử dụng curl -H "hello-world.info" localhost
lệnh loại. Ngoài ra, bạn có thể xóa host
ánh xạ và chuyển hướng tất cả lưu lượng đến một dịch vụ mặc định.
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: example-ingress
spec:
rules:
- http:
paths:
- path: /
backend:
serviceName: appName
servicePort: 80