zoz*_*ozo 7 routes kubernetes kubernetes-ingress nginx-ingress
我有多个 Pod,可以自动扩展和缩小。
我使用入口作为入口点。我需要根据某些条件(比如说路径)将外部流量路由到特定的 Pod。在发出请求时,我确定特定的 Pod 已启动。
例如,假设我有域 someTest.com,通常将流量路由到 pod 1、2 和 3(假设我通过内部 ip - 192.168.1.10、192.168.1.11 和 192.168.1.13 来识别它们)。
当我调用 someTest.com/specialRequest/12 时,我需要将流量路由到 192.168.1.12,当我调用 someTest.com/specialRequest/13 时,我想将流量路由到 192.168.1.13。对于正常情况(someTest.com/normalRequest),我只想正常地完成他的史诗般的工作。
如果 pod 扩大并出现 192.168.1.14,我需要能够调用 someTest.com/specialRequest/14 并路由到提到的 pod。
无论如何我可以实现这个目标吗?
小智 5
是的,您可以使用 Kubernetes Ingress 轻松实现这一目标。这是一个可能有帮助的示例代码:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: app-ingress
spec:
rules:
- host: YourHostName.com
http:
paths:
- path: /
backend:
serviceName: Service1
servicePort: 8000
- path: /api
backend:
serviceName: Service2
servicePort: 8080
- path: /admin
backend:
serviceName: Service3
servicePort: 80
Run Code Online (Sandbox Code Playgroud)
请注意,入口规则具有 serviceNames 而不是 Pod 名称,因此您必须为 Pod 创建服务。以下是将 nginx 作为 Kubernetes 中的服务公开的服务示例:
apiVersion: v1
kind: Service
metadata:
name: nginx-service
labels:
io.kompose.service: nginx
spec:
ports:
- name: "80"
port: 80
targetPort: 80
selector:
io.kompose.service: nginx
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5062 次 |
| 最近记录: |