我有一个有 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'
有了这个,
GET
在 appscode.example.com/0
将被路由到 web-0
荚。但是,我怎样才能以动态的方式做到这一点?如果我将副本更改为 3,我将需要手动创建一个新的路径路由到 pod
web-2
可达。
最佳答案
您需要一个程序(运算符(operator))监听 Kubernetes API,并在每次有状态集中的 pod 数量时修补入口资源。
使用去:
关于kubernetes - 按主机名动态路由到特定 StateFulSet POD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61018338/