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 里面与开发者关系最密切的几个概念. ...
随机推荐
- 数据库-->表操作
一.MySQL存储引擎 # InnoDB MySql 5.6 版本默认的存储引擎.InnoDB 是一个事务安全的存储引擎,它具备提交.回滚以及崩溃恢复的功能以保护用户数据.InnoDB 的行级别锁定以 ...
- Cracking The Coding Interview5.1
//You are given two 32-bit numbers, N and M, and two bit positions, i and j. Write a method to set a ...
- html回顾随笔1(*^__^*)
1.text—align 与float 区别: float是针对div一类的容器来说.text-align是对于容器里的文本或者图片来说靠左或靠右水平对齐(vlign 竖直方向) 要注意以下几点: ...
- sptring boot 修改默认Banner
一.自定义banner 启动Spring Boot项目时,在控制台或日志中会默认显示一个Banner,如图所示: 在我们的项目中更希望使用自己的Banner,这样看起来更帅写,但是这对于程序员来说并不 ...
- LINQ(数据库操作增、删、改及并发管理)
本文将演示如何通过 Entity Framework 数据模型创建.修改.删除数据库记录. Customer cust = new Customer() { CustomerID = "LA ...
- 原生js封装tap
// tap事件封装function tap(obj, callBack){ if(typeof obj != 'object') return; // 变量 var startTime = 0; / ...
- [MyBatis] MyBatis理论入门
什么是MyBatis iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAOs) 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射. MyB ...
- MySq:权限表
权限表 一.介绍 ①MySQL服务器通过权限表来控制用户对数据库的访问,权限表存放在MySQL数据库中,由mysql_install_db脚本初始化.②存储账户权限信息表主要有:user.db.hos ...
- IDEA PYCHARM USAGE NOTE
初次安装使用PyCharm,在新建.py文件时会发现文件头并没有什么信息,因此,使用模板会比较方便. 方法如下: 1.打开PyCharm,选择File--Settings 2.依次选择Editor-- ...
- ChainingHash
public class ChainingHash<Key,Value>{ private int N; private int M; private doublylinked<Ke ...