gearman kubernetes 运行
备注: 使用的是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 运行的更多相关文章
- kubernetes运行应用1之Deployment
run 或create deployment 部署一个应用 kubernetes 部署 nginx ,使用 kubectl get deployment 时出现 No resources found ...
- kubernetes运行应用2之DaemonSet详解
kubernetes运行应用1之Deployment详解 查看daemonset 如下,k8s自身的 DaemonSet kube-flannel-ds和kube-proxy分别负责在每个结点上运 ...
- 在kubernetes运行一个容器案例
1. 检查kubernetes 组件是否正常运行. [root@c720120 ~]# kubectl get cs NAME STATUS MESSAGE ...
- apache flink kubernetes 运行试用
类似docker-compose 运行模式,使用的是deploy 的模式 deploy yaml 文件 deploy-k8s-yaml apiVersion: extensions/v1beta1 k ...
- 通过Gearman实现MySQL到Redis的数据同步
对于变化频率非常快的数据来说,如果还选择传统的静态缓存方式(Memocached.File System等)展示数据,可能在缓存的存取上会有很大的开销,并不能很好的满足需要,而Redis这样基于内存的 ...
- php安装gearman扩展实现异步分步式任务
参考: 1.小喵爱你的博客 2.PHP Manual 依赖 1.gcc44 2.boost >=1.39 3.libevent 4.php5.3+ 5.update ld.so.conf 安装依 ...
- Calico在Kubernetes中的搭建
一,需求 Kubernetes官方推荐的是Flannel,但是Flannel是一个overlay的网络,对性能会有一定的影响.Calico恰好能解决一下overlay网络的不足. Calico在Kub ...
- 分布式计算框架Gearman原理详解
什么是Gearman? Gearman提供了一个通用的应用程序框架,用于将工作转移到更适合于工作的其他机器或流程.它允许你并行工作,负载平衡处理,并在语言间调用函数.它可用于从高可用性网站到传输数据库 ...
- Kubernetes — 我的第一个容器化应用
而在这篇文章中,我们就来扮演一个应用开发者的角色,使用这个 Kubernetes 集群发布第一个容器化应用. 在开始实践之前,我先给你讲解一下 Kubernetes 里面与开发者关系最密切的几个概念. ...
随机推荐
- DevExpress WinForms v18.2新版亮点(三)
行业领先的.NET界面控件2018年第二次重大更新——DevExpress v18.2日前正式发布,本站将以连载的形式为大家介绍各版本新增内容.本文将介绍了DevExpress WinForms v1 ...
- 使用MyEclipse开发Java EE应用:用XDoclet创建EJB 2 Session Bean项目(三)
MyEclipse限时秒杀!活动火热开启中>> [MyEclipse最新版下载] 三.配置XDoclet支持的项目 默认情况下,MyEclipse EJB项目未配置使用XDoclet功能. ...
- HTML5中input[type='date']自定义样式
HTML5提供了日历控件功能,缩减了开发时间,但有时它的样式确实不如人意,我们可以根据下面的代码自行修改. 建议:复制下面的代码段,单独建立一个css文件,方便我们修改. /* 修改日历控件类型 */ ...
- android-DNS服务找不到
1.重启eclipse 2.重新建立AVD 3.在建立AVD时sd卡数值不要填
- position:sticky粘性布局
新的布局方式,专门用于 tab栏悬浮效果: 当tab栏在可视区域时,正常滚动, tab栏不再可视区域时,悬浮置顶. position:-webkit-sticky; position:sticky; ...
- shell脚本实例-for实现批量主机的探测
#!/usr/bin/bash >ip.txt for i in {2..254} do { ip=192.168.234.$i ping -c1 -W1 $ip &>/dev/n ...
- php 正则概述
修饰符 s 模式中的点号元字符匹配所有字符 非打印字符 字符 含义 \cx 匹配由x指明的控制字符.例如, \cM 匹配一个 Control-M 或回车符.x 的值必须为 A-Z 或 a-z ...
- golang并发ping主机
利用了golang对高并发的良好支持,同目录下将ip每行一个写入pinglist.txt文件即可 其实这个功能用linux一条命令就能搞定: cat pinglist.txt | xargs -P 1 ...
- HDU 6063 17多校3 RXD and math(暴力打表题)
Problem Description RXD is a good mathematician.One day he wants to calculate: ∑i=1nkμ2(i)×⌊nki−−−√⌋ ...
- Spring Boot 揭秘与实战(四) 配置文件篇 - 有哪些很棒的特性
文章目录 1. 使用属性文件2. YAML文件 1.1. 自定义属性 1.2. 参数引用 1.3. 随机数属性 1.4. application-{profile}.properties参数加载 3. ...