Rex*_*ing 5 kubernetes kubernetes-ingress nginx-ingress docker-desktop
供参考:
我在 Kubetesetes 上运行 2 个简单的网站部署并使用 NodePort 服务。然后我想使用 ingress 路由到网站。当我打开浏览器并访问该网站时,出现错误 503,如下图所示。那么,我该如何修复这个错误呢?
### 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
Run Code Online (Sandbox Code Playgroud)
我建议您使用服务类型 ClusterIP\n看看这篇有用的文章:services-kubernetes。
\n\n如果您使用 Ingress,您必须知道 Ingress 不是一种服务,而是一个充当反向代理和集群单个入口点的对象,将请求路由到不同的服务。最基本的 Ingress 是 NGINX Ingress Controller,NGINX 承担反向代理的角色,同时也充当 SSL。在下图中,您可以看到环境对象的特定组件之间的工作流程。
\n\nIngress 通过 ClusterIP 和 Kubernetes 代理、NodePort 或 LoadBalancer 暴露在集群外部,并根据配置的规则路由传入流量。
\n\n服务定义示例:
\n\n---\napiVersion: v1\nkind: Service\nmetadata:\n name: app-svc\n labels:\n app: app1\nspec:\n type: ClusterIP\n ports:\n - port: 80\n selector:\n app: app1\n---\napiVersion: v1\nkind: Service\nmetadata:\n name: app2-svc\n labels:\n app: app2\nspec:\n type: ClusterIP\n ports:\n - port: 80\n selector:\n app: app2\n
Run Code Online (Sandbox Code Playgroud)\n\n如果有帮助请告诉我。
\n 归档时间: |
|
查看次数: |
34507 次 |
最近记录: |