OCCS简介
OCCS全称为Oracle Container Cloud Service,为用户提供一个功能完备的图形化的Docker容器云服务,其主要功能点有:
Docker引擎 支持Cloud Native程序的部署与运行,并提供UI设置服务参数以及直接可以通过YAML方式定义服务发布参数
一键部署 提供应用堆栈例子,并提供图形化服务编排界面
注册集成 可以连接到公有云如Docker Hub或者自己搭建的私有Registry
建立持续集成/部署流水线 可以通过Web Hooks与其他系统集成,同时也开放REST API供其他系统直接调用
服务发现–内置提供多容器、跨主机部署,并可以通过图形化的方式进行操作和管控
Spring Cloud示例工程简介
工程简要说明如下:
Config | 配置管理服务器模块 |
Auth-service | Oauth服务模块 |
Gateway | 路由服务模块 |
Registry | 服务发现模块 |
Monitoring | 服务监控模块(HystrixDashboard) |
Zipkin-server | Zipkin监控服务模块 |
Account-service | 业务服务模块 |
Cottonquotas-service | |
Declaration-server | |
Empty-service | |
Goodsinfo-service | |
Importgoodsfreetax-service | |
License-service | |
Manifestinfo-service | |
Notification-service | 通知模块 |
工程为一个比较典型的Spring Cloud程序架构,包括配置管理,服务发现,智能路由,熔断,OAuth服务器,以及zipkin服务器组件
OCCS部署工程介绍
Service介绍
OCCS中Service是单独定义的一个某个服务,默认自带了redis,tomcat,mysql,postgre SQL等多种服务模板,可以直接通过docker原生命令docker run直接启动相关服务。
但是服务运行时,需要设置对外开放的接口,网络,环境变量等信息,通过docker run写命令行的方式比较复杂,并且容易出错,OCCS提供了一种更为方便的设置方式,通过图形化的方式可以直接将运行参数进行设置,避免了在写命令时因为疏忽敲错,而无法启动服务的情况。点击详细设置,如下所示:
可以从图中看到,我们只需要通过图形化的方式,将参数一一添加即可,这样避免了通过手动写命令行的方式出现的人为错误,同时也避免了因为编写docker compose YAML文件时缩进问题导致的格式非法,而无法正常启动服务,大大简化了运维人员的工作难度门槛。
举例个例子
我们定义一个服务名称为auth-service,然后需要使用cncustompoc-auth-service的最新的镜像,并且对外暴露的端口为5000,则我们在设置界面中image部分写入我们需要加载的镜像cncustompoc-auth-service:latest.,然后在available options选中Ports复选框,然后点击ADD,设置上5000即可。
Stack介绍
系统服务启动一般都有一定编排顺序,比如启动workpress服务,但是前提需要先启动相关对应的数据库服务模块。在这种情况下OCCS的servcie无法满足这种编排要求,这时就需要使用Stack来实现复杂的服务编排功能。
OCCS的服务编排可以通过图形化的方式进行编排,可以从available services中选中相应的服务放在服务编排画板中,并且直接通过连线的方式建立之间的关联。但是对于一些复杂的编排,比如需要设置环境变量,并且之间模块特别多,通过画图的方式比较繁琐的时候,可以直接点击高级设置进入“Advanced(YAML) Stack Editor”的方式直接写YAML的方式对服务进行服务编排。
部署示例工程步骤
部署时首先需要选择我们部署的工作主机
这里我们选择运行环境部署在default上,正式使用时也可以在创建云服务的时候根据我们的需要分出开发,测试,预上线系统以及生产系统,并按照部署要求将服务程序部署至不同的云环境中,OCCS提供将相关服务程序在不同工作环境一键迁移的功能。
对于Spring Cloud微服务工程,通常需要很多服务一起协同工作,并且对于服务要有一定编排顺序,比如先要启动配置服务器开放服务供其他模块取得运行配置,然后要有服务发现模块启动供其他业务服务启动时注册,同时在业务服务运行前需要启动Auth服务器,为服务模块之间安全通讯进行安全认证的功能。这里整个工程的服务编排设定会比较复杂,并且需要设置各种不同的上下文变量以及环境变量,所以推荐先用图形的方式画出关联,然后再点击高级编辑直接使用定义YAML的方式对细节进行修改,这样一方面可以在尽量避免手工错误的情况下,又能满足复杂服务编排的需要。
点击高级设置
点击done,然后点击deploy后,系统自动开始部署运行
服务的详细信息
按需变更服务数量
对于其中一些业务模块可能会在业务运行时压力比较大,这里可以在OCCS中直接点击Scaling按钮,修改对应服务模块的运行数量,如此处修改license模块的数量
点击确定后,license服务模块的数量自动变为2个。
一个基于Spring Cloud的应用部署工作基本就是这些,我们可以看到大部分的配置工作以及维护工作都是图形化的,但是同时也支持脚本编码的方式执行,对于开发人员和运维人员门槛非常低,非常容易实现云软件的快速部署。后续还会有一些更多高阶的功能,以及开发的一些应用,留到后面和大家一起分享。

作者简介
巨晓兵,甲骨文中国区PaaS专家团队高级顾问,拥有 10 年以上 IT 相关工作经验。目前主要负责甲骨文云平台产品在解决方案中的设计和实施。在加入甲骨文公司前,主要供职于 亚信,Gemalto,负责产品研发和项目实施等工作。具有多年系统架构设计经验,熟悉架构设计的理念与设计方法,且具有多年IOT系统工作经验。
了解更多,敬请关注甲骨文开发者社区......