【发布时间】:2018-07-30 21:58:51
【问题描述】:
我有一个想要扩展的最小(工作)presto 安装(一个协调器和一个工作器在同一台主机上)。我创建了一个带有工作节点的容器,它在通过 docker 部署时工作(IE 显示在 presto CLI 中)。
从 system.runtime.nodes 中选择 *;
当我移动我的 k8 集群并创建一些 pod 时,这些 pod 似乎可以联系协调器,但它们从未出现在 CLI 中。 pod 的日志显示他们已经发现了协调器,并且协调器日志中没有任何错误消息,所以我不知道断开连接在哪里。
deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: presto-worker
spec:
type: NodePort
selector:
matchLabels:
app: presto-worker
replicas: 2
template:
metadata:
labels:
app: presto-worker
spec:
containers:
- name: presto-image
image: docker.io/mystuff/presto-image:latest
ports:
- containerPort: 8080
【问题讨论】:
-
你的配置不清楚: 1、你创建了服务吗?如果是 - 您能否提供 yaml 文件来查看您的服务配置? 2. 能否请您提供您拥有的日志。 3.阅读您的问题后,我了解到您的协调器主机位于您创建工作节点的集群之外,并且您尚未创建服务/入口以将工作节点暴露给协调器。这就是为什么它在集群中不可见。
-
我对服务的理解是它一次暴露一个工作人员。这是不正确的吗?各种负载均衡器。
-
最好分享更多日志或在
log.properties中使用com.facebook.presto=DEBUG以获得更多反馈来判断哪里出了问题(目前我不知道是你的presto 配置还是presto集群设置) -
您是否从这个 repo 中看到了 presto 集群的 k8s 模板? github.com/helm/charts/tree/master/stable/presto/templates
标签: docker kubernetes presto