将 kubernetes 从 1.17.0 升级到 1.22.3 之后,解决了遇到的兼容问题(详见博文),nginx pod 都成功运行,单请求时 nginx 总是返回 404 错误,请问如何解决?
进入 nginx 容器查看发现 ingress 规则没有被添加到 nginx.conf 中
kubectl exec -it -n ingress-nginx daemonsets/nginx-ingress-controller -- cat /etc/nginx/nginx.conf
解决了,需要在 ingress 的 spec
中添加 ingressClassName: nginx
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: cnblogs-ingress
spec:
ingressClassName: nginx
rules:
- host: q.cnblogs.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: q-web
port:
number: 80