网易首页 > 网易号 > 正文 申请入驻

Docker-compose 到 Kubernetes 的迁移工具!

0
分享至

在 skippbox,我们开发了 Kompose 这一工具,能够自动把 Docker Compose 应用转换为 Kubernetes 描述文件。利用一个简单的 kompose up命令,就可以在 Kubernetes 集群上启动 Compose 应用。我们非常乐于将其捐献给 Kubernetes Incubator。下面介绍一下这一工具的开发动机和用法。

Docker 给了开发者以巨大的帮助。让每个人都能够从 Docker Registry 启动一个打包好的 Docker 应用。为了对付多容器应用, Docker 开发了 Docker-compose (也就是 Compose)。Compose 借助 yaml 格式的描述文件来定义一个多容器应用,然后就可以用一个简单的 docker-compose up来启动这一应用中的多个容器。然而,Compose 只能够在本地或者 Docker Swarm 集群中运行。

那如果我们需要在 Swarm 之外运行怎么办?比如 Kubernetes?Compose 格式并非为分布式而诞生的。所以,你只能为你选择的容器编排工具重新编写应用描述文件。

我们利用 Kompose,能够简单的完成将应用从 Docker Swarm 到 Kubernetes 的转换过程,这样就为 Docker 用户敞开了 Kubernetes 的大门。

今年夏天,来自红帽的 Tomas Kral 和 Suraj Deshmukh,以及来自 Google 的 Janet Kuo,他们和 Kompose 的主要开发者 Nguyen An-Tu 一起为 Kompose 锦上添花。我们把 Kompose 提交给 Kubernets Incubator,得到了 Kubernetes 社区的支持,现在可以在 Kubernetes Incubator 找到 Kompose。

Kompose 目前支持 Docker-compose v2 格式,最近还加入了持久卷所有权(PVC)、以及多容器 Pod 的支持。除了缺省的 Kubernetes 之外,我们还支持 Openshift 的发布能力。Kompose 现在还出现在了 Fedora 包中,未来也会进入CentOS中去。Kompose 是一个 Golang 应用,可以从 Github 上获取。下面让我们跳过 Build 环节直接进入实例。

Docker 的留言板应用

留言板应用是 Kubernetes 的权威示例。如果要用 Docker Compose 来实现留言板,可以用下面的代码:

version: "2"
services:
redis-master:
image: gcr.io/google_containers/redis:e2e
ports:
- "6379"
redis-slave:
image: gcr.io/google_samples/gb-redisslave:v1
ports:
- "6379"
environment:
- GET_HOSTS_FROM=dns
frontend:
image: gcr.io/google-samples/gb-frontend:v4
ports:
- "80:80"
environment:
- GET_HOSTS_FROM=dns

其中包含了三个服务:

一个 Redis 主节点;
一组能够横向扩展并借助 DNS 找到 Master 的 Redis 从节点;
暴露于 80 端口的 PHP 前端。
这些组合在一起,让用户可以发表留言,并保存在 Redis 集群中。

要启动这个应用:

$ docker-compose -f docker-guestbook.yml up -d
Creating network "examples_default" with the default driver
Creating examples_redis-slave_1
Creating examples_frontend_1
Creating examples_redis-master_1

这就是一个简单的 Docker 用法,下面我肯看看如何在不重写任何东西的情况下,让这些工作在 Kubernetes 上完成。

Kompose 的留言板应用

Kompose 目前有三个主要的命令:up、down 以及 convert。为了行文方便,我们只简单说一下留言吧应用的启动。

跟 docker-compose 类似,我们可以用 kompose up 命令处理 Docker compose 文件,来启动应用:

$ kompose -f ./examples/docker-guestbook.yml up
We are going to create Kubernetes deployment and service for your dockerized application.
If you need more kind of controllers, use 'kompose convert' and 'kubectl create -f' instead.
INFO[0000] Successfully created service: redis-master
INFO[0000] Successfully created service: redis-slave
INFO[0000] Successfully created service: frontend
INFO[0000] Successfully created deployment: redis-master
INFO[0000] Successfully created deployment: redis-slave
INFO[0000] Successfully created deployment: frontend
Application has been deployed to Kubernetes. You can run 'kubectl get deployment,svc' for details.

