kubernetes 创建 charts 的示例
2018-06-10 tech docker kubernetes 11 mins 9 图 3904 字
本文记录将 eclipse 的物联网开源应用 kapua 容器化为 kubernetes charts 的要点。 项目demo也在我的github上面:kelvinblood/kapua-kubernetes
一 docker-compose
首先我们在官网上 https://www.eclipse.org/kapua/getting-started.php 看到 kapua 的启动命令:
$ docker run -td --name kapua-sql -p 8181:8181 -p 3306:3306 kapua/kapua-sql:0.3.2
$ docker run -td --name kapua-elasticsearch -p 9200:9200 -p 9300:9300 elasticsearch:5.4.0 -Ecluster.name=kapua-datastore -Ediscovery.type=single-node -Etransport.host=_site_ -Etransport.ping_schedule=-1 -Etransport.tcp.connect_timeout=30s
$ docker run -td --name kapua-broker --link kapua-sql:db --link kapua-elasticsearch:es --env commons.db.schema.update=true -p 1883:1883 -p 61614:61614 kapua/kapua-broker:0.3.2
$ docker run -td --name kapua-console --link kapua-sql:db --link kapua-broker:broker --link kapua-elasticsearch:es --env commons.db.schema.update=true -p 8080:8080 kapua/kapua-console:0.3.2
$ docker run -td --name kapua-api --link kapua-sql:db --link kapua-broker:broker --link kapua-elasticsearch:es --env commons.db.schema.update=true -p 8081:8080 kapua/kapua-api:0.3.2
在这里可以看到 kapua 一共分成五个组件:
- sql
- es
- broker
- console
- api
我们先将这几个命令行组合起了成为一个 docker-compose 文件,便于管理:
version: '2'
services:
kapua-sql:
image: iot/kapua-sql:0.3.2
restart: always
kapua-elasticsearch:
image: elasticsearch:5.4.0
restart: always
command:
- -Ecluster.name=kapua-datastore
- -Ediscovery.type=single-node
- -Etransport.host=_site_
- -Etransport.ping_schedule=-1
- -Etransport.tcp.connect_timeout=30s
kapua-broker:
image: iot/kapua-broker:0.3.2
restart: always
links:
- kapua-sql:db
- kapua-elasticsearch:es
environment:
- commons.db.schema.update=true
- DB_PORT_3306_TCP_PORT=3306
ports:
- "1883:1883"
- "61614:61614"
kapua-console:
image: iot/kapua-console:0.3.2
restart: always
links:
- kapua-sql:db
- kapua-elasticsearch:es
- kapua-broker:broker
environment:
- commons.db.schema.update=true
ports:
- "8080:8080"
kapua-api:
image: iot/kapua-api:0.3.2
restart: always
links:
- kapua-sql:db
- kapua-elasticsearch:es
- kapua-broker:broker
environment:
- commons.db.schema.update=true
ports:
- "8080:8080"
有了这个文件,在单机上我们可以直接使用 docker-compose up -d
部署应用。