
##接上文
五、Kplcloud platform
5.1 开普勒云平台
开普勒云平台是一个轻量级的 PaaS 平台。
为微服务化的项目提供一个可控的管理平台。
实现每个服务独立部署、维护、扩展。
简化流程,不再需要繁琐的申请流程,最大限度的自动化处理。
实现微服务的快速发布、独立监控、配置。
实现对微服务项目的零侵入式的服务发现、服务网关、链路追踪等功能。
提供配置中心,统一管理配置。
研发、产品、测试、运维甚至是老板都可以自己发布应用。
5.2 在开普勒平台部署服务
为了降低学习成本及部署难度,在开普勒平台上部署应用很简单,只需要增加一个 Dockerfile 就好了。
Dockerfile 参考:

以上是普通模式,Jenkins 代码 Build 及 Docker build。

这是一种相对自由的部署方式,可以根据自己的需求进行定制,当然有学习成本。
5.2.1 为什么不自动生成 Dockerfile 呢?
其实完全可以做到自动生成 Dockerfile,但每个服务的要求可能不一样,有些需要增加文件、有些在 Build 时需要增加参数等等。我们不能要求所有的项目都是一样的,这会阻碍技术的发展。所以退而求其次,我们给出模版,研发根据自己的需求调整。
5.3 工具整合
开普勒云平台整合了 gitlab,Jenkins,repo,k8s,istio,promtheus,email,WeChat 等API。
实现对服务的整个生命周期的管理。
提供服务管理、创建、发布、版本、监控、报警、日志已及一些周边附加功能,消息中心、配置中心、还能登陆到容器,服务下线等等。
可对服务进行一健调整服务模式、服务类型、一键扩容伸缩,回滚服务API管理以及存储的管理等操作。
5.4 发布流程

用户把自己的 Dockerfile 跟代码提交到 Gitlab,然后在开普勒云平台填写一些参数创建自己的应用。
应用创建完后会在 Jenkins 创建一个 Job,把代码拉取下来并执行 Docker build(如果没有选择多阶构建会先执行 go build 或 mvn),再把打包好的 Docker image 推送到镜像仓库,最后回调平台 API 或调用 k8s 通知拉取最新的版本。
用户只需要在开普勒云平台上管理好自己的应用就可以,其他的全部自动化处理。
5.5 从创建一个服务开始
我们从创建一个服务开始介绍平台。
平台主界面:

点击“创建服务”后进入创建页面。
填写基本信息:

填写详细信息:

基本信息以 Golang 为例,当选择其他语言时所需填写的参数会略有不同。
如果选择了对外提供服务的话,会进入第三步,第三步是填写路由规则,如没有特殊需求直接默认提交就行了。
5.5.1 服务详情


Build 升级应用版本:

调用服务模式,可以在普通跟服务网格之间调整。

服务是否提供对外服务的能力:

扩容调整 CPU、内存:

调整启动的 Pod 数量:

网页版本的终端:

5.5.2 定时任务

5.5.3 持久化存储



管理员创建 StorageClass 跟 PersistentVolumeClaim,用户只需要在自己服务选择相关的 PVC 进行绑写就行了。
存储使用的是 NFS。
5.5.4 Tracing


5.5.5 Consul

Consul 当作配置中心来使用,并且我们提供 Golang 的客户端。
它会自动同步 consul 的目录配置存在内存,获取配置只需要直接从内存拿就行了。
5.5.6 Repository

Document: https://docs.nsini.com
本文转载自宜信技术学院公众号。
原文链接:http://college.creditease.cn/detail/309
评论