使用具有3个pod:"pod-0,pod-1,pod-2“的STS创建一个Apache Spark集群,每个pod都是一个具有可通过HTTP获得的日志的工作进程。
为了查看日志,我希望通过HTTP入口访问所有pod,例如:
"https://pod-0.my-ingress.domain“或"https://my-ingress.domain/pod-0”
是否可以通过声明单个Ingress来自动完成此操作?
发布于 2021-08-09 13:24:46
kubernetes中没有现成的解决方案,但您可以为statefulset中的每个pod创建服务,然后在入口中引用它:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: sts-ingress
spec:
rules:
- http:
paths:
- path: /pod-0
pathType: Prefix
backend:
service:
name: pod-0
port:
number: 80
- path: /pod-1
pathType: Prefix
backend:
service:
name: pod-1
port:
number: 80您可以利用operator pattern将其自动化,这个用例已经存在一个元控制器的示例:https://github.com/metacontroller/metacontroller/tree/master/examples/service-per-pod
https://stackoverflow.com/questions/68710419
复制相似问题