我正在做K8s入口的实践,但是当我用端口访问地址时,我总是得到404。我想我的请求成功地到达了入口请帮帮我。非常感谢
apiVersion: apps/v1
kind: Deployment
metadata:
name: mynginx
spec:
replicas: 2
selector:
matchLabels:
app: mynginx
template:
metadata:
labels:
app: mynginx
spec:
containers:
- name: mynginx
image: nginx
---
apiVersion: v1
kind: Service
metadata:
name: mynginx
spec:
selector:
app: mynginx
ports:
- port: 80
targetPort: 80
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: mynginx
labels:
name: mynginx
spec:
rules:
- host: "eric.k8s.com"
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: mynginx
port:
number: 80发布于 2022-02-28 13:03:35
为了能够使用Ingress,您需要部署一个Nginx入口控制器,而不仅仅是一个Nginx。
Nginx入口控制器比Nginx更多,它是一个K8s控制器,负责更新Nginx配置并以0停机时间加载它们。Nginx配置的来源可以是Nginx配置映射,也可以是定义的入口。因此,每次创建新的ingress对象时,控制器都将确保Nginx配置具有为新入口服务所需的规则。没有控制器,除非使用不同的工具(如Traefik ),否则就不能使用宏对象,但在这种情况下,您需要一个不同的控制器。
您可以通过helm部署控制器,如下所述
kubectl如果您不使用HELMkubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.1.1/deploy/static/provider/cloud/deploy.yaml一旦部署了入口控制器,就可以开始添加ingress了。
https://stackoverflow.com/questions/71294746
复制相似问题