【发布时间】:2020-04-03 18:33:45
【问题描述】:
我有一个有 2 个副本的 StatefulSet。我想创建一个端点,以便能够访问此副本中的任何一个,将主机名 ID 传递给它,并且如果我将其扩展到更多副本,则需要可以访问新的 Pod。
我可以这样创建一个 Ingress:
apiVersion: voyager.appscode.com/v1beta1
kind: Ingress
metadata:
name: test-ingress
namespace: default
spec:
rules:
- host: appscode.example.com
http:
paths:
- path: /0
backend:
hostNames:
- web-0
serviceName: nginx-set
servicePort: '80'
- path: /1
backend:
hostNames:
- web-1
serviceName: nginx-set
servicePort: '80'
这样,appscode.example.com/0 上的 GET 将被路由到 web-0 pod。
但是,我怎样才能以动态的方式做到这一点?如果我将副本更改为 3,我将需要手动创建一个新路径路由到 pod web-2 才能访问。
【问题讨论】:
-
这不是 ingress 的任务,而是在 pod 之间分发请求的服务,你能告诉我们服务定义吗?
-
今天它没有附加服务...你能告诉我一个如何使用服务做到这一点的例子吗?
-
你确定吗?因为入口指向默认命名空间中的服务调用“nginx-set”。如果您没有服务,则无法使用
appscode.example.com/0访问web-0 -
这是一个示例,只是为了解释我的问题......那么,我该如何使用服务来做到这一点?
标签: kubernetes kubernetes-ingress kubernetes-statefulset