Kompose 自动把 Docker-compose 文件转为 Kuberntes 对象。缺省情况下,他会为一个 Compose 服务创建一个 Deployment 以及一个服务。另外还能自动检测当前的 Kuberntes 端点,并在上面创建对象。可以通过一系列的选项来创建 Replication Controller、Replica Set 或者 Daemon Set。

就这样完成了自动转换,如果你了解一些 Kubernetes 的话,可以用 kubectl 命令来看看集群上运行的留言板。

$ kubectl get pods,svc,deployments
NAME READY STATUS RESTARTS AGE
frontend-3780173733-0ayyx 1/1 Running 0 1m
redis-master-3028862641-8miqn 1/1 Running 0 1m
redis-slave-3788432149-t3ejp 1/1 Running 0 1m
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
frontend 10.0.0.34 80/TCP 1m
redis-master 10.0.0.219 6379/TCP 1m
redis-slave 10.0.0.84 6379/TCP 1m
NAME DESIRED CURRENT UP-TO-DATE
AVAILABLE AGE
frontend 1 1 1 1 1m
redis-master 1 1 1 1 1m
redis-slave 1 1 1 1 1m

看到了三个服务、三个 Deployment 以及三个 Pod。可以通过 frontend 服务来访问留言板应用。只不过这次的留言板,是从 Docker-Compose 文件启动的。

以上给读者快速的介绍了一下 kompose。还有很多激动人心的特性,例如创建不同类型的资源、创建 Helm Chars,甚至可以使用试验性的 Docker bundle 格式进行输入(Lachlan Evenson 的博客:using a Docker bundle with Kubernetes)。可以在我们的 KubeCon 上的视频 中看到完整的演示。

前往 Kubernetes incubator 获取 Kompose,可以帮助你轻松地把应用从 Docker Compose 迁移为 Kubernetes 集群应用。

  • 原文来自:http://geek.csdn.net/news/detail/131711
  • 本文地址:https://www.linuxprobe.com/docker-compose-kubernetes.html编辑:高军,审核员:逄增宝

本文地址:https://www.linuxprobe.com/docker-compose-kubernetes.html ml

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
一个人身上最了不起的能力:两个字

一个人身上最了不起的能力:两个字

知和大叔
2024-04-25 23:42:00
人住几楼运气更旺?真不是迷信,难怪有钱人都争着买这几层!

人住几楼运气更旺?真不是迷信,难怪有钱人都争着买这几层!

科学发掘
2024-04-26 07:25:08
金龟子王宁住北京8000万3层别墅,亲家公出镜,二人的称呼显陌生

金龟子王宁住北京8000万3层别墅,亲家公出镜,二人的称呼显陌生

阿芒娱乐说
2024-04-27 16:09:19
山姆奶油西瓜上热搜,8块一斤真的贵吗?

山姆奶油西瓜上热搜,8块一斤真的贵吗?

映射生活的身影
2024-04-26 16:25:32
贵州区划调整“拆分毕节,3地划归六盘水,遵义分得2地”的策略分析

贵州区划调整“拆分毕节,3地划归六盘水,遵义分得2地”的策略分析

娱乐圈的笔娱君
2024-04-27 17:32:24
浙江一墓地每到周末就传出尖锐鸣叫声!什么情况?

浙江一墓地每到周末就传出尖锐鸣叫声!什么情况?

都市快报橙柿互动
2024-04-27 17:12:13
黄景瑜、王一博体型差引争议,身高问题成焦点!

黄景瑜、王一博体型差引争议,身高问题成焦点!

一剑化三亲
2024-04-27 08:22:43
哈马斯高官:可以放下武器,如能按照1967年以前的边界建立一个独立的巴勒斯坦国

哈马斯高官:可以放下武器,如能按照1967年以前的边界建立一个独立的巴勒斯坦国

