如何将 Talend Job2Docker 作业自动化到 Kubernetes

How to automateTalend Job2Docker jobs to Kubernetes

有人可以给我一些关于将多个 Talend 作业动态引入 Kubernetes 的最佳实践的指导吗?

  1. 我正在使用 Talend Open Studio for Big Data
  2. 我有一个 Job2 的侦听器服务器Docker
  3. 如何更改脚本以自动推送到 Docker Hub?
  4. 是否可以有一个动态的 CronJob K8s 类型,它可以 运行 基于配置文件的作业。

我最终没有使用 Job2Docker,而是选择了一个简单的 docker 过程。

  1. 构建 Talend Standalone 作业。
  2. 将构建解压缩到名为 jobs 的文件夹中。
  3. 使用下面的 Dockerfile 示例来构建和推送您的 docker 映像。

Docker 文件

FROM java
WORKDIR /talend
COPY ./jobs /talend

为 K8s 创建一个 CronJob 类型

apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: etl-edw-cronjob
spec:
  schedule: "0 * * * *"
  jobTemplate:
    spec:
      template:
        spec:
          restartPolicy: Never
          containers:
            - name: etl-edw-job
              image: dockerhubrepo/your-etl
              command: ["sh",  "./process_data_warehouse_0.1/process_data_warehouse/process_data_warehouse_run.sh"]
              env:
                - name: PGHOST
                  value: postgres-cluster-ip-service
                - name: PGPORT
                  value: "5432"
                - name: PGDATABASE
                  value: infohub
                - name: PGUSER
                  value: postgres
                - name: PGPASSWORD
                  valueFrom:
                    secretKeyRef:
                      name: pgpassword
                      key: PGPASSWORD
                - name: MONGOSERVER
                  value: mongo-service
                - name: MONGOPORT
                  value: "27017"
                - name: MONGODB
                  value: hearth