cronicle 后端存储是可配置的 ,通过使用不同的存储配置,我们可以解决多实例部署以及数据共享的问题
cronicle 的后端存储模型,设计的特别方便,包含了基于文件的,基于s3 的,同时我们也可以开发自己的
存储引擎

以下是一个集成minio s3 部署单master,多slave 实际上我们可以扩展为多master

环境准备

  • docker-compose 文件
 
version: "3"
services:  
  s3:
      image: minio/minio
      command: server /data
      ports: 
      - "9000:9000"
      environment:
      - "MINIO_ACCESS_KEY=dalongapp"
      - "MINIO_SECRET_KEY=dalongapp"
      volumes: 
      - "./data:/data" 
  cronicle:
      build: ./
      hostname: master
      image: dalongrong/cronicle
      volumes:
      - "./config.json:/opt/cronicle/conf/config.json"
      ports:
      - "3012:3012"
  cronicle2:
      build: ./
      hostname: cronicle2
      image: dalongrong/cronicle
      volumes:
      - "./config.json:/opt/cronicle/conf/config.json"
      ports:
      - "3013:3012"
  cronicle3:
      build: ./
      hostname: cronicle3
      image: dalongrong/cronicle
      volumes:
      - "./config.json:/opt/cronicle/conf/config.json"
      ports:
      - "3014:3012"
  • cronicle dockerfile
    添加了aws sdk
 
FROM node:12.10.0-stretch-slim
LABEL AUTHOR="rongfengliang"
LABEL EMAIL="1141591465@qq.com"
RUN npm config set registry https://registry.npm.taobao.org
RUN curl -s https://raw.githubusercontent.com/jhuckaby/Cronicle/master/bin/install.js | node
RUN cd /opt/cronicle && npm install aws-sdk
EXPOSE 3012
ENTRYPOINT ["tail", "-f", "/dev/null"]
 
  • 存储配置
    config.json ,以下截取部分关于存储的配置
 
"Storage": {
    "engine": "S3",
    "AWS": {
      "accessKeyId": "dalongapp", 
      "secretAccessKey": "dalongapp", 
      "region": "us-east-1",
      "correctClockSkew": true,
      "endpoint": "s3:9000",
      "sslEnabled": false,
      "s3ForcePathStyle": true,
      "maxRetries": 5,
      "httpOptions": {
        "connectTimeout": 5000,
        "timeout": 5000
      }
    },
    "S3": {
      "keyPrefix": "cronicle",
      "fileExtensions": true,
      "params": {
        "Bucket": "cronicle"
      }
    }
  }

启动&&运行

  • 启动
docker-compose up -d
  • 创建s3桶
    通过UI
  • 启动master
docker-compose exec cronicle /opt/cronicle/bin/control.sh setup
docker-compose exec cronicle /opt/cronicle/bin/control.sh start
  • s3 内容

  • 启动slave
docker-compose exec cronicle2 /opt/cronicle/bin/control.sh start
docker-compose exec cronicle3 /opt/cronicle/bin/control.sh start
  • 添加slave 节点

  • 配置一个简单的调度任务

  • 执行调度效果

说明

以上是一个简单的基于minio s3 实现的配置共享,实际上基于s3 我们可以配置cronicle 的多master

参考资料

https://github.com/jhuckaby/Cronicle
https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/javascript/example_code/s3/s3_setcors.js
https://github.com/rongfengliang/cronicle-docker