红星新闻
2024-04-26 14:53:20
单亲妈妈为支持都美竹转账19万余元欲全部追回,都美竹否认“卖惨”骗钱 聊天记录曝光

单亲妈妈为支持都美竹转账19万余元欲全部追回,都美竹否认“卖惨”骗钱 聊天记录曝光

红星新闻
2024-04-26 12:23:48
那些年,西方一起扔过的回旋镖:中国你又赢了,但代价是什么呢?

那些年,西方一起扔过的回旋镖:中国你又赢了,但代价是什么呢?

孤烟暮蝉
2024-04-26 18:09:11
“瞒不住了”!原来他就是韩红的父亲,难怪30多年来无人敢招惹她

“瞒不住了”!原来他就是韩红的父亲,难怪30多年来无人敢招惹她

娱乐的小灶
2024-04-24 15:24:24
特斯拉汽车国区 EAP 订阅制上线,每月 699 元/每季 1399 元

特斯拉汽车国区 EAP 订阅制上线,每月 699 元/每季 1399 元

IT之家
2024-04-27 09:03:22
“012642”,丈夫→妻子→儿子,共用一个警号!

“012642”,丈夫→妻子→儿子,共用一个警号!

北青网-北京青年报
2024-04-27 16:41:06
德国防长:俄罗斯武器已堆满仓库!美国利用援乌拨款提高军工产能

德国防长:俄罗斯武器已堆满仓库!美国利用援乌拨款提高军工产能

鹰眼Defence
2024-04-26 18:30:26
运营商财经网康钊:中国刚想全面使用免费的芯片技术RISC-V

运营商财经网康钊:中国刚想全面使用免费的芯片技术RISC-V

运营商财经网
2024-04-26 08:02:08
船记:为小卡感到难过 他强迫自己打季后赛但身体不配合啊

船记:为小卡感到难过 他强迫自己打季后赛但身体不配合啊

直播吧
2024-04-27 11:54:23
“靖康之耻”有多虐心?皇帝生母每日接客超百人,公主肛裂而死

“靖康之耻”有多虐心?皇帝生母每日接客超百人,公主肛裂而死

阿胡
2024-03-28 15:30:23
关于批准《国务院关于工人退休、退职的暂行办法》的决议

关于批准《国务院关于工人退休、退职的暂行办法》的决议

环球通信
2024-04-27 00:12:04
爆笑哈哈哈!那些笑死人的买家秀!这衣服真是买不了一点!

爆笑哈哈哈!那些笑死人的买家秀!这衣服真是买不了一点!

王二哥老搞笑
2024-04-26 11:15:49
谢晖:球员在比赛尾声仍然无法放下包袱,我觉得这是我的责任

谢晖:球员在比赛尾声仍然无法放下包袱,我觉得这是我的责任

懂球帝
2024-04-27 00:02:10
2024-04-27 19:12:49
孙有匪
孙有匪
科技
1595文章数 2009关注度
往期回顾 全部

科技要闻

特斯拉这款车型刚上市几天,就上调价格

头条要闻

去世半年前 90岁老太被摄影师外孙女爆改成"19岁少女"

头条要闻

去世半年前 90岁老太被摄影师外孙女爆改成"19岁少女"

体育要闻

时代要落幕了?詹姆斯杜兰特陷0-3绝境

娱乐要闻

金靖回应不官宣恋情结婚的原因

财经要闻

北京房价回到2016年

汽车要闻

5月上市/智能化丰富 海狮 07EV正式到店

态度原创

教育
旅游
艺术
家居
亲子

教育要闻

闹大了!公务员聘用全是有留英背景的毕业生,网友纷纷质疑合理性

旅游要闻

散装河北,冀北、冀东、冀中、冀南如何划分?

艺术要闻

画廊周北京迎来第八年, “漂留” 主题聚集 30 余家艺术机构与 40 场展览

家居要闻

光影之间 空间暖意打造生活律动

亲子要闻

小女孩过生日哭泣妈妈快速走过生日流程“乐不乐我不知道 主打一个快’

无障碍浏览 进入关怀版