Kubernetes “如何修复”;503服务暂时不可用“;
供参考:Kubernetes “如何修复”;503服务暂时不可用“;,kubernetes,kubernetes-ingress,nginx-ingress,docker-desktop,Kubernetes,Kubernetes Ingress,Nginx Ingress,Docker Desktop,供参考: 我在docker桌面上为mac运行Kubernetes 基于Nginx图像的网站 我在Kubetesetes上运行2个简单的网站部署,并使用NodePort服务。然后我想使用入口进行网站路由。当我打开浏览器并访问该网站时,会出现错误503,如下图所示。那么,如何修复此错误 ### Service apiVersion: v1 kind: Service metadata: name: app-svc labels: app: app1 spec: type: Nod
### Service
apiVersion: v1
kind: Service
metadata:
name: app-svc
labels:
app: app1
spec:
type: NodePort
ports:
- port: 80
selector:
app: app1
---
apiVersion: v1
kind: Service
metadata:
name: app2-svc
labels:
app: app2
spec:
type: NodePort
ports:
- port: 80
selector:
app: app2
### Ingress-Rules
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: app-ingress
annotations:
ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /app1
backend:
serviceName: app-svc
servicePort: 30092
- path: /app2
backend:
serviceName: app2-svc
servicePort: 30936
我建议您使用服务型ClusterIP 看看这篇有用的文章: 如果您使用入口,您必须知道入口不是一种服务类型,而是一个对象,充当反向代理和集群的单一入口点,将请求路由到不同的服务。最基本的入口是NGINX入口控制器,NGINX在这里扮演反向代理的角色,同时还充当SSL。在下图中,您可以看到环境对象的特定组件之间的工作流 入口通过ClusterIP和Kubernetes代理、NodePort或LoadBalancer向集群外部公开,并根据配置的规则路由传入流量 服务定义示例:
---
apiVersion: v1
kind: Service
metadata:
name: app-svc
labels:
app: app1
spec:
type: ClusterIP
ports:
- port: 80
selector:
app: app1
---
apiVersion: v1
kind: Service
metadata:
name: app2-svc
labels:
app: app2
spec:
type: ClusterIP
ports:
- port: 80
selector:
app: app2
如果有帮助,请告诉我。是的,我最终也会犯同样的错误。一旦我将服务类型更改为“ClusterIP”,它对我来说运行良好。在搜索nginx解决方案后找到了此页面,尽管服务名称都已正确配置,但仍不断返回503个响应。我遇到的问题是,我在一个特定的名称空间中配置了kubernetes服务,但没有将入口组件更新为在同一名称空间中。尽管这是一个如此简单的解决方案,但一点也不明显 首先,您需要将
应用程序服务的服务类型更改为集群服务,因为入口
对象将从集群内部访问这些吊舱
(服务)。(当您希望允许访问集群内的pod时,使用ClusterIP服务)
其次,通过运行kubectl get services
确保服务正在运行,并对照ingres
路由规则中backend
部分的名称检查正在运行的服务名称,尝试使用类型ClusterIP
设置您的服务,而不是NodePort
,并将servicePort设置为80@Jonas在将服务类型更改为ClusterIP后,我收到了错误404。在404上得到了什么http头?服务器头是否类似于openresty?您是否尝试通过以下方式访问nginx入口:/app1?我获得了ClusterIP的404更改后服务。是的,即使我也获得了503更改后服务。