cronicle minio s3 存储配置集成的更多相关文章

  1. k8s helm 私服chartmuseum minio s3 存储配置

    1. 安装minio 使用docker 安装 参考项目 https://github.com/rongfengliang/mino-thumbor-openresty 备注: 因为是一个集成项目可能会 ...

  2. streamsets 集成 minio s3测试

    具体streamsets crate 集成可以参考 streamsets crate 以下文档只关注minio 集成的配置 minio 服务 搭建 具体搭建参考: https://www.cnblog ...

  3. 使用s3-sftp-proxy 暴露minio s3 数据为sftp 访问

    尽管s3 很不错,但是ftp 也有自己存在的价值,以下是一个简单的通过s3-sftp-proxy 暴露minio s3 数据为ftp 的访问方式 环境准备 docker-compose 文件 vers ...

  4. nexus && minio s3 存储私有镜像

    对于新版本的nexus 已经支持s3 存储了(3.12),但是企业内部可能还是需要使用私有部署的 还好我们有minio,具体的介绍就不说了 minio 项目运行 参考项目: https://githu ...

  5. 使用s3fs-fuse 挂载minio s3 对象存储

    minio 是一个aws s3 兼容的对象存储系统,我们可以通过s3fs 进行数据桶的挂载,这样可以做好多方便的事情 环境准备 使用docker-compose 运行 minio docker-com ...

  6. 云原生分布式文件存储 MinIO 教程

    文章转载自:https://mp.weixin.qq.com/s/_52kZ5jil1Cec98P5oozoA MinIO 提供开源.高性能.兼容 s3 的对象存储,为每个公共云.每个 Kuberne ...

  7. 使用k8s && minio 进行 postgres 数据库自动备份

      通过k8s 的定时任务job,我们可以方便的进行定时任务应用的开发,通过minio s3 兼容的cloud native 存储 我们可以方便的通过http 请求进行数据文件的备份,以下简单演示下如 ...

  8. minio select api 试用

    对于minio 我们可以使用基于sql 的对象内容查询,特别适合进行特定文件内容的获取,强大方便. 以下是一个简单的试用 环境准备 集成了prometheus docker-compose 文件   ...

  9. Github 29K Star的开源对象存储方案——Minio入门宝典

    对象存储不是什么新技术了,但是从来都没有被替代掉.为什么?在这个大数据发展迅速地时代,数据已经不单单是简单的文本数据了,每天有大量的图片,视频数据产生,在短视频火爆的今天,这个数量还在增加.有数据表明 ...

随机推荐

  1. 50道Java线程面试题分析及答案

    下面是Java线程相关的热门面试题,你可以用它来好好准备面试. 1) 什么是线程?线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位.程序员可以通过它进行多处理器编程 ...

  2. docker离线导入导出镜像

    docker save -o mysqlies.tar 5ada6380f248(镜像id)    # 镜像id是要导出的 有镜像的机器  在有镜像的机器上执行docker load --input ...

  3. String.Operation

    // 字符串切割 StringField.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);

  4. 1-python运算符和逻辑控制语句

    目录 运算符 条件语句if…else 断言assert 循环语句while 遍历for循环 1.运算符 1.1.算数运算符 加+.减-.乘*.除/.余%.次方**.向下取整除// 1.2.赋值运算符 ...

  5. Win10系统配置Java环境变量

    Win10系统配置Java环境变量 电脑重新装了个系统,又要重新配置JDK环境变量,这里做个记录. 安装JDK后在cmd里运行java会显示找不到指令,这种就是需要添加java的环境变量. 这里我记录 ...

  6. 以服务方式启动tomcat无法访问NFS共享盘

    用startup.bat方式启动tomcat,程序的可以访问NFS共享盘的文件.但用 1).以服务的方式启动tomcat 2).或者用windows的任务计划去执行startup.bat的方式启动to ...

  7. Ansible-目录

    Ansible-概念 Ansible-安装 YAML语法

  8. 云服务器 - 定时备份MariaDB/MySQL

    数据库数据备份尤为重要,而我们不会人工手动去备份,这样会很麻烦,我们都是通过服务器每日自定运行来做的,设置一个定时时间即可 首先我们看一下mysqldump这个文件的位置: 可以看到目录在 /usr/ ...

  9. (八)Kubernetes Ingress资源

    前言 Kubernetes提供了两种内建的云端负载均衡机制(cloud load balancing)用于发布公共应用,一种是工作于传输层的Service资源,它实现的是“TCP负载均衡器”,另一种是 ...

  10. (五)Kubernetes Pod状态和生命周期管理

    什么是Pod Pod是kubernetes中你可以创建和部署的最小也是最简的单位.Pod代表着集群中运行的进程. Pod中封装着应用的容器(有的情况下是好几个容器),存储.独立的网络IP,管理容器如何 ...