我创建了一个部署、一个服务和一个入口,以便能够从我的主机访问NGINX web服务器,但我一直没有找到404。经过长时间的故障排除,我已经到了一个非常欢迎帮助的地步。
步骤和相关yaml文件如下所示。
启用Minikube NGINX入口控制器
minikube插件支持入口
创建NGINX web服务器部署
apiVersion: apps/v1
kind: Deployment
metadata:
name: webserver-white
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx-webserver-white
template:
metadata:
labels:
app: nginx-webserver-white
spec:
containers:
- name: nginx
image: nginx:alpine
ports:
- containerPort: 80
创建ClusterIP服务以管理对POD的访问
apiVersion: v1
kind: Service
metadata:
name: webserver-white-svc
labels:
run: webserver-white-svc
spec:
type: ClusterIP
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
app: nginx-webserver-white
创建入口以从集群外部访问服务
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: webserver-white-ingress
namespace: default
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
defaultBackend:
service:
name: webserver-white-svc
port:
number: 80
rules:
- host: white.example.com # This is pointing to the control plane IP
http:
paths:
- backend:
service:
name: webserver-white-svc
port:
number: 80
path: /
pathType: ImplementationSpecific
测验
连接到一个pod并执行curl时http://localhost
,它返回NGINX主页html,因此pod看起来不错。
创建测试盒并执行curl http时://
连接到ingress nginx控制器pod并执行
curl http时://
当使用
minikube ssh连接到控制平面并执行
ping时
我测试了相同的,但使用NodePort服务而不是ClusterIP,并注意到我可以使用节点端口访问NGINX主页,但不能使用入口端口。
知道我可能做错了什么和/或我还能做什么来更好地解决这个问题吗?
其他注释
minikube版本:v1。23.0
客户机和服务器上的kubectl版本:v1。22.1
- 操作系统:Ubuntu 18.04。5 LTS(仿生海狸)
更新/解决方案:
解决方案是添加缺少的注释
kubernetes。io/入口。类:入口上的“nginx”
。
解决方案是在入口上添加缺失的注释kubernetes.io/ingress.class:“nginx”。
我正在学习这个教程,它试图通过构建一个最小的JVM来最小化JVM内存占用。
我有一个xamarin应用程序,可以从webAPI中提取数据。我多次检查api地址,我确信它是正确的。当我调试代码时,服务器上出现404 not found错误。然而,当我将URL复制并粘贴到浏览器时,我得到了预期的结果。我不明白为什么我的应用程序返回404。 我的方法: 我的桥接方法到HttpClient的PostAsync方法: 代币:正确 API URL:正确(我从调试输出中检查“/”符号。
我正在用Laravel 8制作一个论坛,基本上每当用户在这个论坛上提问时,它应该被重定向到这个问题。 我还想使重定向过程基于问题的字段。
我用Spring 4和Spring security设置了一个简单的REST API web.xml AccountController.java mysabisabi-servlet.xml mysabisabi-security.xml 应用程序上下文.xml 日志文件 当我尝试访问 我得到 我已经尝试了 和作为url模式,但仍然相同。 有人能指出我错过了什么吗? 谢了。
我正在按照一些教程从头开始建立一个spring mvc项目。最初,我将web应用程序配置为在Tomcat中运行。我编写了一个简单的controller类,请求点击“/”。但tomcat总是向我显示“HTTP状态404-找不到”错误。 我看了很多这样的问题,但那些答案对我都不起作用 删除tomcat安装并重新配置。当点击localhost:8080/时,我将获得tomcat主页。 检查了代码的拼写
当我从JavaScript客户端调用AWS API网关时,会出现404 not found错误,因为SDK调用了错误的endpoint: https://www.myserver.com/abc123.execute-api.us-east-1.amazonaws.com/dev/status 而不是 https://abc123.execute-api.us-east-1.amazonaws.c