检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Operator代码示例 CRD典型格式 Controller实现 挂载存储 创建存储 父主题: 附录
oscctl工具使用 oscctl是一款用于生成华为云OSC服务包脚手架或者将开源Helm或Operator服务包转换为OSC服务包的命令行工具。 工具安装 下载链接:https://oscctl.obs.cn-east-3.myhuaweicloud.com/oscctl-22
生成代码和资源描述文件 修改api/v1/memcached_types.go或controller中的markers之后,需要重新生成代码和资源描述文件。 # 生成 api/v1/zz_generated.deepcopy.go make generate # 生成 config/crd/bases
具体请参见Kubernetes API Reference。 更多类型的存储可参见云容器引擎CCE:存储管理。 父主题: Operator代码示例
"/usr/share/nginx/html" name: task-pv-storage 父主题: Operator代码示例
/... *代表所有namespace,可以使用指定namespace名称查询特定namespace下的CR。 父主题: Operator代码示例
labels[LabelComponent] = component } return labels } 父主题: Operator代码示例
OSC扩展说明 oscctl工具使用 父主题: 附录
图2 私有服务生命周期 服务发布 OSC提供了服务发布能力,支持服务提供商在OSC管理商品的服务包。服务提供商先在OSC上传服务包,格式校验和漏洞扫描都通过以后,才能正式发布商品。当服务首次发布成功后,后续只需要上传服务新版本,新用户订阅服务时订阅的是最新版本。 服务订阅 服务中心包
实现Operator 定义API 实现Controller 生成代码和资源描述文件 父主题: 开发Operator
附录 如何从零开始开发Operator OSC扩展说明 Operator代码示例 安装Controller
创建服务包模板 通过OSC提供的oscctl工具创建服务包模板,oscctl工具使用详情请参见oscctl工具使用。 使用oscctl工具创建服务包模板。 # 使用oscctl工具,创建服务包 $ oscctl create -o ./hwfka-operator-package
约束与说明 OSC的服务规范兼容Helm和Operator,提供商无需修改业务代码,只需要打包成满足OSC规范的服务包,就可以发布到OSC上。 想使用OSC提供的高级能力,比如监控、日志等运维能力,在Helm或者Operator服务包中添加配置文件,对接平台运维能力,然后再按照制作流程的指导制作服务包。
程中,可以参考: 查询资源:控制器使用controller-runtime库中的Client实现对Kubernetes资源的增查改删,示例代码参见:example_test.go。 创建资源:使用Go语言调用Kubernetes API创建资源,可参考Kubernetes API
商用服务预上架失败,报"缺少必要的服务提供者的联系信息" 使用场景 合作伙伴使用账号进行商品发布,在触发安全扫描功能后,等待一段时间报"初始化失败"错误,鼠标放置上面展示详细错误信息,信息报"缺少必要的服务提供者的联系信息"。 报此错误主要是由于ISV用户上传的商用服务包中缺少相
言都是重复开发工作,高效快速地赋予服务这些能力是开发者面临的一个难题。OSC提供开箱即用的云原生运维能力,支持服务声明式对接,无需修改业务代码。 应用级视图 传统的运维方式应用比较原始,都聚焦在资源层级,没有应用统一视图。OSC在实例详情页面可以查看本实例状态信息、配置信息、日志
+kubebuilder:validation:Maximum=3 详细使用方法参见:CRD Validation。每次修改API定义后,需要执行命令自动重新生成代码和CRD: $ make generate $ make manifests 父主题: 实现Operator
此label要求和用户需要对接日志的工作负载中的label字段完全匹配,从而保证ops应用可以扫描到并进行绑定日志 logPaths 日志路径或文件 string数组 是 容器内日志路径,可填多个,但不允许存在包含关系。 日志内的路径支持目录和文件 目录:扫描此目录下的所有为log,out,trace结尾的日志并对接
init命令默认初始化cluster级的operator,仅支持cluster级的operator管理同级别的CRD。监听多个namespace,main.go修改代码如下: // namespace 列表 namespaces := []string{"foo", "bar"} mgr, err := ctrl
指定部署平台:选择服务可部署的应用平台,支持云容器引擎、华为云UCS应用部署平台。 声明式对接平台运维能力:在服务包中添加运维能力对应的配置文件,无需修改业务代码,就能对接监控、日志、弹性伸缩等运维能力。 服务编排:可指定服务之间的拓扑依赖关系。 兼容社区规范:全面兼容Helm和Operator Framework服务管理规范。