检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
服务开发者根据自身需求定制的Kubernetes资源对象。 自定义服务 OSC设计的通过声明式为CRD增强服务能力,包括能力引用,服务依赖,服务访问,交互体验等。 父主题: OSC服务规范
安装Controller 安装 kustomize 基于模板生成YAML文件,下载kustomize二进制压缩包:https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize/v3.8.1/kustomize_v3
yaml文件中,其中Chart.yaml文件中有如下几个必填字段内容: version: 1.0.0 name: example-helm apiVersion: v1 description: A Helm chart for example. maintainers: - name:
生成代码和资源描述文件 修改api/v1/memcached_types.go或controller中的markers之后,需要重新生成代码和资源描述文件。 # 生成 api/v1/zz_generated.deepcopy.go make generate # 生成 config/crd/bases
默认只支持部署平台为CCE,且不限制集群类型。 方式一: CCE: - self UCS: - self - partnercloud - onpremise - multicloud - attachedcluster 方式二: CCE: [self] UCS: [self,partnercloud
the chart ("1.2.3") repository: (optional) The repository URL ("https://example.com/charts") or alias ("@repo-name") condition: (optional)
服务实例日常操作 查看实例信息 查看监控信息 查看服务实例日志 升级服务实例 变更实例规格 修改配置参数(可选) 执行实例运维动作(可选)
查看审计日志 云审计服务支持的OSC操作列表 查询审计事件
约束与说明 OSC的服务规范兼容Helm和Operator,提供商无需修改业务代码,只需要打包成满足OSC规范的服务包,就可以发布到OSC上。 想使用OSC提供的高级能力,比如监控、日志等运维能力,在Helm或者Operator服务包中添加配置文件,对接平台运维能力,然后再按照制作流程的指导制作服务包。
开源服务包规范 OSC服务规范同时支持当前业界使用较为广泛的两种开发服务规范:Helm服务规范和Operator-Framework服务规范。 OSC服务平台支持部署上述两种开源的服务包,但是如需同时使用OSC对外提供的运维和表单控件能力,则需要将部署包转换为符合OSC规范格式的
构建Operator CRD介绍 创建Operator项目 创建API和Controller 父主题: 开发Operator
Operator代码示例 CRD典型格式 Controller实现 挂载存储 创建存储 父主题: 附录
服务发布 前置说明 创建服务 新增版本 提交验证 注册资产 发布服务 上架服务新版本
图解云原生服务中心
OSC服务规范 OSC服务规范介绍 服务包规范 开源服务包规范
资源集合Manifests 资源集合 自定义资源CRD 自定义服务CSD vendor目录 父主题: 服务包规范
服务插件管理 OSC中有服务管理和运维能力两类插件,服务管理插件用来管理服务实例的生命周期,由服务提供商提供,当集群首次部署对应服务实例时,会自动安装对应服务的管理插件。服务运维能力插件由OSC提供,当部署的服务声明了诸如日志、监控等运维能力配置时,集群中如果没有对应的运维能力插件,OSC会自动安装。
制作流程 制作服务包目录 放置镜像到images目录 打包到package目录 替换镜像地址配置 父主题: 服务包制作
服务包规范 本规范主要面向对象为初次开发的服务以及想要使用OSC平台提供的附加能力进行规范转换的服务。 如果开发者已有或仅想使用Helm/Operator-Framework规范的服务,可以直接参考章节开源服务包规范。 OSC服务包介绍 元数据Metadata 资源集合Manifests
Operator规范 Operator包含三类核心文件: 软件包清单:package.yaml 集群服务版本:csv.yaml 自定义资源:crd.yaml # Opeartor结构 {Operator-Package} ├─ xxx.package.yaml