备注: 使用的是golang 版本的实现,同时官方也提供了一个k8s 的helm 部署charts,我
没有使用这个helm,而是通过kompose 这个工具直接转换的

docker-compose 文件

文件名为:docker-compose-no-volumes.yaml

 
version: "3"
services:
  demo:
    image: artefactual/gearmand:latest 
    command: --queue-type=redis --redis-server=redis --redis-port=6379 --verbose=DEBUG
    ports:
    - "4731:4730"
  redis:
    image: redis
    ports:
    - "6379:6379"
  app:
    image: appscode/gearmand:0.5.2
    command: run --v=3 --addr="0.0.0.0:4730"
    ports:
    - "4730:4730"
    - "3000:3000"
  client:
    image: dalongrong/client-demo
    build:
     context: ./client
  worker:
    image: dalongrong/worker-demo
    build:
     context: ./worker
 
 

转换k8s deploy 文件

  • 安装kompose
参考下面的地址即可
https://github.com/kubernetes/kompose/releases
  • 转换k8s 部署文件
kompose convert -f docker-compose-no-volumes.yaml -o k8s
  • 效果
├── app-deployment.yaml
├── app-service.yaml
├── client-deployment.yaml
├── demo-deployment.yaml
├── demo-service.yaml
├── redis-deployment.yaml
├── redis-service.yaml
└── worker-deployment.yaml
 
 
  • 参考生成的文件
    还是很方便的,减少了好多的工作量
 
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  namespace: gearman
  annotations:
    kompose.cmd: kompose convert -f docker-compose-no-volumes.yaml -o ./k8s
    kompose.version: 1.17.0 ()
  creationTimestamp: null
  labels:
    io.kompose.service: app
  name: app
spec:
  replicas: 1
  strategy: {}
  template:
    metadata:
      creationTimestamp: null
      labels:
        io.kompose.service: app
    spec:
      containers:
      - args:
        - run
        - --v=3
        - --addr=0.0.0.0:4730
        image: appscode/gearmand:0.5.2
        name: app
        ports:
        - containerPort: 4730
        - containerPort: 3000
        resources: {}
      restartPolicy: Always
status: {}
 
 
  • 部署&&运行
kubectl apply -f  k8s 

参考资料

https://github.com/kubernetes/kompose/releases
https://github.com/appscode/g2/tree/master/chart
https://github.com/rongfengliang/gearmangolang-docker

gearman kubernetes 运行的更多相关文章

  1. kubernetes运行应用1之Deployment

    run 或create deployment 部署一个应用 kubernetes 部署 nginx ,使用 kubectl get deployment 时出现 No resources found ...

  2. kubernetes运行应用2之DaemonSet详解

    kubernetes运行应用1之Deployment详解   查看daemonset 如下,k8s自身的 DaemonSet kube-flannel-ds和kube-proxy分别负责在每个结点上运 ...

  3. 在kubernetes运行一个容器案例

    1. 检查kubernetes 组件是否正常运行. [root@c720120 ~]# kubectl get cs NAME                 STATUS    MESSAGE    ...

  4. apache flink kubernetes 运行试用

    类似docker-compose 运行模式,使用的是deploy 的模式 deploy yaml 文件 deploy-k8s-yaml apiVersion: extensions/v1beta1 k ...

  5. 通过Gearman实现MySQL到Redis的数据同步

    对于变化频率非常快的数据来说,如果还选择传统的静态缓存方式(Memocached.File System等)展示数据,可能在缓存的存取上会有很大的开销,并不能很好的满足需要,而Redis这样基于内存的 ...

  6. php安装gearman扩展实现异步分步式任务

    参考: 1.小喵爱你的博客 2.PHP Manual 依赖 1.gcc44 2.boost >=1.39 3.libevent 4.php5.3+ 5.update ld.so.conf 安装依 ...

  7. Calico在Kubernetes中的搭建

    一,需求 Kubernetes官方推荐的是Flannel,但是Flannel是一个overlay的网络,对性能会有一定的影响.Calico恰好能解决一下overlay网络的不足. Calico在Kub ...

  8. 分布式计算框架Gearman原理详解

    什么是Gearman? Gearman提供了一个通用的应用程序框架,用于将工作转移到更适合于工作的其他机器或流程.它允许你并行工作,负载平衡处理,并在语言间调用函数.它可用于从高可用性网站到传输数据库 ...

  9. Kubernetes — 我的第一个容器化应用

    而在这篇文章中,我们就来扮演一个应用开发者的角色,使用这个 Kubernetes 集群发布第一个容器化应用. 在开始实践之前,我先给你讲解一下 Kubernetes 里面与开发者关系最密切的几个概念. ...

随机推荐

  1. 《Python》re模块补充、异常处理

    一.re模块 1.match方法 import re # match 验证用户输入的内容 ret = re.match('\d+', 'hhoi2342ho12ioh11') print(ret) # ...

  2. 查看json数据更新情况

    #! python3 # -*- coding:utf8 -*- #主要为读取excel中接口地址,打开网页爬取url页面中数据,解析json,检查是否符合逻辑(正常) import requests ...

  3. 第三节 java 数组

    一维数组: 同一种类型数据的集合,其实数组就是一个容器. 好处: 可以自动给数组中的元素从0开始编号,方便操作这些元素. 格式1: 元素类型[]  数组名 = new 元素类型 [元素个数或者元素长度 ...

  4. Ubuntu16.04 安装Teamviewer

    有时需要远程控制ubuntu系统的电脑,Teamviewer在linux下也可以进行安装,大致看了下向日葵在linux下配置好像比较麻烦,而且Teamviewer远程控制的流畅性一直不错,就选择安装T ...

  5. 牛客多校第四场 F Beautiful Garden

    链接:https://www.nowcoder.com/acm/contest/142/F来源:牛客网 题目描述 There's a beautiful garden whose size is n ...

  6. 使用ext httpProxy代理获取列表但列表展示不全的问题解决

    今天项目中遇到一个奇葩的事情,使用ext的jsonstore通过httpproxy代理想要获取一个列表,页面显示是有五条数据的但是却只展示了2条,于是各种排查,后台确定无误后开始检查前台,发现浏览器中 ...

  7. python自学第三天,列表

    1.列表 names=[] #这就是一个空列表 names=[1,5,2,3,4,5]#列表是用的中括号,每个元素是用逗号分开的.列表里面的元素是可以重复的. names[-1]#表示的是取列表的最后 ...

  8. winform 异性窗体的实现

    效果图 首先需要在vs里添加控件  AlphaForm.dll 添加完了有这来两个控件 1.把第二个控件拖入窗体里把窗体铺满 2.找一张至少有一个闭合图形的透明图片 设置为AlphaFormTrans ...

  9. 2--Python入门--Python数据集合类型--列表

    在基础数据类型的基础上,Python有6中数据集合的类型: 列表list,最常用的数据类型,以[]为标识 元组tuple,和list很相似,但是不能二次赋值,用()标识 集合set,和list类似,但 ...

  10. CentOS7下-bash: nano: command not found

    由于安装的是纯净版系统,运行nano命令是提示没有找到该命令,以下是解决方法,用root权限的用户运行以下命令安装nano: yum install nano 遇到询问时一路点y即可. 安装好后运行: ...