检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
"k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) // HwfkaSpec defines the desired
Next: implement your new API and generate the manifests (e.g. CRDs,CRs) with: make manifests 通过kubebuilder create api命令,可以发现在重复下载controller-gen的
# 基于 openAPIV3Schema 的校验规则 validation: openAPIV3Schema: description: Memcached is the Schema for the Memcacheds API properties:
基础控件 OSC console依据crd.yaml文件可以自动生成Operator的创建表单。crd.yaml文件中的properties(openAPIV3Schema.properties.spec.properties)对象会自动映射到对应的UI组件。 目前提供的基础类型
yaml文件中增加引用监控能力的配置。 apiVersion: osc.io/v1beta1 kind: CustomServiceDefinition metadata: name: helmrelease-csd spec: CRDRef: apiVersion: apiextensions
生成代码和资源描述文件 修改api/v1/memcached_types.go或controller中的markers之后,需要重新生成代码和资源描述文件。 # 生成 api/v1/zz_generated.deepcopy.go make generate # 生成 config/crd/bases
OpenAPI校验 在定义CRD时,需同时定义基于OpenAPI的校验规则,其中包含创建CR时的字段及取值范围,以便校验用户创建的CR中字段值的合法性。使用Kubebuilder,可通过在API中定义Marker,自动生成spec.validation.openAPIV3Schema。
schema: openAPIV3Schema: description: Hwfka is the Schema for the hwfkas API properties: apiVersion:
"k8s.io/api/apps/v1" corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/types"
yaml文件中增加引用日志能力的配置。 apiVersion: osc.io/v1beta1 kind: CustomServiceDefinition metadata: name: helmrelease-csd spec: CRDRef: apiVersion: apiextensions
CSD本身属于CustomServiceDefinition类型的资源,其符合k8s资源的通用定义方法。其apiVersion和kind是固定的,metadata.name可自行配置: apiVersion: osc.io/v1beta1 kind: CustomServiceDefinition
如何解决系统插件或服务Operator一直处于安装中 使用场景 Operator-Chef在部署服务插件的过程中会访问Kubernetes提供的相关接口,例如:Create、Update等,在执行各个操作接口时,其超时时间为10秒,如果超过10秒可能会因为插件一直不能够正常部署造成一直处于安装中的状态。其根本原因是因为网络不稳定导致
downloading k8s.io/component-base v0.22.1 go: downloading k8s.io/apiextensions-apiserver v0.22.1 Update dependencies: go mod tidy go: downloading
服务接入 本章节主要介绍如何将一个现有的服务包接入OSC平台,并可以使用OSC附加功能,有效增加自身服务的运维能力。如开发者需要从头开始编写程序制作应用,可以参考附录如何从零开始开发Operator。 OSC平台支持OSC服务规范,开源Helm或Operator-Framewor
OSC服务平台支持部署上述两种开源的服务包,但是如需同时使用OSC对外提供的运维和表单控件能力,则需要将部署包转换为符合OSC规范格式的服务包,工具的转换使用可以参考章节oscctl工具使用。 Operator规范 Helm规范 父主题: OSC服务规范
约束与说明 OSC的服务规范兼容Helm和Operator,提供商无需修改业务代码,只需要打包成满足OSC规范的服务包,就可以发布到OSC上。 想使用OSC提供的高级能力,比如监控、日志等运维能力,在Helm或者Operator服务包中添加配置文件,对接平台运维能力,然后再按照制作流程的指导制作服务包。
本规范主要面向对象为初次开发的服务以及想要使用OSC平台提供的附加能力进行规范转换的服务。 如果开发者已有或仅想使用Helm/Operator-Framework规范的服务,可以直接参考章节开源服务包规范。 OSC服务包介绍 元数据Metadata 资源集合Manifests 第三方目录Raw 生命周期Lifecycle
服务发布 前置说明 创建服务 新增版本 提交验证 注册资产 发布服务 上架服务新版本
服务包制作 以etcd operator 0.9.4版本和etcd helm 6.7.0版本为例,介绍如何制作服务包。 前置检查 约束与说明 制作流程
服务插件 服务插件误删后应该如何处理? 服务包配置了日志相关yaml,但是页面上不显示日志可能是什么原因? 如何清理集群中OSC冗余插件数据 如何解决系统插件或服务Operator一直处于安装中