检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
镜像时,都可能会重复下载使用controller-gen二进制文件,建议提前安装controller-gen二进制,并修改Makefile中有关这个命令为使用系统命令,而非每次通过go get下载并编译后使用。 该命令主要执行以下动作: 在PROJECT文件中增加API资源声明。
动Kubernetes源码的情况下,通过一个或多个Operator来扩展集群能力,遵照自身业务需求、场景等灵活开发,节省运维成本。流程包括安装Kubernetes、构建Operator和实现Operator。 创建Operator 本章节以应用名称为hwfka、取项目名称为hwf
服务转换成可以部署在OSC平台使用的服务。OSC为客户提供开箱即用的云原生服务,可以通过OSC部署到任意基础设施,包括云容器引擎、华为云UCS等场景。开发者可以遵从OSC自身的服务规范,或者直接使用开源Helm、Operator-Framework规范进行开发部署使用。 图1 OSC服务规范场景下开发整体流程图
服务发布 前置说明 创建服务 新增版本 提交验证 注册资产 发布服务 上架服务新版本
服务包制作 以etcd operator 0.9.4版本和etcd helm 6.7.0版本为例,介绍如何制作服务包。 前置检查 约束与说明 制作流程
图解云原生服务中心
OSC服务规范 OSC服务规范介绍 服务包规范 开源服务包规范
资源集合Manifests 资源集合 自定义资源CRD 自定义服务CSD vendor目录 父主题: 服务包规范
如何从零开始开发Operator 开发Operator 制作镜像 制作服务包 父主题: 附录
创建controllers/constants.go文件,用来统一管理常量。 package controllers const ( // 配置 label LabelProvider = "osctest.huawei.com/service_provider" LabelInstance
概述 服务使用者是搭建企业级应用的用户,在OSC服务中心选择所需服务和规格,进行服务订阅、服务实例部署,从而完成企业级应用的搭建。同时,还可使用服务实例运维视图辅助应用的监控运维。本文档介绍如何订阅服务、创建服务实例、服务运维操作及管理服务插件。 图1 商品服务生命周期 图2 私有服务生命周期
放置镜像到images目录 images目录下存放服务部署时需要的所有镜像。以etcd为例,etcd服务包含x86和ARM两种CPU架构的镜像,分别叫etcd-3.5.0-x86_64.tar,etcd-3.5.0-aarch64.tar,那么目录结构为: etcd/ |
服务规范:Helm服务规范和Operator-Framework服务规范。 OSC服务平台支持部署上述两种开源的服务包,但是如需同时使用OSC对外提供的运维和表单控件能力,则需要将部署包转换为符合OSC规范格式的服务包,工具的转换使用可以参考章节oscctl工具使用。 Operator规范
约束与限制 集群限制 使用OSC部署服务前,您需要创建或已有一个可用的CCE集群,并确保集群版本在v1.15及以上。 上传私有服务限制 每次最多只能添加5个服务包。 服务包大小不能超过4MB。 支持三种服务包打包压缩格式 Operator服务:支持遵循OpenShift包格式,以
图1 系统插件 OSC提供的运维能力依赖一些能力插件,这些插件无需用户安装,当有声明了相关运维能力的服务部署时,容器集群中如果没有被依赖的插件,OSC将会自动安装。OSC系统插件是通过CCE插件来安装部署和管理。插件状态依赖CCE的插件实例状态。 如果您需要修改或者升级OSC插
升级服务实例 服务实例部署时会在容器集群内部创建一个服务插件,由服务插件来管理服务实例,服务插件可以管理多个版本的实例。 如果存在新的服务实例版本,则可以在实例详情界面,单击“升级”按钮,选择所需要升级到的版本。如果升级失败则可以单击“回退”按钮,回退到升级前的版本。 注意事项
附录 如何从零开始开发Operator OSC扩展说明 Operator代码示例 安装Controller
服务包镜像名称约束 镜像目录存放部署目录中需要使用到的镜像文件,镜像文件以tar格式存储。镜像文件命名规范只允许包含大小写字母、数字、下划线、中划线及点,且不能以下划线、中划线及点结尾。 images目录下存放服务运行所需的容器镜像,根据服务实际情况确定支持单CPU架构还是多CPU架构:
然后启动Kafka三个节点实例(即broker实例)进行服务的提供,同时启动一个KafkaManager用作可视化管理。整体结构如下: 安装Kubebuilder 构建Operator 实现Operator 父主题: 如何从零开始开发Operator
raw 存放兼容的第三方文件,如Helm/Operator-Framework。 否 生命周期文件 lifecycle.yaml 存放服务包的安装部署、升级等生命周期相关信息。 是 服务包约束 命名规则:只允许包含大小写字母、数字、下划线、中划线及点,且不能以下划线、中划线及点结尾。{