docker - presto-将 worker 从docker迁移到kubernetes

标签 docker kubernetes presto

我有一个要扩展的最小的(有效的) presto 安装(同一主机上的一个协调器和一个工作器)。我创建了一个带有工作程序节点的容器,当通过docker部署时它可以工作(IE显示在presto CLI中)。

select * from system.runtime.nodes;


当我说我的k8集群容器并创建一些Pod时,这些Pod似乎可以联系协调员,但它们从未出现在CLI中。 Pod的日志显示他们已经找到了协调器,并且协调器日志中没有任何错误消息,因此Im困惑于断开连接的位置。
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

最佳答案

看起来您已经将Deployment和Service的各个部分结合了起来;他们是两个不同的对象。您可以将其分解:

---
apiVersion: apps/v1 
kind: Deployment
metadata:
  name: presto-worker
spec:
  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
---
apiVersion: v1 
kind: Service
metadata:
  name: presto-worker
spec:
  type: NodePort
  selector:
    matchLabels:
      app: presto-worker
  ports:
  - name: http
    port: 8080

服务选择器指向特定的 Pane ;它需要与部署规范的Pod模板标签匹配。部署选择器为部署管理的 Pane 命名。在这两种情况下,它们都指向 pods ,但它们具有不同的用途。

关于docker - presto-将 worker 从docker迁移到kubernetes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51236551/

相关文章:

sql - 将 JSON 转换为基于 Presto 的 SQL 查询

hive - Athena (Hive/Presto) Parquet vs ORC In Count Query

ruby - 无法使用 selenium hub docker 和 ruby​​ watir 更改 chrome 的默认下载目录

java - Docker 容器化单体应用程序

docker-compose 在 Ubuntu WSL 2 上找不到环境变量 $PWD

macos - Minikube 无法在 Mac 上使用 VPN 启动

emr - EMR 上 Zeppelin 中的 Presto 解释器

java - spring-boot 无法在 docker 中启动

kubernetes - kubectl 不适用于多个集群配置

docker - 使用Kubernetes的OpenStack服务的容器化?