![Kubernetes+Docker+Istio 容器云实践(三)](https://static001.infoq.cn/resource/image/c7/08/c7bcd21f2d8103bff4532343ce1b6a08.jpg?x-oss-process=image/crop,w_1239,h_696/resize,w_726,h_408)
##接上文
五、Kplcloud platform
5.1 开普勒云平台
开普勒云平台是一个轻量级的 PaaS 平台。
为微服务化的项目提供一个可控的管理平台。
实现每个服务独立部署、维护、扩展。
简化流程,不再需要繁琐的申请流程,最大限度的自动化处理。
实现微服务的快速发布、独立监控、配置。
实现对微服务项目的零侵入式的服务发现、服务网关、链路追踪等功能。
提供配置中心,统一管理配置。
研发、产品、测试、运维甚至是老板都可以自己发布应用。
5.2 在开普勒平台部署服务
为了降低学习成本及部署难度,在开普勒平台上部署应用很简单,只需要增加一个 Dockerfile 就好了。
Dockerfile 参考:
![](http://college.creditease.cn/resources/upload/image/20191016/1571209472797023115.jpeg)
以上是普通模式,Jenkins 代码 Build 及 Docker build。
![](http://college.creditease.cn/resources/upload/image/20191016/1571209521131092825.jpeg)
这是一种相对自由的部署方式,可以根据自己的需求进行定制,当然有学习成本。
5.2.1 为什么不自动生成 Dockerfile 呢?
其实完全可以做到自动生成 Dockerfile,但每个服务的要求可能不一样,有些需要增加文件、有些在 Build 时需要增加参数等等。我们不能要求所有的项目都是一样的,这会阻碍技术的发展。所以退而求其次,我们给出模版,研发根据自己的需求调整。
5.3 工具整合
开普勒云平台整合了 gitlab,Jenkins,repo,k8s,istio,promtheus,email,WeChat 等API。
实现对服务的整个生命周期的管理。
提供服务管理、创建、发布、版本、监控、报警、日志已及一些周边附加功能,消息中心、配置中心、还能登陆到容器,服务下线等等。
可对服务进行一健调整服务模式、服务类型、一键扩容伸缩,回滚服务API管理以及存储的管理等操作。
5.4 发布流程
![](http://college.creditease.cn/resources/upload/image/20191016/1571209533061062658.jpeg)
用户把自己的 Dockerfile 跟代码提交到 Gitlab,然后在开普勒云平台填写一些参数创建自己的应用。
应用创建完后会在 Jenkins 创建一个 Job,把代码拉取下来并执行 Docker build(如果没有选择多阶构建会先执行 go build 或 mvn),再把打包好的 Docker image 推送到镜像仓库,最后回调平台 API 或调用 k8s 通知拉取最新的版本。
用户只需要在开普勒云平台上管理好自己的应用就可以,其他的全部自动化处理。
5.5 从创建一个服务开始
我们从创建一个服务开始介绍平台。
平台主界面:
![](http://college.creditease.cn/resources/upload/image/20191016/1571209547841058411.jpeg)
点击“创建服务”后进入创建页面。
填写基本信息:
![](http://college.creditease.cn/resources/upload/image/20191016/1571209559822027655.jpeg)
填写详细信息:
![](http://college.creditease.cn/resources/upload/image/20191016/1571209569872093908.jpeg)
基本信息以 Golang 为例,当选择其他语言时所需填写的参数会略有不同。
如果选择了对外提供服务的话,会进入第三步,第三步是填写路由规则,如没有特殊需求直接默认提交就行了。
5.5.1 服务详情
![](http://college.creditease.cn/resources/upload/image/20191016/1571209583732036810.jpeg)
![](http://college.creditease.cn/resources/upload/image/20191016/1571209600142060832.jpeg)
Build 升级应用版本:
![](http://college.creditease.cn/resources/upload/image/20191016/1571209619222016669.jpeg)
调用服务模式,可以在普通跟服务网格之间调整。
![](http://college.creditease.cn/resources/upload/image/20191016/1571209631902005060.jpeg)
服务是否提供对外服务的能力:
![](http://college.creditease.cn/resources/upload/image/20191016/1571209646812049263.jpeg)
扩容调整 CPU、内存:
![](http://college.creditease.cn/resources/upload/image/20191016/1571209658173009693.jpeg)
调整启动的 Pod 数量:
![](http://college.creditease.cn/resources/upload/image/20191016/1571209672292086340.jpeg)
网页版本的终端:
![](http://college.creditease.cn/resources/upload/image/20191016/1571209755055004594.jpeg)
5.5.2 定时任务
![](http://college.creditease.cn/resources/upload/image/20191016/1571209765245065095.jpeg)
5.5.3 持久化存储
![](http://college.creditease.cn/resources/upload/image/20191016/1571209789235021519.jpeg)
![](http://college.creditease.cn/resources/upload/image/20191016/1571209805425071729.jpeg)
![](http://college.creditease.cn/resources/upload/image/20191016/1571209823528085917.jpeg)
管理员创建 StorageClass 跟 PersistentVolumeClaim,用户只需要在自己服务选择相关的 PVC 进行绑写就行了。
存储使用的是 NFS。
5.5.4 Tracing
![](http://college.creditease.cn/resources/upload/image/20191016/1571209840209077637.jpeg)
![](http://college.creditease.cn/resources/upload/image/20191016/1571209863439066168.jpeg)
5.5.5 Consul
![](http://college.creditease.cn/resources/upload/image/20191016/1571209878349082409.jpeg)
Consul 当作配置中心来使用,并且我们提供 Golang 的客户端。
它会自动同步 consul 的目录配置存在内存,获取配置只需要直接从内存拿就行了。
5.5.6 Repository
![](http://college.creditease.cn/resources/upload/image/20191016/1571209899259008249.jpeg)
Document: https://docs.nsini.com
本文转载自宜信技术学院公众号。
原文链接:http://college.creditease.cn/detail/309
评论